Linux ALSA Sound Tipps

Kleine Sammlung verschiedener Tipps, um unter Linux perfekten Sound auch mit mehreren Soundkarten zu erreichen.

Verwendete Soundkarten

Mehrere USB-Soundkarten statisch zuweisen

USB-Soundkarten sind meist so vorkonfiguriert, dass sie niemals als primäres Audiogerät verwendet werden. Das ist zwar nicht falsch, um Geräten eine feste ID zuweisen zu können muss jedoch die folgende Zeile in der Datei /etc/modprobe.d/alsa-base.conf wie folgt auskommentiert werden:

/etc/modprobe.d/alsa-base.conf
#options snd-usb-audio index=-2

Stattdessen weisen wir der Karte den festen Index 1 zu (0 ist das primäre Audiogerät):

/etc/modprobe.d/alsa-base.conf
options snd-usb-audio index=1

Bei mehreren Karten kann man diese anhand ihrer USB Vendor-ID und Produkt-ID unterscheiden:

/etc/modprobe.d/alsa-base.conf
options snd-usb-audio index=1,2 vid=0x08bb,0x08bb pid=0x2902,0x2702 id=pcm2902,pcm2702

In diesem Beispiel wird die USB-Soundkarte mit der Produkt-ID 0x2702 stets als card 2 (index=2) eingerichtet und erhält zudem den Namen "pcm2702" (id=pcm2702). Die USB-Soundkarte mit der Produkt-ID 0x2902 ist stets als card 1 (index=1) erreichbar und erhält den Namen "pcm2902".
Die Reihenfolge der Parameter (index, vid, pid, id) ist egal, lediglich die Reihenfolge der Argumente muss korrelieren.

/etc/asound.conf oder ~/.config/alsa/asoundrc (legacy: ~/.asoundrc)

Diese Konfigurationsdatei wird im Normalfall nicht benötigt. Für obiges Beispiel könnte die Datei wie folgt aussehen (es funktioniert jedoch auch ohne die Datei):

/etc/asound.conf
pcm.via82xx { type hw card 0 } ctl.via82xx { type hw card 0 } pcm.pcm2902 { type hw card 1 } ctl.pcm2902 { type hw card 1 } pcm.pcm2702 { type hw card 2 } ctl.pcm2702 { type hw card 2 }

Diese Konfigurationsdatei wird nur dann benötigt, wenn für ein bestimmtes Audiogerät spezielle Optionen notwendig sind.

Auswahl des Audiogeräts für Wiedergabe und Aufnahme

Dies hängt von dem verwendeten Programm ab - für das einfache Abspielprogramm "aplay" wählt man das Gerät durch den Parameter "-D" und Angabe des Namens wie folgt aus:

$ aplay -D pcm2902 example.ogg

Unsortierte Altlasten

/etc/modprobe.conf
# ALSA portion alias snd-card-0 snd-via82xx alias snd-card-1 snd-usb-audio alias snd-card-2 snd-usb-audio options snd-via82xx index=0 id=via82xx enable=1 # OSS/Free portion alias sound-slot-0 snd-via82xx alias sound-slot-1 snd-usb-audio