Overview of RtAudio
masterRtAudio is a C++ library providing a unified API for real-time audio input and output across multiple operating systems. It simplifies hardware interaction by providing a common interface for:
- Linux: ALSA, JACK, PulseAudio, and OSS.
- macOS: CoreAudio and JACK.
- Windows: DirectSound, ASIO, and WASAPI.
Key features include:
- Object-oriented C++ design.
- Single header and source file for easy integration.
- Support for simultaneous multi-API usage.
- Dynamic device connection and capability probing.
- Automatic internal conversion for data formats, channel compensation, (de)interleaving, and byte-swapping.
Core Concept: Audio Streams RtAudio uses the concept of audio streams to represent audio playback (output) or recording (input). You enumerate available devices and their capabilities, then specify them when opening a stream.