$(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.
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.
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.