PortAudio/portaudio
FreePortAudio is a cross-platform, open-source C language library for real-time audio input and output.
About PortAudio/portaudio
PortAudio is a portable, open-source C library for real-time audio input and output, designed to work across multiple operating systems. It provides a unified API that abstracts underlying audio hardware and host APIs, enabling developers to write audio applications that run on Windows, macOS, Linux, and other Unix-like systems. The library supports both callback-driven and blocking read/write models, handles audio in various formats (including 32-bit floating point), and includes implementations for popular host APIs such as ALSA, ASIO, CoreAudio, DirectSound, JACK, OSS, PulseAudio, WASAPI, WDM-KS, and MME. PortAudio is widely used in music software, voice communication tools, and digital audio workstations, and is accompanied by comprehensive documentation, a mailing list, and example programs.
Key Features
Pros & Cons
- Truly cross-platform, reducing porting efforts
- Open-source with generous MIT-like license (see LICENSE.txt)
- Supports a wide range of host audio APIs
- Low-latency performance via callback model
- Mature library with extensive community and documentation
- Includes built-in test and example programs
- Requires programming in C (or C++ bindings)
- No built-in audio effects or signal processing (you provide the processing)
- Platform-specific quirks in some host API implementations
- Learning curve for the callback-driven architecture