Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Game Audio Middleware
  3. miniaudio

miniaudio

What it is

miniaudio is a free, open-source audio playback and capture library for C and C++. It is distributed as a single source file without external dependencies, so developers can add it directly to a project's source tree. The low-level API covers playback, capture, full-duplex operation, and device enumeration. A node graph handles mixing, effects, routing, and custom nodes, while the resource manager supports reference counting, streaming large audio sources, and asynchronous loading. Its higher-level engine combines these components to manage sounds with spatialization. Built-in decoding supports WAV, FLAC, and MP3; encoding supports WAV. Custom decoders can extend format support, with Vorbis and Opus given as examples. Listed targets include Windows, macOS, iOS, Linux, BSD variants, Android, Raspberry Pi, and Emscripten/HTML5. Other platforms require a custom backend for playback and capture. Users can choose the public domain or MIT No Attribution license. Documentation includes a programming manual, API reference, and examples. The project is free and has no free trial.

For and against

For

  • Single source file with no external dependencies
  • Supports playback, capture, and full-duplex audio
  • Built-in decoding for WAV, FLAC, and MP3
  • Public domain or MIT No Attribution licensing

Against

  • Other platforms require a custom audio backend
  • ABI compatibility is not guaranteed between versions
  • Built-in encoding supports WAV only

The verdict

miniaudio provides low- and high-level audio tools in a compact, freely available library. Developers should consider its ABI compatibility warning and platform-specific backend requirements.

Who it suits

miniaudio may suit C and C++ developers building applications that need audio playback, capture, mixing, or effects. Its low-level API is suited to applications handling their own mixing, while the higher-level API addresses complex mixing and effects.

On the record

ABI limitation
ABI compatibility is not guaranteed between versions, including bug-fix releases, and the manual recommends static linking when building as a library.miniaud.io · read 4 Oct 2026
Audio APIs
miniaudio includes low-level and high-level APIs for working with audio devices and audio playback.miniaud.io · read 7 Oct 2026
Audio backends
Listed backends include WASAPI, DirectSound, WinMM, Core Audio, ALSA, PulseAudio, JACK, AAudio, OpenSL|ES, and Web Audio.github.com · read 4 Oct 2026
Audio engine
The high-level engine combines resource management and the node graph for managing sounds with spatialization.miniaud.io · read 4 Oct 2026
Built-in formats
The documentation lists built-in WAV, MP3, and FLAC decoding, and WAV encoding.miniaud.io · read 7 Oct 2026
Compatibility limit
The documentation says ABI compatibility is not guaranteed between versions, including bug-fix releases, and recommends static linking over shared-object builds.miniaud.io · read 7 Oct 2026
Custom decoders
Custom decoders can extend format support; the site gives Vorbis and Opus as examples.miniaud.io · read 7 Oct 2026
Distribution
The library is a single source file with no external dependencies and can be added directly to a project’s source tree.miniaud.io · read 4 Oct 2026
Documentation and examples
The site provides a programming manual, API reference, and examples.miniaud.io · read 7 Oct 2026
Formats
Built-in decoding supports WAV, FLAC, and MP3, while encoding supports WAV.github.com · read 4 Oct 2026
Intended use
The documentation describes the low-level API as suited to applications that handle their own mixing, and the high-level API as suited to complex mixing and effects.miniaud.io · read 7 Oct 2026
License
The site says miniaudio is released into the public domain and offers a choice of public domain or MIT No Attribution licensing.miniaud.io · read 7 Oct 2026
Low-level API
The low-level API supports audio playback, capture, full-duplex, and device enumeration.miniaud.io · read 4 Oct 2026
Mixing and effects
Its node graph supports mixing, effect processing, custom nodes, and audio routing.miniaud.io · read 7 Oct 2026
Packaging
The library consists of a single source file and has no external dependencies.miniaud.io · read 7 Oct 2026
Platform limitation
On other platforms, playback and capture require implementing a custom backend.github.com · read 4 Oct 2026
Purpose
miniaudio is an audio playback and capture library for C and C++.miniaud.io · read 7 Oct 2026
Resource management
The resource manager supports reference counting, streaming large audio sources, and asynchronous loading.miniaud.io · read 7 Oct 2026

Alternatives to miniaudio

Every alternative, ranked