Linux Sound System

Taken from "Sound Garder" by Roderick Smith


Sound Hardware: Although this is shown as a single item, there are lots of different types.  There is some hardware that has no linux driver.

Open Sound System: Through the 2.4.x kernel series the open source version of the Open Sound System has been teh standard Linux audio driver.  A commercial variant is also available.  The standard kernel drivers and the commercial drivers look identical to software.  Most Linux libraries and audio-producing tools support OSS.  Although the OSS drivers still ship with the 2.6.x kernel, they've been officiall deprecated in favor of ALSA.

the Advanced Linux Sound Architecture: The Advanced Linux Sound Architecture (ALSA) is an alternative to OSS.  ALSA provides both OSS compatibility and new audio interface methods.  The ALSA drivers ship standard with the 2.6.x kernel, and can be compiled as modules for earlier kernels.

The Enlightened Sound Daemon (EsounD): EsounD is a library and daemon that aim to provide a unified interface to the Linus audio system, whether you use OSS or ALSA.  EsounD also provides certain additional features that not all lower-level drivers provide, such as support for multiple simultaneous sound streams.  (This library is also sometimes called esd.)

Poypaudio: This library is intended as a drop-in replacement for EsounD

the Analog Real-Time Synthesizer (aRts): aRts is a sound library associated with KDE.  It can use EsounD, ALSA, or OSS for it's output.  You can use aRts, via its associated daemon, to provide network-transparent sound, which is handy when using network, this clients.

the Simple Directmedia Layer (SDL):  SDL is a cross-platform multimedia library that's popular with game developers.  It's often installed in Linux using a package name of libsdl, and it can rely on various libraries or direct acces to the sound drivers.

Audio Applications: Utlimately, you're interested in using some type of audio application, such as XMMS.  Such programs may use one or more audio drivers directly, may rely on a library, or give you several options.


Important Audio Device Files

Device Type
OSS
ALSA
Digital sampling
Sun audio compatibility
Mixer
High-level sequencer
Low-level sequencer
Sound status
Control file
/dev/dsp0
/dev/audio0
/dev/mixer0
/dev/music0
/dev/midi0
/dev/sndstat
N/A
/dev/snd/pcmC0D0
N/A
/dev/snd/mixerC0D0
N/A
N/A
N/A
/dev/snd/controlC0