Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
January 18, 2022 17:18
January 1, 2023 11:45
January 1, 2023 11:45
January 14, 2023 01:56
November 18, 2020 09:36
January 1, 2023 11:44
November 15, 2020 23:04
November 5, 2018 16:52
January 1, 2023 11:45
January 1, 2023 11:44
August 22, 2022 19:54
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:

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.

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: