Ubuntu mit zwei Soundkarten

Da ich keine Lust mehr hatte, dauernd unter den Tisch zu kriechen und jedes Mal das Headset für Skype bzw. das Kabel zur Stereoanlage einzustecken, habe ich heute meine onboard-AC97-Soundkarte aktiviert, in der Hoffnung, diese ausschließlich für VoIP nutzen zu können.
Wenn man ALSA vernünftig konfiguriert, dann funktioniert es hervorragend.Hilfreich dazu sind dieser Wikiartikel im Ubuntuusers.de-Wiki sowie dieser Thread im Skype-Forum. Ich hatte nämlich das Problem, dass Skype partout nur auf dem linken Kanal zu hören war.

Meine /etc/asound.conf:
[geshi lang=bash]
pcm.live {
type hw
card 1
}

ctl.live {
type hw
card 1
}

pcm.nv {
type hw
card 0
}

ctl.nv {
type hw
card 0
}

# Das dmix-Plugin wird definiert.
pcm.dmixer {
type dmix
ipc_key 1024
ipc_perm 0666 # Andere Benutzer können ebenfalls dmix gleichzeitig nutzen
slave.pcm “live”
slave {
# buffer_size kann bei Problemen der jeweiligen Karte angepasst werden.
period_time 0
period_size 1024
buffer_size 4096
# bei Störungen kann die Konvertierung auf die Rate 44100 eingeschaltet werden.
# rate 44100
# einige Soundkarten benötigen das exakte Datenformat (zB ice1712)
# format S32_LE
}

bindings {
0 0
1 1
}
}

# Das dsnoop-Plugin, welches es erlaubt, mehrere Programme gleichzeitig aufnehmen zu lassen.
pcm.dsnooper {
type dsnoop
ipc_key 2048
ipc_perm 0666
slave.pcm “live”
slave {
period_time 0
period_size 1024
buffer_size 4096
# bei Störungen kann die Konvertierung auf die Rate 44100 eingeschaltet werden.
# rate 44100
# einige Soundkarten benötigen das exakte Datenformat (zB ice1712)
# format S32_LE
}

bindings {
0 0
1 1
}
}

# Dies definiert unser Fullduplex-Plugin als Standard für alle ALSA-Programme.
pcm.duplex {
type asym
playback.pcm “dmixer”
capture.pcm “dsnooper”
}

pcm.!default {
type plug
slave.pcm “duplex”
}

# DSP wird simuliert und benutzt das dmix-Plugin.
pcm.dsp “duplex”
pcm.dsp1 “duplex”

# OSS-Steuerung für dsp0 (falls es benötigt wird…)
ctl.dsp {
type plug
slave.pcm “live”
}

# OSS-Steuerung für dsp0 (falls es benötigt wird…)
ctl.mixer {
type plug
slave.pcm “live”
}

# skype spezifisch
# http://forum.skype.com/index.php?showtopic=88995
pcm.skype_playback {
type route
slave.pcm “nv”
slave.channels 2
# Send Skype channel 0 to the L and R speakers at full volume
ttable.0.0 1
ttable.0.1 1
}

pcm.skype_capture {
type route
slave.pcm “nv”
slave.channels 2
# Mix all input channels to Skype capture channel 0 at full volume:
ttable.0.0 1
ttable.0.1 1
}[/geshi]
Danach hat man das Device “nv” für die Onboard-Nvidia-Sound”karte”, “live” für die Soundblaster Live! sowie “skype_playback” und “skype_capture” für Skype.

Man sollte noch (unter Gnome) in System -> Einstellungen -> Audio bzw. Multimedia-System die richtigen Geräte auswählen.

Außerdem kann ich nun je nach Bedarf amarok auf das Headset umstellen. Skype ist mittlerweile sogar in der Lage, auf der SBLive zu klingeln und die Sprachein/ausgabe über die Onboard-Karte abzuwickeln.

Was will man mehr…