*** Welcome to piglix ***

ALSA (Linux)

ALSA
Alsa v1.0.14 ubuntu7.1 en.png
Screenshot of Alsamixer 1.0.14
Original author(s) Jaroslav Kysela
Developer(s) ALSA team
Initial release 1998; 19 years ago (1998)
Stable release
1.1.4 / May 16, 2017; 11 days ago (2017-05-16)
Written in C
Operating system Linux
Type
License
Website www.alsa-project.org

Advanced Linux Sound Architecture (ALSA) is a software framework and part of the Linux kernel that provides an application programming interface (API) for sound card device drivers. 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. ALSA is released under the GNU General Public License (GPL) and the GNU Lesser General Public License (LGPL). Some frameworks such as JACK use ALSA to allow performing low-latency professional-grade audio editing and mixing.

ALSA was designed with some features which were not, at the time of its conception, supported by the Open Sound System (OSS):

ALSA has a larger and more complex API than OSS, so it can be more difficult to develop an application that uses ALSA as its sound technology. While ALSA may be configured to provide an OSS emulation layer, such functionality is no longer available or is not installed by default in many Linux distributions.

Besides the sound device drivers, ALSA bundles a user-space library for application developers who want to use driver features through an interface that is higher-level than the interface provided for 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 that remains as standardized as possible across disparate underlying hardware elements. This goal is achieved in part by using software plug-ins; for example, many modern sound cards or built-in sound chips do not have a "master volume" control. Instead, for these devices, the user space library provides a software volume control using the "softvol" plug-in, and ordinary application software need not care whether such a control is implemented by underlying hardware or software emulation of such underlying hardware.


...
Wikipedia

...