PortAudio
More info
- Creator
- Ross Bencina, Phil Burk
- Type
- C library
- License
- MIT-style
- Website
- portaudio.com
- Source
- GitHub
A small C library offering one audio API on Windows, macOS and Linux and translating it to each system's drivers.
Every platform has its own way of talking to the sound card, and Windows has several at once. PortAudio grew out of discussions on the music-dsp mailing list in the late 1990s, with Ross Bencina and Phil Burk doing most of the driving, and puts a common layer over all of them: ASIO, WASAPI, Core Audio, ALSA, JACK and a few more. A program opens a stream, picks a sample rate and buffer size, and gets either a callback or a blocking read/write interface.
Audacity is the best-known user, but the library also sits under Python's sounddevice and a long tail of research and hobby projects. Thin, old and boring in the best sense — if you need something bigger, you reach for JUCE.