README.md
1# RtAudio
2
3[![Build Status](https://travis-ci.org/thestk/rtaudio.svg?branch=master)](https://travis-ci.org/thestk/rtaudio)
4
5A set of C++ classes that provide a common API for realtime audio input/output across Linux (native ALSA, JACK, PulseAudio and OSS), Macintosh OS X (CoreAudio and JACK), and Windows (DirectSound, ASIO and WASAPI) operating systems.
6
7By Gary P. Scavone, 2001-2019 (and many other developers!)
8
9This distribution of RtAudio contains the following:
10
11- doc: RtAudio documentation (see doc/html/index.html)
12- tests: example RtAudio programs
13- include: header and source files necessary for ASIO, DS & OSS compilation
14- tests/Windows: Visual C++ .net test program workspace and projects
15
16## Overview
17
18RtAudio is a set of C++ classes that provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, JACK, PulseAudio and OSS), Macintosh OS X and Windows (DirectSound, ASIO and WASAPI) operating systems. RtAudio significantly simplifies the process of interacting with computer audio hardware. It was designed with the following objectives:
19
20 - object-oriented C++ design
21 - simple, common API across all supported platforms
22 - only one source and one header file for easy inclusion in programming projects
23 - allow simultaneous multi-api support
24 - support dynamic connection of devices
25 - provide extensive audio device parameter control
26 - allow audio device capability probing
27 - automatic internal conversion for data format, channel number compensation, (de)interleaving, and byte-swapping
28
29RtAudio 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 \ref apinotes section for information specific to each of the supported audio APIs.
30
31## Further Reading
32
33For complete documentation on RtAudio, see the doc directory of the distribution or surf to http://www.music.mcgill.ca/~gary/rtaudio/.
34
35
36## Legal and ethical:
37
38The RtAudio license is similar to the MIT License. Please see [LICENSE](LICENSE).
39