$(U InputSoundFile) decodes audio samples from a sound file. It is used internally by higher-level classes such as $(SOUNDBUFFER_LINK) and $(MUSIC_LINK), but can also be useful if you want to process or analyze audio files without playing them, or if you want to implement your own version of $(MUSIC_LINK) with more specific features.
The audio listener defines the global properties of the audio environment, it defines where and how sounds and musics are heard.
Musics are sounds that are streamed rather than completely loaded in memory.
* This class encodes audio samples to a sound file.
Sound is the class used to play sounds.
A sound buffer holds the data of a sound, which is an array of audio samples. A sample is a 16 bits signed integer that defines the amplitude of the sound at a given time. The sound is then restituted by playing these samples at a high rate (for example, 44100 samples per second is the standard rate used for playing CDs). In short, audio samples are like texture pixels, and a SoundBuffer is similar to a Texture.
$(U SoundBufferRecorder) allows to access a recorded sound through a $(SOUNDBUFFER_LINK), so that it can be played, saved to a file, etc.
$(U SoundRecorder) provides a simple interface to access the audio recording capabilities of the computer (the microphone).
$(U SoundSource) is not meant to be used directly, it only serves as a common base for all audio objects that can live in the audio environment.
Unlike audio buffers (see $(SOUNDBUFFER_LINK)), audio streams are never completely loaded in memory. Instead, the audio data is acquired continuously while the stream is playing. This behaviour allows to play a sound with no loading delay, and keeps the memory consumption very low.
Sounds, streaming (musics or custom sources), recording, spatialization.