A single-file C audio library for playback, capture, and processing with no external dependencies.
miniaudio is a lightweight, portable audio library written in C that provides both low-level and high-level APIs for audio playback, capture, and processing. It is designed as a single source file with no external dependencies, making it easy to integrate into any project. The library supports a wide range of audio formats, platforms, and backends, offering features like decoding, encoding, resampling, and effects.
C and C++ developers who need a simple, dependency-free audio solution for applications like games, media players, or embedded systems. It is also suitable for developers targeting multiple platforms who want a unified audio API.
Developers choose miniaudio for its extreme simplicity and portability—it's a single-file library with no dependencies that works everywhere. It offers both low-level control and high-level convenience without the bloat of larger audio frameworks.
Audio playback and capture library written in C, in a single source file.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The entire library is contained in miniaudio.c and miniaudio.h, enabling drag-and-drop integration without complex build systems, as emphasized in the README.
Only requires the standard C library, compiling on all major compilers without external packages, ensuring portability and easy setup across platforms.
Offers both low-level access for custom audio data handling and high-level APIs for sound management, mixing, and effects, providing versatility for different use cases.
Supports Windows, macOS, Linux, iOS, Android, and WebAssembly via Emscripten, with multiple backend APIs like WASAPI and ALSA, ensuring wide compatibility.
Only includes decoders for WAV, FLAC, and MP3, lacking support for common formats like Opus or AAC without implementing custom decoders, which adds development overhead.
The README explicitly warns that ABI compatibility is not guaranteed between versions, complicating dynamic linking and library updates in production environments.
Missing advanced tooling such as MIDI support, comprehensive spatial audio, or GUI-based editors, requiring more manual work compared to full audio frameworks.