Dedies-Board (https://www.dedies-board.de/wbb2/index.php)
- Linux (https://www.dedies-board.de/wbb2/board.php?boardid=30)
-- FAQs (https://www.dedies-board.de/wbb2/board.php?boardid=32)
--- Kurztipp: Zwei Soundkarten und ALSA (https://www.dedies-board.de/wbb2/thread.php?threadid=2441)


Geschrieben von Vimes am 07.02.2009 um 22:09:

  Kurztipp: Zwei Soundkarten und ALSA

Neulich kam ich auf die gute Idee, mir mal eine neue Soundkarte zuzulegen, und entschied mich nach einigem Suchen für die M-Audiophile 2496.
Erst später stellte ich fest, daß das Ding keinen Kopfhöreranschluß hat (im eigentlichen Sinne, vermutlich kann man da mit Adaptern was werkeln), während die Cinch-Anschlüsse für meine Teufel-Anlage optimal sind. Nun hatte ich keine Lust, da groß mit Adaptern oder ähnlichem rumzuwürgen. Außerdem habe ich hier eine Soundkarte auf dem Mainboard ...

Nun ist es eigentlich recht simpel, ALSA zu verklickern, daß man gerne zwei Soundkarten statt einer verwenden möchte.

Erst einmal muß man rauskriegen, welche Module für die Karten geladen werden. Dafür kann man z.B. mittels alsaconf (als root bzw. mit sudo) die Karten konfigurieren und sich merken (oder notieren) wie das jeweilige Modul heißt.

Unter Debian werden diese Modulnamen dann hier abgelegt:

/etc/modprobe.d/sound

In meinem Falle sind das die Module

snd-ice1712 (für die M2496) und snd-hda-intel (für den internen Chipsatz).

Eingetragen habe ich folgendes:

code:
1:
2:
3:
4:
alias snd-card-0 snd-ice1712
options snd-ice1712 index=0
alias snd-card-1 snd-hda-intel
options snd-hda-intel index=1 


Damit werden zum einen Aliase vergeben, über die sich die Karten ansprechen lassen und zum anderen festgelegt, welche Indexummern den Karten beim Bootvorgang zugewiesen werden.

Nach einem reboot stehen dann beide Karten zur Verfügung und die Lautstärke läßt sich mittels

alsamixer -c 0 für die M2496 und
alsamixer -c 1 für die Intel-Karte setzen.

Nun gibt es Programme (vlc, z.B.), da kann man problemlos angeben, welche Soundkarte für die Ausgabe verwendet werden soll, so daß man den Kopfhörer dann einfach an den Ausgang des Mainboards (in meinem Falle schön an die Front durchgeschliffen) reinsteckt und gut wars. Leider sind nicht alle Programme so flexibel. Bei kaffeine z.B. suche ich diese Möglichkeit vergebens.

Abhilfe schafft ein kleiner Eintrag in der ggf. anzulegenden Datei
.asoundrc
im eigenen Home-Verzeichnis.

Was ist einzutragen? Mit
aplay -L

läßt man sich die verfügbaren Karten anzeigen und sucht nach so etwas hier:
vimes@discworld:/etc/modprobe.d$ aplay -L
front:CARD=M2496,DEV=0
M Audio Audiophile 24/96, ICE1712 multi
Front speakers

In der .asoundrc wird dann das hier eingetragen:

pcm.!default front:M2496
Also der Wert von CARD=

Damit habe ich also als default-Ausgabegerät die Audiophile festgelegt. Um jetzt schnell wechseln zu können, habe ich mir ein kleines Script geschrieben, das beim Aufruf jeweils schlicht die andere Karte reinschreibt:

#!/bin/bash
default=$(grep -h 'pcm.' /home/vimes/.asoundrc)
if [ "$default" = "pcm.!default front:M2496" ]; then
sed -i s/M2496/Intel/ /home/vimes/.asoundrc
else
sed -i s/Intel/M2496/ /home/vimes/.asoundrc
fi
exit 0

Anschließend muß man ggf. die Anwendung, die die Karte nutzen soll, neu starten, z.B. kaffeine; dagegen ist es nicht erforderlich, ALSA neu zu starten.

Viel Freude mit zwei Soundkarten.

MfG
Vimes