miniaudio
-
See above.
OpenAL Soft
-
OpenAL .
-
3D audio API inspired by OpenGL.
-
Native 3D spatialization (HRTF, distance models)
-
Specification + implementations (OpenAL Soft is the de facto standard).
-
Focused on spatial audio and game-style sound sources.
-
API Object/state-based.
-
Cons :
-
No decoding (you need libsndfile, stb_vorbis, etc.).
-
Less control over backend internals.
-
API feels dated.
-
Platform quirks depending on implementation.
-
Development stagnation of the spec (OpenAL Soft is maintained, OpenAL itself is not evolving).
-
SDL 3.0 (own audio engine)
-
SDL_audio is not an engine.
-
It is a portable audio device abstraction + callback-based mixer interface.
-
Push or pull audio via callback
-
Audio playback & capture
-
Callback-based streaming
-
Device enumeration
-
Format conversion (basic)
-
Resampling (basic)
-
Threaded audio callback
-
Hotplugging devices
-
lower-level than OpenAL
-
higher-level than raw OS APIs
-
less feature-complete than miniaudio
Platforms
| Platform | Support |
| -------- | ------------------------------ |
| Windows | WASAPI, DirectSound, WinMM |
| Linux | ALSA, PulseAudio, PipeWire |
| macOS | CoreAudio |
| iOS | CoreAudio |
| Android | OpenSL ES / AAudio |
| Web | WebAudio (Emscripten) |
| Consoles | Partial (depends on SDL ports) |
Cons
-
No decoding (unless using SDL_mixer or external libs)
-
No spatial audio
-
No mixing engine (beyond simple utilities)
-
No DSP graph
-
No voice management
-
No HRTF
-
No sample-accurate scheduling
-
No advanced latency control
Sokol (own audio engine)
-
From the github:
-
Minimal buffer-streaming audio playback.
-
A minimal audio-streaming API:
-
you provide a mono or stereo-stream of 32-bit float samples which sokol_audio.h forwards into platform-specific backends
-
two ways to provide the data:
-
directly fill backend audio buffer from your callback function running in the audio thread
-
alternatively push small packets of audio data from your main loop, or a separate thread created by you
-
-
-
-
Backend:
-
ALSA (Linux).
-
WASAPI (Windows).
-
CoreAudio (macOS).
-
WebAudio.
-
Windows: WASAPI
-
macOS/iOS: CoreAudio
-
Linux: ALSA
-
emscripten: WebAudio + ScriptProcessorNode (doesn't use the emscripten-provided OpenAL or SDL Audio wrappers)
-
Cons
-
Callback-based streaming
-
Ring buffer model
-
Simple mixing
-
No decoding
-
No spatial audio
-
No audio graph
-
Much weaker than miniaudio
-
More minimal than SDL_audio.
-
Designed for predictable low-level control.
RayLib
-
Backend
-
miniaudio.
-
Godot (own audio engine)
-
Backends:
| Platform | Backend |
| -------- | ------------------ |
| Windows | WASAPI |
| Linux | ALSA / PulseAudio |
| macOS | CoreAudio |
| Android | OpenSL ES / AAudio |
| iOS | CoreAudio |
| Web | WebAudio | -
Full audio engine
-
Audio buses (graph)
-
DSP effects
-
3D spatial audio
-
HRTF
-
Mixing, routing, groups
-
Real-time effects
-
Streaming
-
Procedural audio
-
It is closer to XAudio2-style architecture.