Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. Miniaudio

Miniaudio

NOASSERTIONC0.11.25

A single-file C audio library for playback, capture, and processing with no external dependencies.

Visit WebsiteGitHubGitHub
6.9k stars567 forks0 contributors

What is Miniaudio?

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.

Target Audience

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.

Value Proposition

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.

Overview

Audio playback and capture library written in C, in a single source file.

Use Cases

Best For

  • Integrating audio playback into C/C++ games without heavy dependencies
  • Building cross-platform media players or audio tools
  • Embedded systems or resource-constrained environments needing audio
  • Educational projects to learn audio programming in C
  • Prototyping audio features quickly with minimal setup
  • Replacing platform-specific audio code with a unified API

Not Ideal For

  • Projects requiring extensive built-in support for modern audio codecs like Opus, AAC, or OGG Vorbis
  • Teams that rely on high-level audio frameworks with GUI tools, extensive plugins, or large communities
  • Applications needing guaranteed ABI stability for dynamic library updates or binary distribution
  • Developers looking for out-of-the-box solutions for advanced audio synthesis, MIDI handling, or professional DAW features

Pros & Cons

Pros

Single-File Simplicity

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.

Zero Dependencies

Only requires the standard C library, compiling on all major compilers without external packages, ensuring portability and easy setup across platforms.

Dual API Flexibility

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.

Broad Platform Support

Supports Windows, macOS, Linux, iOS, Android, and WebAssembly via Emscripten, with multiple backend APIs like WASAPI and ALSA, ensuring wide compatibility.

Cons

Limited Built-in Codecs

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.

ABI Compatibility Risks

The README explicitly warns that ABI compatibility is not guaranteed between versions, complicating dynamic linking and library updates in production environments.

Sparse High-Level Features

Missing advanced tooling such as MIDI support, comprehensive spatial audio, or GUI-based editors, requiring more manual work compared to full audio frameworks.

Frequently Asked Questions

Quick Stats

Stars6,872
Forks567
Contributors0
Open Issues8
Last commit29 days ago
CreatedSince 2016

Tags

#c-library#embedded-audio#emscripten#playback#recording#audio-library#public-domain#game-audio#android#single-file#audio-capture#audio-processing#linux#cross-platform#no-dependencies#capture#audio-playback#bsd#windows#audio

Built With

C
C++

Links & Resources

Website

Included in

C/C++70.6kGame Engine Development1.3k
Auto-fetched 21 hours ago

Related Projects

C/C++C/C++

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Stars71,654
Forks8,303
Last commit8 days ago
ProtoBufProtoBuf

Protocol Buffers - Google's data interchange format

Stars71,328
Forks16,151
Last commit21 hours ago
JSON for Modern C++JSON for Modern C++

JSON for Modern C++

Stars49,889
Forks7,410
Last commit1 day ago
BlazorBlazor

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

Stars38,012
Forks10,688
Last commit20 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub