EchoCompass
Standalone EchoCompass captures the binaural stereo audio output of FPS games and derives directional information by analyzing inter-aural level differences during transient attack windows. Gunshots appear as red spikes and footsteps as blue dots on a compass display, distributed across a PC window, ESP32 round LCD (GC9A01 240x240), or a phone browser over LAN.
Direction is computed with pure signal processing — no ML model, no network calls, no game process access. The tool reads only the OS audio output (what the headphones already receive) and converts it into a visual equivalent of the spatial cues a hearing player gets for free. A legacy 7.1 discrete-channel energy-weighted path is also retained for games that output true surround.
Known hard limits: front/back discrimination is not solved (physics boundary for two-channel ILD), simultaneous multi-source events only show one direction, and real-game reflections/reverb cause frequent angle drift. The authors describe it as a validated skeleton — full pipeline works, but real-game accuracy is inconsistent. Intended as an accessibility research starting point, not a finished product.
Godot Steam Audio
Godot A GDExtension that integrates Valve's Steam Audio SDK into Godot 4.4. Provides real-time acoustic simulation including geometric occlusion, sound transmission through surfaces, distance-based attenuation, room reverb via reflections, and spatial ambisonics rendering. Supports dynamic geometry updates.
Currently in alpha with working Linux and Windows builds. Includes basic scene setup nodes and runtime effects processing. Planned features include baked reflection maps for performance optimization and expanded raycasting configuration.
The extension wraps Steam Audio's Apache-licensed SDK, which is used in production titles like Counter-Strike 2 and Half-Life: Alyx. Intended to provide feature parity with official Unity and Unreal plugins. Note: the author has stated they are no longer actively maintaining the project and welcome community forks.
JPL Spatial Application is a Windows desktop demo that exercises the JPL Spatial library's full signal chain: direct sound spatialization via MDAP, ray-traced specular early reflections using the Image Source method panned with VBAP, and late reverberation rendered by a Filter Delay Network with 4-band crossover decay filters. Propagation delay (including Doppler), inverse-law distance attenuation, and air/material absorption are all configurable at runtime.
The GUI (Dear ImGui) exposes a shoebox room model with adjustable dimensions, source/listener positions, surface material absorption coefficients, and RT60 estimates per frequency band. A built-in audio player, spectrogram/waveform preview, loudness meter, and VBAP/MDAP vector visualization make it practical for evaluating spatialization behavior without needing a game engine integration.
The project is Windows-only and requires building from source via the provided Visual Studio batch scripts using C++20. It is licensed under ISC and depends on JPL Spatial, MiniaudioCpp, and a CMake fork of Walnut.
JPL Spatial is a sound spatialization and propagation library written in C++ with no external dependencies for the core implementation. It provides Vector-Base Amplitude Panning (VBAP) and Multi-Direction Amplitude Panning (MDAP) for 2D and 3D speaker layouts, supporting source elevation and a wide range of channel configurations from mono to 9.1.6 surround.
The library handles distance attenuation through custom functions, curves, or predefined models (inverse, linear, exponential), plus cone-based angle attenuation for directional sources. It exposes both low-level panners and a high-level SpatialManager API that integrates panning, direct path services, and attenuation caching for per-frame spatial updates.
JPL Spatial is used in production by Hazel Engine and is cross-platform (Windows, Linux, macOS on x64/ARM64). The architecture separates concerns into services (PanningService, DirectPathService) that can be used standalone or orchestrated through the manager layer for real-time spatial audio rendering.