The RtAudio Home Page

Home Class/Enum List File List Compound Members

# The RtAudio Home Page

### 4.0.11

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 two header files 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.

## What's New (Version 4.0)

RtAudio V4 represents a significant rewrite of the code and includes a number of API and functionality changes from previous versions. A partial list of the changes includes:

- new support for non-interleaved user data
- additional input/output parameter specifications, including channel offset
- new support for dynamic connection of devices
- new support for stream time
- revised callback arguments, including separate input and output buffer arguments
- revised C++ exception handling
- updated support for OSS version 4.0
- discontinued support of blocking functionality
- discontinued support of SGI

Devices are now re-enumerated every time the RtAudio::getDeviceCount(), RtAudio::getDeviceInfo(), and RtAudio::openStream() functions are called. This allows for the proper identification of hot-pluggable (USB, Firewire, ...) devices that are connected after an RtAudio instance is created.

## Download

Latest Release (14 June 2012): Version 4.0.11

## Documentation Links

1. Error Handling
2. Probing Device Capabilities
3. Device Settings
4. Playback
5. Recording
6. Duplex Mode
7. Using Simultaneous Multiple APIs
8. Debugging & Compiling
9. API Notes
10. Acknowledgements
11. License
12. Bug Tracker
13. Possible Updates
14. RtAudio at SourceForge

| ©2001-2012 Gary P. Scavone, McGill University. All Rights Reserved. Maintained by Gary P. Scavone.