- Advanced Linux Sound Architecture
name = ALSA
caption = Screenshot of AlsaMixer 1.0.14
released = 1998
latest release version = 1.0.17
latest release date = release date and age|2008|07|14
latest preview version = 1.0.18-rc3
latest preview date =
frequently updated =
programming language =
operating system =
genre = Audio
license = GPL and LGPL
website = [http://www.alsa-project.org/ www.alsa-project.org]
Advanced Linux Sound Architecture (known by the
acronymALSA) is a Linux kernelcomponent intended to replace the original Open Sound System(OSS) for providing device drivers for sound cards. Some of the goals of the ALSA project at its inception were automatic configuration of sound-card hardware, and graceful handling of multiple sound devices in a system, goals which it has largely met. A couple of different frameworks, such as JACK, use ALSA to allow performing low-latency professional-grade audio editing and mixing.
Jaroslav Kysela, the project started from a Linux device driver for the Gravis Ultrasoundsound card in 1998, and was developed separately from the Linux kernel until it was introduced in the 2.5 development series in 2002 (2.5.4-2.5.5). [ [http://www.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.5 Linux 2.5.5 release notes] ] In the 2.6 version it replaces OSS by default, although a backwards-compatibility layer exists.
ALSA was designed to use some features which were not, at the time of its conception, supported by OSS:
* Hardware-based MIDI synthesis.
Hardware mixingof multiple channels.
* Full-duplex operation.
To provide these features cleanly, ALSA has a bigger and more complex API than OSS, so it can be harder to develop applications that use ALSA as their sound technology. However, ALSA also provides an optional OSS emulation layer, so the simpler and more portable OSS API can be used.
Besides the sound device drivers, ALSA bundles a
user spacelibrary for application developers who want to use driver features with a higher level API than direct interaction with the kernel drivers. Unlike the kernel API which tries to reflect the capabilities of the hardware directly, ALSA's user space library presents an abstraction which is as similar as possible across disparate hardware. It does this in part by using software plugins. For example, many modern soundcards or built-in sound chips don't have a "master volume" control; for these devices the user space library provides a software volume control instead using the "softvol" plugin, and ordinary application software needn't care about the difference.
This section provides an overview of basic concepts pertaining to ALSA. [cite journal |last=Tranter |first=Jeff |year=2004 |month=October |title=Introduction to Sound Programming with ALSA |journal=Linux Journal |url=http://www.linuxjournal.com/article/6735 |accessdate=2007-12-01] [cite journal |last=Phillips |first=Dave |year=2005 |month=June |title=A User's Guide to ALSA |journal=Linux Journal |url=http://www.linuxjournal.com/node/8234/print |accessdate=2007-12-01] [cite web |url = http://gentoo-wiki.com/HOWTO_ALSA_sound_mixer_aka_dmix |title = HOWTO ALSA Complete (includes dmix) |accessdate = 2007-12-01 |year = 2004 |month = July] [cite web |url = http://www.alsa-project.org/alsa-doc/alsa-lib/index.html |title = Alsa C library Doxygen documentation |accessdate = 2007-12-01 |year = 2007 |month = October]
* typically, ALSA supports up to eight cards numbered 0 through 7. Each card is a physical or logical kernel device capable of input, output or control of sound.
* card 0 is the default card where most sounds are played. The operating system determines which card is default.
* a card can also be addressed by its id which is an explanatory string such as "Headset" or "ICH9". If card is omitted, it means card 0.
* cards have devices numbered starting at 0. A device can be of playback type, meaning it outputs sound from the computer, or other type such as capture, control, timer, or sequencer. If device is omitted, it means device 0.
* a device can have subdevices numbered starting at 0 that represent for example a speaker pair or some other relevant sound endpoint for the device. If the subdevice is -1 or omitted, it means any available subdevice.
* interface is a description of an ALSA protocol for access. the "hw" interface provides direct access to the kernel device, however, no software mixing or stream adaptation, while "plughw" or "default" enables sound output where the hw interface would produce an error. It is not easy to find available interfaces, but common ones are "hw", "plughw", "default", and "plug:dmix".
* a device string is formed by "interface:card,device,subdevice" or "interface:CARD=1,DEV=3,SUBDEV=2", and this is how an application typically describes sound output. The device string is case sensitive.
* an ALSA stream is a data flow representing sound. The most common stream format is PCM and its encoding must match that of the hardware or sound will not play. Parameters are sampling rate which is 44.1 kHz on home stereos, and 48 kHz on home theaters, a sample width measured in bits, such as 8, 16, 24 or 32, a sample encoding, a number of channels, 1 for mono, 2 for stereo, or 6 for AC-3/
IEC958, and ALSA also need buffer parameter that determines how often CPU attention is required.
Modem cards that use ALSA are detected by: aplay -l
JACK Audio Connection Kit
Open Sound System
* [http://www.alsa-project.org/ Official website]
* http://alsa.opensrc.org/ (a big ALSA
Wikimedia Foundation. 2010.
Look at other dictionaries:
Advanced Linux Sound Architecture — AlsaMixer 1.0.14 unter Ubuntu 7.10 Basisdaten Maintainer Das ALSA Team … Deutsch Wikipedia
Advanced Linux Sound Architecture — ALSA Captura de pantalla de alsamixer Desarrollador Equipo de ALSA[1 … Wikipedia Español
Advanced Linux Sound Architecture — Pour l’article homonyme, voir Alsa. ALSA … Wikipédia en Français
Advanced Linux Sound Architecture — … Википедия
Sound card — A Sound Blaster Live! Value card, a typical (circa 2000) PCI sound card. Connects to Motherboard via one of: PCI ISA USB IEEE 139 … Wikipedia
Linux on zSeries — Linux on System z is the collective term for the Linux operating system compiled to run on IBM mainframes, especially System z machines. Other terms with the same meaning include Linux/390, Linux on zSeries, Linux for zSeries, Linux on System z9 … Wikipedia
Sound Blaster X-Fi — XtremeGamer Fatal1ty Pro Sound Blaster X Fi is a lineup of sound cards in Creative Labs Sound Blaster series. Contents 1 … Wikipedia
Linux From Scratch — Company / developer Gerard Beekmans et al. OS family Unix like Working state Current Source model Open source / Free Software Initial release … Wikipedia
Sound Interface Device — Ein 6581er SID Chip auf einem C64 Mainboard Der MOS Technology 6581 SID (Sound Interface Device) ist ein programmierbarer 3 stimmiger Soundchip, der hauptsächlich in den Heimcomputern C64 und C128 von Commodore in den 1980er Jahren zum Einsatz… … Deutsch Wikipedia
Processus de développement de Linux — Linux a apporté un changement radical dans la façon dont les systèmes d exploitation sont développés, en construisant une communauté de développement autour d Internet. Ce développement en communauté sur Internet possède les caractéristiques… … Wikipédia en Français