
RtAudio
RtAudio is a set of C++ classes that provide a common API (Application Programming Interface) for realtime audio input/output across Linux, Macintosh OS-X and Windows operating systems. RtAudio significantly simplifies the process of interacting with computer audio hardware. It was designed with the following objectives: object-oriented C++ design simple, common API across all supported platforms only one source and one header file for easy inclusion in programming projects allow simultaneous multi-api support support dynamic connection of devices provide extensive audio device parameter control allow audio device capability probing automatic internal conversion for data format, channel number compensation, (de)interleaving, and byte-swapping RtAudio incorporates the concept of audio streams, which represent audio output (playback) and/or input (recording). Available audio devices and their capabilities can be enumerated and then specified when opening a stream. Where applicable, multiple API support can be compiled and a particular API specified when creating an RtAudio instance. See the API Notes section for information specific to each of the supported audio APIs.