• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Soundkarten umschalten - Einfache Lösung gesucht

CHMS

Newbie
Ursprünglicher Titel: USB-Soundkarte geht nicht so, wie ich will

Hallo.

Ich habe unter OpenSUSE 10.3 eine USB-Soundkarte vom Typ SL-8850 der Firma SpeedLink angeschlossen.

Nach einigem Experimentieren habe einen Teilerfolg verbuchen können:

Unter KMIX kann ich - neben meiner internen Soundkarte - als Device "C-Media USB Headphone Set" auswählen und die Lautstärke für die Kopfhörer und das Mikrofon ändern.
Auch das Ein- und Ausschalten von "Auto Gain Control" scheint zu funktionieren (Wirkt bei mir wie ein Mikrofon-Verstärker). Weitere Optionen werden nicht angeboten.

Unter YAST wird die SL-8850 nicht erkannt, aber ein Einrichten als Generic USB Sound Device (oder so ähnlich) hat geklappt (inkl. Lautstärke-Test).

Nun möchte ich aber nicht nur das Mikrofon-Signal durchschleifen, sondern auch Audio-Daten auf dem Headset wiedergeben.

Ist das ganze ein Einrichtungs-Problem, oder muss ich meine Software umkonfiguieren?
 

misiu

Moderator
Teammitglied
Jetzt hast du ja zwei Soundkarten. Somit musst du im benutztem
Programm entsprechendes Eingabe/Ausgabegerät auswählen.
Im welchem Programm willst du diese verwenden?

MfG
misiu
 
OP
C

CHMS

Newbie
Ich möchte die Soundkarten je nach Bedarf wechseln können.
Also z.B. Amarok mal über Soundkarte, mal über Headset.
Aber eigentlich alle Programme mit Sound-Ausgabe...

Was mich am meisten wundert, dass ich im Mixer bei der USB-Karte keine Ein- und Ausgänge auswählen kann wie z.B. PCM.
Ich habe ausschliesslich die Lautstärke für das Headset und das Mikrofon, ausserdem die Option "Auto Gain Control" (Mic Boost)

Bei nochmaligem Nachdenken: Ich habe ja schliesslich nur einen Eingang (neben dem Mikro): den USB-Port.

Also muss ich dem jeweiligen Programm mitteilen, ob's die Soundkarte ODER das USB-Teil verwenden soll !?

Habe allerdings keinen Plan, wie ich das anstellen soll.

Einige der (bislang) meistgenutzten Programme:
Amarok
Kaffeine (Xine)
Warzone 2100
Cedega
 
OP
C

CHMS

Newbie
Danke für alle Antworten.

Scheinbar hilft es beim Nachdenken, wenn man sein Problem für andere aufschreibt...

Um mich mal selbst zu zitieren:

Unter YAST wird die SL-8850 nicht erkannt, aber ein Einrichten als Generic USB Sound Device (oder so ähnlich) hat geklappt (inkl. Lautstärke-Test).

Also kann es kein Hardware-Problem sein.

Ich möchte die Soundkarten je nach Bedarf wechseln können.
...
Also muss ich dem jeweiligen Programm mitteilen, ob's die Soundkarte ODER das USB-Teil verwenden soll !?

Habe beim nochmaligen "Googeln" (diesmal nach "Soundkarte umschalten Suse") folgendes Programm gefunden, das ich jetzt erstmal antesten werde:
PulseAudio
(Auch zu finden im OpenSUSE 10.3 Hauptrepository OSS)

Sobald ich diesen Soundserver zum Laufen gebracht habe, melde ich mich wieder...
 

whois

Ultimate Guru
Hi

Wenn das läuft berichtest du mal darüber, das interessiert mich :wink: .
Ich finde die Zeit zum selber testen im Moment nicht. :wink:

Danke
cu
 
OP
C

CHMS

Newbie
Auch wenn die Beschreibung von PulseAudio sehr vielversprechend klingt, bin ich leider mit der Einrichtung überfordert.
Wahrscheinlich reichen meine Englischkenntnisse doch nicht aus...

Habe jetzt erst mal meine interne Soundkarte deaktiviert, bis ich eine andere - einfache (!!!) - Lösung finde. ..

...oder eine leicht verständliche deutsche Anleitung für PulseAudio.
 
OP
C

CHMS

Newbie
Es geht schon beim Start los.

Bei Eingabe von pulseaudio als "root" erhalte ich folgende Meldung:

W: main.c: This program is not intended to be run as root (unless --system is specified).
W: alsa-util.c: device doesn't support 44100 Hz, changed to 48000 Hz.
W: alsa-util.c: Cannot find mixer control "Master".
W: alsa-util.c: Cannot find fallback mixer control "PCM".
W: alsa-util.c: device doesn't support 44100 Hz, changed to 48000 Hz.
W: alsa-util.c: Cannot find mixer control "Capture".
E: socket-server.c: socket(PF_INET6): Die Adressfamilie wird von der Protokollfamilie nicht unterstützt
E: protocol-esound.c: kicked client with invalid authorization key.
E: protocol-esound.c: kicked client with invalid authorization key.
E: protocol-esound.c: kicked client with invalid authorization key.
E: protocol-esound.c: kicked client with invalid authorization key.

Als User kommt:

E: main.c: Failed to create '/tmp/pulse-chris': Die Operation ist nicht erlaubt

Bei Eingabe von pulseaudio --system als "root" erscheint
E: main.c: Failed to find user 'pulse'.

Da verliert man doch gleich die Lust...
 
OP
C

CHMS

Newbie
Via Mailinglist kam Hilfe.

Ich hatte PulseAudio zuerst als "Root" gestartet und das hatte dann die Ausführung als User verhindert.
Jetzt läuft's.

Das einzige, was mich jetzt noch stört ist, dass ich die Sounkarten erst dann umschalten kann, wenn ein Audiostream vorhanden ist, also nicht vor Programmstart.

Für die, die's auch mal probieren wollen, meine /etc/pulse/default.pa:

Code:
#!/usr/bin/pulseaudio -nF 

#
# This file is part of polypaudio.
#
# polypaudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# polypaudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with polypaudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.


### Load audio drivers statically
#load-module module-alsa-sink device=default
#load-module module-alsa-source device=default
#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
#load-module module-esound-protocol-tcp 
#load-module module-native-protocol-tcp 
#load-module module-zeroconf-publish

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

### 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

### Load several protocols
load-module module-esound-protocol-unix
load-module module-esound-protocol-tcp
load-module module-native-protocol-unix
#load-module module-native-protocol-tcp

### Load the RTP reciever module
#load-module module-rtp-recv

### Load the RTP sender module
#load-module module-null-sink sink_name=rtp
#load-module module-rtp-send source=rtp.monitor

### Automatically restore the volume of playback streams
load-module module-volume-restore

### Make some devices default
#set-default-sink output
#set-default-source input

.nofail

### Load something to the sample cache
#load-sample x11-bell /usr/share/sounds/gtk-events/activate.wav
#load-sample-dir-lazy /usr/share/sounds/*.wav

### Load X11 bell module
# load-module module-x11-bell sample=x11-bell

### Publish connection data in the X11 root window
# load-module module-x11-publish

Dann noch die /etc/X11/xinit/xinitrc anpassen (Auszug):
Code:
#
# Add your own lines here...
#
pulseaudio -D
 

whois

Ultimate Guru
Hi

Danke dir ich habe heute etwas Zeit und wollte auch eine Test Phase einlegen.
Mal sehen wie das funktioniert. :wink:

cu
 
OP
C

CHMS

Newbie
Noch ein wichtiger Hinweis:

Es gibt Programme, die nicht mit PulseAudio zusammenarbeiten.

In diesem Fall muss vorher der Daemon beendet und nach Beendigung der Anwendung wieder gestartet werden.
Ein Neustart des Daemon scheint auch nach einer Änderung der Konfiguration (z.B. mit Yast) nötig zu sein.

Hierzu als User in der Konsole
pulseaudio -k kill daemon
bzw.
pulseaudio -D Daemonize after startup
eingeben.

Für das betroffene Programm wird die als primär festgelegte Soundkarte benutzt.
Wenn man hier die/eine andere Soundkarte verwenden will, muss man das in Yast ändern.

Ich bin schwer am überlegen, ob ich statt PulseAudio eine direkte Verknüpfung auf das Yast-Modul "sound" anlegen soll - wenn da nicht das Passwort wäre...
Gibt es eigentlich (als root) eine Möglichkeit, einem User den Aufruf eines einzelnen (!) Yast-Moduls ohne root-Passwort zu erlauben (in diesem Fall das Modul "Sound")?

@nbkr: Gelöst? Naja, nicht wirklich.
Oder besser gesagt: Wenn einer eine einfachere und vor allem eine mit allen Programmen arbeitende Möglichkeit kennt, wäre ich für Hinweise dankbar.
 
Oben