v0.1.0-alpha.6 — Spatial audio
·
25 commits
to master
since this release
v0.1.0-alpha.6 — Spatial audio
A complete spatial-audio chain for Penumbra VR: binaural HRTF, occlusion muffling, distance absorption, ambient reverb, and a low-latency head-tracked listener — on a bundled OpenAL Soft runtime, so it works identically on every machine.
Penumbra is about what you hear coming. This release rebuilds the game's entire acoustic pipeline:
- Head-tracked listener without lag — positional sounds follow your head pose in real time instead of last frame's camera matrix
- Binaural HRTF (new setting) — Options → VR Settings → Display → Binaural audio (HRTF):
Auto(headphone detection),Headphones, orOff. Restart required - Occlusion that muffles — walls and closed doors now dampen treble with a smooth fade; a creature behind a door sounds held back until you open it
- Distance absorption — audible sources lose treble progressively with range, so far things read as far even in line of sight
- Mine-gallery reverb — a restrained global EFX tail (2.6 s decay, high diffusion) that gives corridors and caverns depth without washing out the mix
- Bundled OpenAL Soft 1.25.2 — app-local runtime guarantees EFX/HRTF support everywhere; LGPL license included under
licenses/
Fixed
- Legacy Creative device names ("Generic Software") no longer break modern OpenAL runtimes
- OALWrapper hardened for first-time EFX activation: per-source filters are created on demand (fixes a startup access violation), EFX manager thread state is initialized before any failure path, and failed device opens no longer fall into the silent NULL driver
- Legacy sound thread disabled by default — it raced against OpenAL Soft's internal mixer once EFX was active
Known limitations
- Reverb is a single global preset; per-zone environments remain future work
- HRTF validated informally on PS VR2 Sense headphone output only
- Occlusion raycasts sample ~2×/second; very fast doors can pop between muffled and clear
Full details in docs/RELEASES.md.
Install: extract the zip completely and run Install-PenumbraVR.bat (Steam install detected automatically; every replaced file is backed up). Remove with Install-PenumbraVR.bat -Restore.