gitwtfhub

wtf is miniaudio?

taronaeo/miniaudio — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2025-09-23

CAudience · developerComplexity · 2/5QuietLicenseSetup · easy

TL;DR

A single-file C audio library that lets any app play, record, and process sound across Windows, Mac, Linux, mobile, and web with zero external dependencies.

Mindmap

mindmap
  root((repo))
    What it does
      Plays audio
      Records audio
      Decodes formats
    Tech stack
      Single C file
      No dependencies
      Cross platform
    Use cases
      Game sound effects
      Music production
      Notification sounds
    Audience
      Game developers
      Audio app makers
      C programmers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Add background music and sound effects to a game engine.

REASON 2

Build a music production app that processes raw audio frames in real time.

REASON 3

Play a simple notification sound in an app with just a few lines of code.

REASON 4

Decode and play common audio formats like WAV, FLAC, and MP3 without writing your own decoders.

What's in the stack?

C

How it stacks up

taronaeo/miniaudioac000/find-flvacc4github/kdenlive-omnifade
Stars0
LanguageCCC
Last pushed2025-09-232013-04-05
MaintenanceQuietDormant
Setup difficultyeasymoderatemoderate
Complexity2/52/52/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

Just drop in one C file and header, no build system or dependencies to configure.

Public domain / MIT No Attribution, use it freely for any purpose, no credit required.

Wtf does this do

Miniaudio is a library that lets you play and record audio in your application without any fuss. Instead of wrestling with platform-specific audio APIs or installing complex dependencies, you just include one C file and header, and you're ready to work with sound. It's designed to be simple enough for beginners but powerful enough for professionals building games, music apps, or any software that needs audio. At its core, miniaudio handles the messy details of talking to your operating system's audio system, whether you're on Windows, Mac, Linux, Android, or even in a web browser. The library offers two ways to use it. The easy way is the high-level API: load a sound file, press play, done. The powerful way is the low-level API: if you need fine-grained control over raw audio data (like for real-time processing or custom effects), you can tap directly into the audio stream and manipulate it frame by frame. It also includes built-in support for decoding common formats like WAV, FLAC, and MP3, so you don't have to figure out decoders yourself. Game developers, audio software makers, and anyone building apps that need sound would find this useful. A game engine might use it to handle background music and sound effects. A music production app could use the low-level API to process audio in real time. A simple project that just needs to play a notification sound can do it in three lines of code. The library also supports mixing multiple sounds, applying effects and filters, resampling, and even basic 3D audio positioning. What makes miniaudio stand out is its design philosophy: zero external dependencies beyond the C standard library, a single source file that compiles cleanly on any major compiler, and support across Windows, macOS, Linux, mobile platforms, and the web. There's no build system complexity to learn, you just compile it like any other C source file. The tradeoff is that miniaudio is distributed as public domain or MIT No Attribution, which means the maintainer handles bugs on their own schedule and encourages community contributions to fix issues quickly.

Yoink these prompts

Prompt 1
Show me how to include miniaudio in my C project and play a WAV file with the high-level API.
Prompt 2
Explain how to use miniaudio's low-level API to process raw audio frames for a custom effect.
Prompt 3
Walk me through mixing multiple sounds together using miniaudio.
Prompt 4
How do I use miniaudio to record audio input and save it to a file?

Frequently asked questions

wtf is miniaudio?

A single-file C audio library that lets any app play, record, and process sound across Windows, Mac, Linux, mobile, and web with zero external dependencies.

What language is miniaudio written in?

Mainly C. The stack also includes C.

Is miniaudio actively maintained?

Quiet — no commits in 6-12 months (last push 2025-09-23).

What license does miniaudio use?

Public domain / MIT No Attribution, use it freely for any purpose, no credit required.

How hard is miniaudio to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is miniaudio for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.