Benutzer-Werkzeuge

Webseiten-Werkzeuge


Writing /srv/www/htdocs/udo/singollo.de/linux.singollo.de/public_html/data/cache/9/9a3b4555bfb0167e8ad8ccde00ca91fd.metadata failed
vdr:zwei_soundkarten_parallel

VDR: 2 Soundkarten parallel betreiben

Bei mir Bestand das Problem, dass seit dem Einbau einer nVidia GT240 der Sound über HDMI läuft oder über die Soundkarte. Für den Laien ist es mit den Boardmitteln nicht leicht, eine parallele Soundausgabe herzustellen. Da Alsa aber nicht nur ein einfaches Soundsystem ist, sondern auch etliche Kniffe und Tricks beherrscht, war die Lösung doch recht simpel.

Ausstattung

  • Gigabyte M68M-S2P mit nForce 630 (ursprünglich MSI 7125 mit nForce 4)
  • nVidia GT240 mit HDMI/Sound

Software

  • openSuSE 11.2 mit Kernel 2.6.33.3 und Alsa 1.0.23

Konfiguration: Kernelmodule

Zuerst müssen die beiden Soundkarten auch konfiguriert und die passenden Module geladen werden.

options snd-hda-intel probe_mask=0xfff2
options snd slots=snd-hda-intel,snd-intel8x0
alias snd-card-1 snd-hda-intel
alias snd-card-0 snd-intel8x0

Konfiguration: Alsa

Der ganze Trick besteht aus einer angepassten asound.conf. Die Vorlage habe ich aus dem Thread im VDR-Portal.

#Analog output
pcm.analog {
type plug
slave.pcm "hw:1,0"
}

#HDMI output
pcm.hdmi1 {
type plug
slave.pcm "hw:0,3"
}

pcm.multi {
type multi;
slaves.a.pcm hdmi1;
slaves.a.channels 1;
slaves.b.pcm analog;
slaves.b.channels 1;
bindings.0.slave a;
bindings.0.channel 0;
bindings.1.slave b;
bindings.1.channel 0;
}

#set multi as default 
pcm.!default {
 type plug 
slave.pcm "multi" 
}

Die „multi“-Regel verbindet die beiden Soundkarten, so dass der Sound über beide Karten ausgegeben wird.

Probleme mit Soundkarten

snd-hda-intel

Der hda_intel-Treiber wollte leider nur eine Soundkarte verwalten. Daher musste ich eine zweite, andere Soundkarte einsetzen.

Samplerate-Converter

Falls die zweite Soundkarte nicht über einen eigenen Samplerate-Converter verfügt oder die obige Konfiguration nicht sauber läuft, weil die Samplerate nicht von Alsa korrekt umgerechnet wird (das plug-Plugin sollte das eigentlich leisten), so muss man diese Soundkarte mit einer festen Samplerate einrichten. In meinem Bespiel ist das eine Terratec Aureon 7.1 USB.

pcm.hdmi1 {
        type plug
        slave.pcm "hw:0,3"
}

pcm.multi {
        type multi;
        slaves.a.pcm hdmi1;
        slaves.a.channels 1;
        slaves.b.pcm rate44100Hz;
        slaves.b.channels 1;
        bindings.0.slave a;
        bindings.0.channel 0;
        bindings.1.slave b;
        bindings.1.channel 0;
}

pcm_slave.slave_rate44100Hz {
        pcm "hw:1,0"
        rate 44100
}

pcm.rate44100Hz {
        type plug
        slave slave_rate44100Hz
}

pcm.!default {
        type plug 
        slave.pcm "multi" 
}

Das Device „rate44100Hz“ wird über ein slave-Device „slave_rate44100Hz“ als Samplerate-Converter angebunden. Die Ausgaberate ist 44100Hz, also CD-Qualität.

vdr/zwei_soundkarten_parallel.txt · Zuletzt geändert: 21.12.2015 19:41 von udo