ALSA mini intro


by - posted

The article ALSA mini intro is a quick introduction to the Linux sound system ALSA.

Abstract

ALSA means Advanced Linux Sound System Architecture.

The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality.

ALSA consists of the following components :

  • A set of kernel drivers. These drivers are responsible for handling the physical sound hardware from within the Linux kernel, and have been the standard sound implementation in Linux since kernel version 2.5.
  • An API C-library for simplified access to the sound hardware from applications.
  • Utility programs for controlling/manipulating special features of specific sound cards.

ALSA is released under the GPL (GNU General Public license) and the LGPL.

Sound card

The plug-in cards with sound capabilities are generally called “sound cards”, they have to be plugged into the computer’s mother board bus.
It is common to find complex sound devices (chips) on the motherboard. Although these devices are not separate cards, they are still referred to as “sound cards”.

The sound card usually consists of three components :

  • Interface or card : connects the sound card to one of the mother board buses, it is usually the computer’s PCI bus.
  • Audio circuits or chip : amplifies and mixes the audio signals, convert analog audio signals in to digital signals and vice versa.
  • Connectors : connects the card to loudspeakers, microphones and other devices.
    These connectors are usually called “jacks”.

Run # alsamixer in the command line, on th upper left you will find for example :

Card : Intel 82801DB-ICH4 is the interface (controller) for the PCI bus
Chip : Realtek ALC650E is the audio circuit (sound chip)

Sound driver

Actually there are two standards for sound card drivers. The Intel AC’97 (Audio Codec 97) and the Intel “High Definition Audio”.

The AC’97 standard defines a control set for audio chips, but the PCI interface is not fully specified.
Two drivers are needed, one for the audio circuit (sound chip) the other for the PCI interface controller.

The AC’97 standard is in the process of being replaced by the Intel ‘High Definition Audio’ standard.

The Intel High Definition Audio standard defines a control set for both of the circuits, the audio circuit and the PCI interface controller. Only a single driver is needed.

Architecture

hardware mixer ! sound driver ! software mixer
————————————————————————————
sound (card) chip ! ALSA driver ! amixer / alsamixer

Commands

– Debian based distros

Print out all parameters : # amixer

Restore original settings
– Reset : # /etc/init.d/alsa-utils reset 0 (0 means card zero)
– Apply : # /etc/init.d/alsa-utils restart

Save sound settings : # alsactl store 0 (0 means card zero)

Restart ALSA : # /etc/init.d/alsa-utils restart

– Red Hat and Fedora

ALSA start : # /etc/init.d/alsasound start
ALSA stop : # /etc/init.d/alsasound stop
ALSA restart : # /etc/init.d/alsasound restart

Configuration files

!! No configuration file is required for ALSA to work properly !!

The main use of the two configuration files is to add functionality or to mange more soundcards. For example card 0 as speaker, card 1 as USB microphone.

The two configuration files for ALSA drivers are :

.asoundrc (in your home directory)
/etc/asound.conf (for system-wide settings)

If you enjoyed this article, you can :

– get post updates by subscribing to our e-mail list

– share on social media :

Leave a comment Cancel reply