Archive of https://github.com/FNA-XNA/FAudio — FAudio - Accuracy-focused XAudio reimplementation for open platforms https://fna-xna.github.io/
  • C++ 52.1%
  • C 44.9%
  • C# 2.3%
  • CMake 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ethan Lee 6839b88e30 26.10
2026-10-01 09:01:47 -04:00
.github ci: Update to FreeBSD 15.0 2026-07-07 09:36:30 -04:00
cmake Fix find_dependency for SDL packages. 2025-08-11 16:11:27 -04:00
csharp 26.10 2026-10-01 09:01:47 -04:00
extensions Add CollectorEXT (#377) 2025-04-21 19:22:27 -04:00
include 26.10 2026-10-01 09:01:47 -04:00
src F3DAudio: Update float.h include to mention FLT_EPSILON 2026-09-27 22:53:38 -04:00
tests Fix compile error with tests 2020-11-18 09:36:11 -05:00
utils FACTTool: Add fail paths for SDL_LoadFile 2026-01-16 10:59:55 -05:00
visualc visualc: Update to SDL3 configuration 2026-01-14 16:39:55 -05:00
visualc-gdk Add CollectorEXT (#377) 2025-04-21 19:22:27 -04:00
Xcode Xcode-iOS -> Xcode (with macOS universal binaries) 2024-01-01 13:12:26 -06:00
.gitignore Update gitignore for xcscheme files 2024-01-01 13:40:12 -06:00
AGENTS.md policy: Add no-LLM policy 2026-07-07 09:26:46 -04:00
CLAUDE.md policy: Add no-LLM policy 2026-07-07 09:26:46 -04:00
CMakeLists.txt 26.10 2026-10-01 09:01:47 -04:00
LICENSE Happy New Year! 2024-01-01 10:43:36 -05:00
README SDL3 is now the default version! 2025-02-12 11:09:06 -05:00

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 3.2.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 GDK, see the 'visualc-gdk/' directory.

For iOS/tvOS and macOS universal binaries, see the 'Xcode/' 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