alsa-utils-1.2.13

Introduction to ALSA Utilities

The ALSA Utilities package contains various utilities which are useful for controlling your sound card.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

ALSA Utilities Dependencies

Required

alsa-lib-1.2.13

Optional

docutils-0.21.2, fftw-3.3.10, libsamplerate-0.2.2, xmlto-0.0.29, and Dialog

Installation of ALSA Utilities

First correct a problem in the distributed udev rules:

sed -e 's/acp-pdm-dmic/acp-dmic-codec/'                   \
    -e '/LABEL="alsa_restore_go"/s/go/std/'               \
    -e '/^ENV.ALSA_CARD_NUMBER/i LABEL="alsa_restore_go"' \
    -i alsactl/90-alsa-restore.rules.in

Install ALSA Utilities by running the following commands:

./configure --disable-alsaconf \
            --disable-bat      \
            --disable-xmlto    \
            --with-curses=ncursesw &&
make

To test the results, issue: make check.

Now, as the root user:

make install

Command Explanations

--disable-alsaconf: This switch disables building the alsaconf configuration tool which is incompatible with Udev.

--disable-xmlto: Omit this switch if you have installed xmlto-0.0.29 and wish to regenerate the man pages.

--disable-bat: Omit this switch if you have installed fftw-3.3.10 and wish to install the Basic Audio Tester (BAT).

--with-curses=ncursesw: This switch forces the use of wide-character ncurses libraries.

Configuring ALSA Utilities

Config Files

/var/lib/alsa/asound.state

Configuration Information

As the root user, apply the default setting for the sound card. Note that this command may return an exit code of 99 although the card is correctly initialized:

alsactl init

Note that all channels of your sound card may be muted by default. You can use the alsamixer program to change this. Use speaker-test to check that your settings have been applied correctly. You should hear pink noise on your speakers.

The alsactl program is normally run from a standard udev rule. The first time it is run, it will complain that there is no state in /var/lib/alsa/asound.state. You can prevent this by running the following command as the root user:

alsactl -L store

The volume settings should be restored from the saved state by Udev when the device is detected (during boot or when plugged in for USB devices).

On systems which have multiple sound cards, you may need to adjust the default audio device so that you can get output from your speakers. To set the default device, first check the /proc/asound/cards file to determine which number you need to set. After you know this information, set the default card with the following command as the root user:

cat > /etc/asound.conf << "EOF"
# Begin /etc/asound.conf

defaults.pcm.card 1
defaults.ctl.card 1

# End /etc/asound.conf
EOF

Boot Script

To automatically store and restore volume settings (if the udev rule doesn't work for you) when the system is rebooted, install the /etc/rc.d/init.d/alsa boot script from the blfs-bootscripts-20241209 package.

make install-alsa

Contents

Installed Programs: aconnect, alsactl, alsaloop, alsamixer, alsatplg, alsaucm, alsa-info.sh, amidi, amixer, aplay, aplaymidi, arecord (symlink), arecordmidi, aseqdump, aseqnet, axfer, iecset, and speaker-test
Installed Libraries: None
Installed Directories: /usr/share/sounds/alsa and /var/lib/alsa

Short Descriptions

aconnect

is a utility for connecting and disconnecting two existing ports in the ALSA sequencer system

alsactl

is used to control advanced settings for ALSA sound card drivers. Use this if alsamixer cannot utilize all of your sound card's features

alsaloop

allows creation of a PCM loopback between a PCM capture device and a PCM playback device

alsamixer

is an Ncurses based mixer program for use with the ALSA sound card drivers

alsatplg

is a utility used to compile topology configuration files into binary files for kernel drivers

alsaucm

allows applications to access the hardware in an abstracted manner

amidi

is used to read from and write to ALSA RawMIDI ports

amixer

allows command-line control of the mixers for the ALSA sound card drivers

aplay

is a command-line soundfile player for the ALSA sound card drivers

aplaymidi

is a command-line utility that plays the specified MIDI file(s) to one or more ALSA sequencer ports

arecord

is a command-line soundfile recorder for the ALSA sound card drivers

arecordmidi

is a command-line utility that records a standard MIDI file from one or more ALSA sequencer ports

aseqdump

is a command-line utility that prints the sequencer events it receives as text

aseqnet

is an ALSA sequencer client which sends and receives event packets over a network

axfer

is a command-line recorder and player used to transfer audio frames between sound devices and files

iecset

is a small utility to set or dump the IEC958 (or so-called S/PDIF) status bits of the specified sound card via the ALSA control API

speaker-test

is a command-line speaker test tone generator for ALSA