Difference between revisions of "ALSA Utilities"

From CBLFS
Jump to navigationJump to search
 
(Configuration Information)
 
(36 intermediate revisions by 13 users not shown)
Line 2: Line 2:
 
|-
 
|-
 
!Download Source:
 
!Download Source:
| ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.11.tar.bz2
+
| ftp://ftp.alsa-project.org/pub/utils/alsa-utils-{{ALSA Utilities-Version}}.tar.bz2
 
|}
 
|}
  
 
----
 
----
 +
 +
{{Package-Introduction|The ALSA Utilities package contains the command line utilities for the ALSA project. This package can be compiled only with the installed ALSA driver and the ALSA C library.|http://www.alsa-project.org/}}
  
 
== Dependencies ==
 
== Dependencies ==
Line 11: Line 13:
 
=== Required ===
 
=== Required ===
 
* [[ALSA Library]]
 
* [[ALSA Library]]
 +
 +
=== Optional ===
 +
* [[Dialog]] (used by alsaconf)
 +
* [[xmlto]]
  
 
== Non-Multilib ==
 
== Non-Multilib ==
 +
 +
If you do not have [[xmlto]] add --disable-xmlto to the configure command.
 +
If building with systemd add --with-systemdsystemunitdir=/lib/systemd/system to
 +
the configure command.
  
 
Compile the package:
 
Compile the package:
Line 24: Line 34:
  
 
== Multilib ==
 
== Multilib ==
 +
'''''This package does not provide any libraries so only one installation is needed.'''''
 +
 +
=== 64Bit ===
 +
 +
If you do not have [[xmlto]] add --disable-xmlto to the configure command.
 +
If building with systemd add --with-systemdsystemunitdir=/lib/systemd/system to the configure command.
  
=== 32Bit ===
 
  
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILD32}" ./configure &&
+
  CC="gcc ${BUILD64}" ./configure &&
 
  make
 
  make
  
Line 36: Line 51:
 
  make install
 
  make install
  
=== N32 ===
+
== Configuration Information ==
 +
If using systemd, no configuration is needed and you can safely skip the rest of this page.
 +
Else, use a bootscript to store the values at shutdown.
 +
 
 +
As the root user, install the init script /etc/rc.d/init.d/alsa included in the [[bootscripts]] package.
 +
 
 +
make install-alsa
 +
 
 +
{{Note|All channels of your sound card are muted by default. You can use the alsamixer program from the ALSA Utilities to change this.}}
 +
 
 +
As the root user, install a new Udev rules file to create the audio device nodes and run the restore script:
 +
 
 +
cat > /etc/udev/rules.d/15-alsa.rules << "EOF"
 +
# Give the audio group ownership of sound devices
 +
SUBSYSTEM=="sound",      GROUP="audio"
 +
SUBSYSTEM=="snd",        GROUP="audio"
 +
 +
# ALSA Devices
 +
# When a sound device is detected, restore the volume settings
 +
KERNEL=="controlC[0-9]*",  NAME="snd/%k", ACTION=="add", RUN+="/usr/sbin/alsactl restore %n"
 +
KERNEL=="hw[CD0-9]*",      NAME="snd/%k"
 +
KERNEL=="pcm[CD0-9cp]*",  NAME="snd/%k"
 +
KERNEL=="midiC[D0-9]*",    NAME="snd/%k"
 +
KERNEL=="timer",          NAME="snd/%k"
 +
KERNEL=="seq",            NAME="snd/%k"
 +
EOF
 +
chmod 644 /etc/udev/rules.d/15-alsa.rules
  
Compile the package:
+
udevtrigger /etc/udev/rules.d/15-alsa.rules
  
  CC="gcc ${BUILDN32}" ./configure --libdir=/usr/lib32 &&
+
Using Newer udev, udevtrigger is removed from the install, use
make
+
 +
  udevadm trigger /etc/udev/rules.d/15-alsa.rules
  
Install the package
+
* Note for users with multiple soundcards
 +
[http://alsa.opensrc.org/MultipleCards Alsa tutorial for multiple soundcards]
  
make install
+
The first time the alsactl program is run from the udev rule above, it will complain that there is no state in /etc/asound.state. You can prevent this by running the following commands as the root user:
  
=== 64Bit ===
+
touch /etc/asound.state &&
 +
alsactl store
  
Compile the package:
+
= Contents =
  
CC="gcc ${BUILD64}" ./configure --prefix=/usr &&
+
{| style="text-align: left;"
make
+
|-valign="top"
 +
! Installed Programs:
 +
| alsactl, alsaconf, alsamixer, amidi, amixer, aplay, iecset, aconnect, aplaymidi, arecordmidi, aseqdump, aseqnet, speaker-test
 +
|-valign="top"
 +
! Installed Libraries:
 +
| None
 +
|-valign="top"
 +
! Installed Directory:
 +
| /usr/share/alsa/speaker-test, /ut/share/sounds/alsa
 +
|}
  
Install the package
+
=== Short Descriptions ===
  
make install
+
{| style="text-align: left;"
 +
|-valign="top"
 +
! alsactl
 +
| is a utility for soundcard settings management.
 +
|-valign="top"
 +
! alsaconf
 +
| is the ALSA driver configurator script.
 +
|-valign="top"
 +
! aplay/arecord
 +
| is a utility for the playback/capture of .wav,.voc,.au files.
 +
|-valign="top"
 +
! amixer
 +
| is a command line mixer.
 +
|-valign="top"
 +
! alsamixer
 +
| is an ncurses mixer.
 +
|-valign="top"
 +
! amidi
 +
| is a utility to send/receive sysex dumps or other MIDI data.
 +
|-valign="top"
 +
! iecset
 +
| is a utility to show/set the IEC958 status bits.
 +
|-valign="top"
 +
! aconnect
 +
| ???
 +
|-valign="top"
 +
! aplaymidi
 +
| ???
 +
|-valign="top"
 +
! arecordmidi
 +
| ???
 +
|-valign="top"
 +
! aseqdump
 +
| ???
 +
|-valign="top"
 +
! aseqnet
 +
| ???
 +
|-valign="top"
 +
! speaker-test
 +
| ???
 +
|}

Latest revision as of 02:36, 24 May 2014

Download Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.27.2.tar.bz2

Introduction to ALSA Utilities

The ALSA Utilities package contains the command line utilities for the ALSA project. This package can be compiled only with the installed ALSA driver and the ALSA C library.

Project Homepage: http://www.alsa-project.org/

Dependencies

Required

Optional

Non-Multilib

If you do not have xmlto add --disable-xmlto to the configure command. If building with systemd add --with-systemdsystemunitdir=/lib/systemd/system to the configure command.

Compile the package:

./configure &&
make

Install the package

make install

Multilib

This package does not provide any libraries so only one installation is needed.

64Bit

If you do not have xmlto add --disable-xmlto to the configure command. If building with systemd add --with-systemdsystemunitdir=/lib/systemd/system to the configure command.


Compile the package:

CC="gcc ${BUILD64}" ./configure &&
make

Install the package

make install

Configuration Information

If using systemd, no configuration is needed and you can safely skip the rest of this page. Else, use a bootscript to store the values at shutdown.

As the root user, install the init script /etc/rc.d/init.d/alsa included in the bootscripts package.

make install-alsa
Caution.png

Note

All channels of your sound card are muted by default. You can use the alsamixer program from the ALSA Utilities to change this.

As the root user, install a new Udev rules file to create the audio device nodes and run the restore script:

cat > /etc/udev/rules.d/15-alsa.rules << "EOF"
# Give the audio group ownership of sound devices
SUBSYSTEM=="sound",       GROUP="audio"
SUBSYSTEM=="snd",         GROUP="audio"

# ALSA Devices
# When a sound device is detected, restore the volume settings
KERNEL=="controlC[0-9]*",  NAME="snd/%k", ACTION=="add", RUN+="/usr/sbin/alsactl restore %n"
KERNEL=="hw[CD0-9]*",      NAME="snd/%k"
KERNEL=="pcm[CD0-9cp]*",   NAME="snd/%k"
KERNEL=="midiC[D0-9]*",    NAME="snd/%k"
KERNEL=="timer",           NAME="snd/%k"
KERNEL=="seq",             NAME="snd/%k"
EOF
chmod 644 /etc/udev/rules.d/15-alsa.rules
udevtrigger /etc/udev/rules.d/15-alsa.rules

Using Newer udev, udevtrigger is removed from the install, use

udevadm trigger /etc/udev/rules.d/15-alsa.rules
  • Note for users with multiple soundcards

Alsa tutorial for multiple soundcards

The first time the alsactl program is run from the udev rule above, it will complain that there is no state in /etc/asound.state. You can prevent this by running the following commands as the root user:

touch /etc/asound.state &&
alsactl store

Contents

Installed Programs: alsactl, alsaconf, alsamixer, amidi, amixer, aplay, iecset, aconnect, aplaymidi, arecordmidi, aseqdump, aseqnet, speaker-test
Installed Libraries: None
Installed Directory: /usr/share/alsa/speaker-test, /ut/share/sounds/alsa

Short Descriptions

alsactl is a utility for soundcard settings management.
alsaconf is the ALSA driver configurator script.
aplay/arecord is a utility for the playback/capture of .wav,.voc,.au files.
amixer is a command line mixer.
alsamixer is an ncurses mixer.
amidi is a utility to send/receive sysex dumps or other MIDI data.
iecset is a utility to show/set the IEC958 status bits.
aconnect ???
aplaymidi ???
arecordmidi ???
aseqdump ???
aseqnet ???
speaker-test ???