miniaudio is an audio playback and capture library written in C, distributed as a single source file.
The library addresses the need for lightweight audio functionality without external dependencies. It provides both low-level access to raw audio data and high-level APIs for sound management, mixing, and effects processing. The single-file distribution model simplifies integration—developers simply compile miniaudio.c and include miniaudio.h without installing additional packages. Built-in support for WAV, FLAC, and MP3 decoding covers common audio formats, while a flexible node graph system enables advanced mixing and effect chains. The library also includes basic waveform generation, resampling, channel mapping, and optional 3D spatialization.
Projects requiring straightforward audio playback and capture across multiple platforms are well-suited to this library. It works on Windows, macOS, iOS, Linux, FreeBSD, Android, Raspberry Pi, and Emscripten targets. The minimal build requirements make it particularly valuable for embedded systems and projects where dependency management is a concern. Developers should note that ABI compatibility is not guaranteed between versions, so the recommended integration approach is adding the source directly to your project rather than compiling as a shared library. On most platforms, compilation requires only standard toolchain support; Linux and BSD require linking to pthread and math libraries, while iOS requires Objective-C compilation.
Development activity shows consistent engagement with the project maintained through regular updates to the in-code documentation in miniaudio.h, which serves as the authoritative reference. The maintainer actively communicates with users through Discord and social channels, indicating responsive community interaction. The codebase demonstrates stability through careful attention to platform-specific compilation requirements and linking considerations across diverse target systems.