I've created a new repository on GitHub called openal_soft_bindings, which contains C# bindings for OpenAL Soft, as well as managed wrappers for ease of use.
The goal is to break down the barrier of entry for spatial audio in C# games.
It is also available as a NuGet package.
The engine has been upgraded to use openal_soft_bindings, which is a nice cleanup as a lot of OpenAL code was re-used throughout the engine and demos.
Audio Suite
This repository is part of a larger 'audio suite':
openal_soft_bindings - low-level bindings and helpers
spatial_audio [WIP] - high-level sources, voice, filters and effects, for high-quality 3D audio spatialisation
raytraced_audio [WIP] - analyses the environment to automatically apply low-pass filters, reverb effects, ambient directionality and deaf visualisation
The godot_openal repository - which replaces Godot's audio system with OpenAL for enhanced spatialisation, filters and effects - already uses openal_soft_bindings.
My plan for the full audio suite is shown below. Full size image is available here.
Currently openal_soft_bindings and godot_openal are ready to use and available on GitHub, and I will begin work on spatial_audio soon.
The Raytraced Audio C# SDK is currently in testing. The C SDK and Godot plugin for Raytraced Audio will be ready for testing soon.
I'd love to hear your thoughts on this audio suite, as well as any difficulties you've faced with spatial audio in your games.