Sound -- Low-Level Sound Library

The Low-Level Sound Library provides facilities to record and play back sound using low-level sound APIs (ALSA on Linux, CoreAudio and AudioToolbox on Mac OS X).

Header Files

Config.h
Config.h defines configuration-dependent macros used by the Sound library. It should be included by client code that wants to make decisions based on the availability of optional features.
SoundDataFormat.h
SoundDataFormat is a structure to represent sound data formats (sample resolution, number of channels, sample rate, etc.) in an API-independent format.
Linux/ALSAPCMDevice.h
Abstraction class for PCM devices as represented by the Advanced Linux Sound Architecture (ALSA) library. This class only exists on Linux, and only if sound support was enabled in the Vrui makefile.
Linux/SpeexEncoder.h
SpeexEncoder is a class to encode sound collected from an ALSA PCM device and compress it using the SPEEX spoken sound codec. This class only exists on Linux, and only if the SPEEX codec library is found on the system.
Linux/SpeexDecoder.h
SpeexDecoder is a class to uncompress sound that was compressed using the SPEEX spoken sound codec. This class only exists on Linux, and only if the SPEEX codec library is found on the system.
SoundRecorder.h
SoundRecorder is a simple class to record sound from a sound capture device to a sound file in several supported formats. The class currently supports raw and WAV files under Linux, and WAV and AIFF files under Mac OS X.
SoundPlayer.h
SoundPlayer is a simple class to play sound from a sound file on a sound playback device.