staging.inyokaproject.org

Mehrere Soundkarten [komfortabel] benutzen

Status: Ungelöst | Ubuntu-Version: Ubuntu 7.10 (Gutsy Gibbon)
Antworten |

prozizer

Anmeldungsdatum:
7. Februar 2008

Beiträge: Zähle...

Hallo,

ich hab letzte Woche Ubuntu Gutsy Gibbon (7.10) installiert und möchte nun den Sound richtig zum Laufen bringen.
Ich habe ein Notebook (Acer Extensa 2900) und habe insgesammt 3 verschiedene Soundkarten, die ich benutze:

1. die Onboard-Soundkarte im Laptop drinnen
2. ein USB Headset (Logitec) (hat eine eigene Soundkarte)
3. ein USB 5.1 Soundkarte für mein 7.1 Dolby Surroundsystem

Bisher als ich noch Mandriva benutzt habe, hab ich die verschiedenen Soundkarten immer so halb profisorisch benutzt:
Für die Onboard OSS, fürs Headset ESD und für die 5.1 Soundkarte ALSA (mit .asoundrc)....

Aber da das alles nicht so das Wahre ist, wollt ich jetzt Ubuntu mal probiern ob man das irgendwie anders lösen kann....

Also ich habs schonmal mittels asoundconf(-gtk) probiert, aber das hat mir auch nicht weitergeholfen, weil die Lautstärkeregler auch immer verstellt waren....

Außerdem kommt hinzu, dass ich bei der 5.1 USB Soundkarte das Stereosignal auf die 5 Kanälen Upmixen will, weil sonst nur aus den vorderen beiden Speakern der Ton rauskommt.

Ein weitere Ansatz von mir war, dass ich 3 Shellscripte geschrieben habe, die für jedes Device einen anderen Inhalt in die .asoundrc hineinschreiben. Dies hat auch funktioniert, bloß den Lautstärkeregler musst ich trotzdem noch per Hand wieder einstellen....

Weiß von euch vielleicht jemand eine Lösung?? Oder ein Lösungsansatz.

mfg Jan

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Weiß von euch vielleicht jemand eine Lösung?? Oder ein Lösungsansatz.

Ich würde mich mal in PulseAudio einarbeiten. In Ubuntu Gutsy kannst du das schon installieren. Ubuntu Hardy, die nächste Ubuntu Version, bringts von Haus aus mit. PulseAudio ist ein Soundserver, der unter anderem das Steuern von unterschiedlichen Soundkarten im System deutlich verbessern soll.

prozizer

(Themenstarter)

Anmeldungsdatum:
7. Februar 2008

Beiträge: 7

Danke, Chrissss, ich habe jetzt mit Pulseaudio rumprobiert:

Ich habe sämtliche Pulseaudio Pakete installiert, sowie die grafischen GUIs dafür.
Das Starten von Pulse hat nach ein paar kleinen Problemen dann letztendlich auch geklappt.

Nun kann ich im Pulseaudio Volume Control die verschiedenen Streams sehen (von den laufenden Programmen, welche Pulse benutzen) und diese den verschiedenen Devices zuordnen.
Soweit so gut 😉

Die verschiedenen Devices (also Onboard-Sound und die beiden USB Soundkarten) werden zwar auch erkannt, aber ich muss immer Pulseaudio neustarten, wenn ich ein neues USB Gerät anstecke. Aber das ist nur nebensächlich.
Wichtiger ist, dass der 5.1 Sound funktioniert: Bisher wird die USB 5.1 Soundkarte nicht auf allen Kanälen angesprochen, sondern der Ton kommt nur aus den vorderen beiden Lautsprechern

Bisher hab ich das mit der .asoundrc gelöst (mittels upmixing).... ich habe das Beispielscript (mit angepassten Werten) vom ubuntuwiki benutzt: .asoundrc

Dieses kann ich aber mit Pulse nicht mehr benutzen, weil die Tonausgabe ja nichtmehr über alsa läuft....
Der Nachteil an der upmixing-Methode ist außerdem, dass ich keinen "richtigen" Surroundsound habe wenn ich einen Film anschaue sondern nur Stereoton.
Die Boxen werden zwar bei einem

speaker-test -D hw:2 -c 6


alle richtig "angepipst", aber ich habs bisher nicht geschafft unter VLC o.ä. Surroundsound zu hören.

Kann man bei Pulseaudio ein Upmixing realisieren? Oder sogar den 5.1 Sound "richtig" einrichten?
Beim rumprobieren bin ich ja auf die Konfigurationsdateien client.conf, daemon.conf und default.pa unter /etc/pulse gestoßen... vielleicht kann man darin manuell etwas festlegen??

mfg Jan

pepre Team-Icon

Supporter
Avatar von pepre

Anmeldungsdatum:
31. Oktober 2005

Beiträge: 6450

Ich hab mich jetzt (noch) nicht in Pulse eingearbeitet, aber wie's scheint, arbeitet das als Soundserver, dh. die Schnittstellen zur Hardware verbleiben bei ALSA. Somit sollte auch das Routing zu in der .asoundrc definierten Devices weiterhin funktionieren. Bei _attachments/PulseAudio/pavol.png sind ja auch ALSA-Devices zu sehen. Wo man diese selbst-definierten Devices in der Pulse-Config findet weiss ich nicht. Wenn du aber fündig wirst, so wären wir für einen Hinweis dankbar.

http://www.pulseaudio.org/wiki/PerfectSetup möge als Einstieg dienen. 😉

prozizer

(Themenstarter)

Anmeldungsdatum:
7. Februar 2008

Beiträge: 7

Ja den Link bin ich auch schon durchgegangen.
Wenn ich in der .asoundrc das upmixing einstelle, dann wird bei dem Programm, welches Alsa benutzen soll (z.b. vlc) immer folgender Fehler ausgegeben:

ALSA lib pcm_dmix.c:864:(snd_pcm_dmix_open) unable to open slave

Als ich nach diesem Fehler gegooglet habe, gabs öfters die Antwort, dass Alsa und Pulseaudio sich in die Quere kommen.
Wenn ich den Pulseaudio Daemon beende ("pulseaudio -k") funktioniert das Upmixing.

Standartmäßig werden diese Devices (auf dem Screenshot) beim Starten von Pulse automatisch definiert.
Ich denke das steht in der /etc/pulse/default.pa
Hier der Anfang (meiner Meinung nach der wichtige Teil meiner default.pa):

[...]

### Load audio drivers statically
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink

.ifexists /usr/lib/pulse-0.9/modules/module-hal-detect.so

### Automatically load driver modules depending on the hardware available
load-module module-hal-detect

.else

### Alternatively use the static hardware detection module (for systems that
### lack HAL support
load-module module-detect

.endif

### Load audio drivers automatically on access
#add-autoload-sink output module-oss device="/dev/dsp" sink_name=output source_name=input
#add-autoload-source input module-oss device="/dev/dsp" sink_name=output source_name=input
#add-autoload-sink output module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#add-autoload-source input module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#add-autoload-sink output module-alsa-sink sink_name=output
#add-autoload-source input module-alsa-source source_name=input

[...]


Die auskommentierten Zeilen mit dem add-autoload-sink/source sind recht interessant, da muss ich noch weiter mit rumprobieren.

Antworten |