FAudio
FAudio copied to clipboard
FAudio - Accuracy-focused XAudio reimplementation for open platforms
This is FAudio, an XAudio reimplementation that focuses solely on developing fully accurate DirectX Audio runtime libraries for the FNA project, including XAudio2, X3DAudio, XAPO, and XACT3.
Project Website: https://fna-xna.github.io/
License
FAudio is released under the zlib license. See LICENSE for details.
About FAudio
FAudio was written to be used for FNA's Audio/Media namespaces. We access this library via FAudio#, which you can find in the 'csharp/' directory.
Dependencies
FAudio depends solely on SDL 2.24.0 or newer. FAudio never explicitly uses the C runtime.
Building FAudio
For *nix platforms, use cmake.
$ mkdir build/
$ cd build/
$ cmake ../
$ make
For Windows, see the 'visualc/' directory.
For Xbox One, see the 'visualc-winrt/' directory.
For iOS/tvOS, see the 'Xcode-iOS/' directory.
Unit tests
FAudio includes a set of unit tests which document the behavior of XAudio2 and are to be run against FAudio to verify it has the same behavior. The tests are NOT built by default; set BUILD_TESTS=1 to build and then run the output with:
$ ./faudio_tests
To build a Windows executable to run the tests against XAudio2, use the provided Makefile. This requires mingw-w64 to build.
$ cd tests/
$ make faudio_tests.exe
# run faudio_tests.exe on a Windows box
Found an issue?
Issues and patches can be reported via GitHub:
https://github.com/FNA-XNA/FAudio/issues