miniaudio is a single file audio playback and capture library written in C. Written from scratch, it has no external dependencies with the exception of the standard C library and necessary platform-specific backends such as WASAPI and PulseAudio.

It is a low-level library which is only concerned with the delivery of raw data to and from a device. It supports playback, capture, full-duplex and loopback (WASAPI only) and will perform all of the necessary data conversion for you including sample format conversion, channel conversion and resampling.

With a focus on things just working out of the box, miniaudio implements backends for all the major desktop and mobile platforms, including Windows, macOS, Linux, BSD, iOS, Android and Web (via Emscripten). In addition, miniaudio does not require the installation of any development packages for any backends. Just grab the code and go - no package installation or linking required. It's also released into the public domain to further reduce friction.