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

[solved] XMMS mit ALSA auf Surround routen

Hi

ich hab ne Creative Soundblaster Audigy 2 NX (USB). Die läuft soweit ganz gut, aber ich will jetzt wenn ich im XMMS mp3s höre diese auf die weiteren Kanäle meiner 5.1 Anlage "spiegeln".
Kenn mich mit Alsa ned besonders aus, vielleicht kann mir ja einer von euch helfen.

Thomas
 

oddikurt

Hacker
ALSA für 5.1 bzw. Surround emulation einrichten
Im
Code:
~/
Verzeichnis eine Datei namens:
Code:
.asoundrc
anlegen.
Möglicherweise hat ALSA auch schon eine erstellt.
Dies ist notwendig wenn der Stereo Sound aus allen 6 Boxen dudeln soll.
Code:
.asoundrc
bearbeiten und für Stereo zu 6 Kanal folgendes einfügen:

Code:
pcm.intel8x0 {  ### Achtung! dies auf deine Soundkarte anpassen
        type hw
        card 0
}

ctl.intel8x0 {   ### Achtung! dies auf deine Soundkarte anpassen
        type hw
        card 0
}

pcm.to51 {			# Name des Plugin Devices.
 	type plug		# Die Art: Plugin - In ALSA, PCM plugins extend functionality
				# and features of PCM devices.  to make use of them you need to
				# create a virtual slave device.
 	slave.pcm {		#  (Sklave von PCM)
 		type route		# Die Funktions Art(en) des Plugins
 		slave.pcm "hw:0"	# Der SKlave der Karte(Device) "hw:0" -> Übergeordnetes
					# Plugin das benutzt wird.
		slave.channels 6	# Dieser "Sklave" verwendet 6 Kanäle !!!(wichtig!)
 		ttable.0.0 1		# Der Kanal 0 (Stereo-links) bleibt bei 0, 
 		ttable.1.1 1		# Der Kanal 1 (Stereo-rechts) bleibt bei 1,
 		ttable.0.2 1		# Der Kanal 0 kopiert auf Kanal 2 (rear-links),
 		ttable.1.3 1		# Der Kanal 1 kopiert auf Kanal 3 (rear-rechts),
 		ttable.0.4 0.5		# Der Kanal 0 kopiert auf Kanal 4 (center),
 		ttable.1.4 0.5		# Der Kanal 1 kopiert auf Kanal 4 (center),
 		ttable.0.5 0.5		# Der Kanal 0 kopiert auf Kanal 5 (sub),
 		ttable.1.5 0.5		# Der Kanal 1 kopiert auf Kanal 5 (sub),
 	}
 }

Erklärung:

Die zwei ersten Einträge variieren je nach Soundkarte.
Der Eintrag pcm.to_51 sorgt dafür, dass die zwei Stereo Kanäle kopiert, und auf die anderen Ausgabe Kanäle geleitet werden. Sozusagen so etwas wie eine "Surround-Emulation"
Der Abspieler muss auf diesen PCM-Kanal gelenkt werden!
Z.B.: bei xine einfach als Device: to51 angeben.
<edit1>bei xine einfach als Device: plug:to51 angeben.</edit1>
:wink:
 

jpfoe

Newbie
@oddikurt,

ich habe ein ähnliches Problem: Meine DMX6fire (TerraTec), die eigentlich eine 7.1-Audioausgabe beherrscht, bringt diese nur auf zwei Kanälen, wenn ich im xmms "ALSA" als Soundtreiber wähle (mit OSS funktioniert die Ausgabe auf allen acht Kanälen, ich möchte aber gern auch ALSA benutzen).

Darum bitte nochmal zum mitmeißeln: In welchem Verzeichnis muss ich die Datei .asoundrc anlegen? Und wie genau muss ich das machen? - Entschuldige bitte, wenn ich etwas blöde Fragen stelle, aber ich hab' damit einfach keinerlei Erfahrung.

Danke schon mal!
Johannes
 

oddikurt

Hacker
jpfoe schrieb:
Darum bitte nochmal zum mitmeißeln: In welchem Verzeichnis muss ich die Datei .asoundrc anlegen? Und wie genau muss ich das machen?
Das
Code:
~/
bezeichnet Dein
Code:
home/user/
Verzeichnis. Darin die "versteckte" Datei
Code:
.asoundrc
anlegen.
Du kannst die Datei mit einem beliebigen Texteditor anlegen. Z.B.: Vim oder Kate. :wink:
Fehler in meinen Angaben sind auf erhöhten Alloholkonsum an Silvester zurückzuführen und sollten nicht so eng gesehen werden. :twisted: :p :lol: :shock: :wink: ....
Einen guten Rutsch!
 
OP
H

High[Fish]

Newbie
Also:

ich hab ne audigy2nx also bin ich davon ausgegangen dass
pcm.intel8x0 { ### Achtung! dies auf deine Soundkarte anpassen
type hw
card 0
}

ctl.intel8x0 { ### Achtung! dies auf deine Soundkarte anpassen
type hw
card 0
}
zu
Code:
pcm.audigy2nx {  ### Achtung! dies auf deine Soundkarte anpassen
        type hw
        card 0
}

ctl.audigy2nx {   ### Achtung! dies auf deine Soundkarte anpassen
        type hw
        card 0
}
wird. Aber wenn ich das to51 bei xmms einstelle kommt ne fehlermeldung: Konnte Audio nicht öffnen ...

Woran könnte das liegen? Ach ja die Zeile hab ich auch noch geändert:
slave.pcm "hw:0" # Der SKlave der Karte(Device) "hw:0" -> Übergeordnetes
# Plugin das benutzt wird.

Das ist bei mir hw:1, da es ja meine 2. Soundkarte ist.

Hoffe ihr könnt mir helfen..
Thomas
 
OP
H

High[Fish]

Newbie
Mhm komisch, es geht immer noch nicht obwohl ich das jetzt geändert hab.

Immer noch der selbe Fehler.
 

jpfoe

Newbie
@oddikurt,

pardon, ich muss noch etwas nerven (obwohl schon seit über 2 Jahren Linuxer habe ich mit "sowas" überhaupt keine Erfahrungen) - also, meine .asoundrc sieht jetzt so aus:

Code:
pcm.DMX 6fire 24/96 {
        type hw 
        card 0 
} 

ctl.DMX 6fire 24/96 {
        type hw 
        card 0 
} 

pcm.to51 {         # Name des Plugin Devices. 
    type plug      # Die Art: Plugin - In ALSA, PCM plugins extend functionality 
            # and features of PCM devices.  to make use of them you need to 
            # create a virtual slave device. 
    slave.pcm {      #  (Sklave von PCM) 
       type route      # Die Funktions Art(en) des Plugins 
       slave.pcm "hw:0"   # Der SKlave der Karte(Device) "hw:0" -> Übergeordnetes 
               # Plugin das benutzt wird. 
      slave.channels 6   # Dieser "Sklave" verwendet 6 Kanäle !!!(wichtig!) 
       ttable.0.0 1      # Der Kanal 0 (Stereo-links) bleibt bei 0, 
       ttable.1.1 1      # Der Kanal 1 (Stereo-rechts) bleibt bei 1, 
       ttable.0.2 1      # Der Kanal 0 kopiert auf Kanal 2 (rear-links), 
       ttable.1.3 1      # Der Kanal 1 kopiert auf Kanal 3 (rear-rechts), 
       ttable.0.4 0.5      # Der Kanal 0 kopiert auf Kanal 4 (center), 
       ttable.1.4 0.5      # Der Kanal 1 kopiert auf Kanal 4 (center), 
       ttable.0.5 0.5      # Der Kanal 0 kopiert auf Kanal 5 (sub), 
       ttable.1.5 0.5      # Der Kanal 1 kopiert auf Kanal 5 (sub), 
    } 
 }

Alsa gibt sich jedoch nach wie vor bockbeinig und bringt den Ton nur auf zwei Kanälen. Was mache ich falsch?

Schonmal vielen Dank für deine Hilfe - und alles Gute für 2006!

Johannes
 

oddikurt

Hacker
hi jpfoe,

Dein Eintrag müsste eigentlich so aussehen:

Code:
pcm.ice1712 {
           type hw
           card 0
        }

        ctl.ice1712 {
           type hw
           card 0
        }

Und im ALSAMIXER nat. alles entsprechend stellen bzw. "aufdrehen".
 

Rabe01

Newbie
@oddikurt hi ich bin anscheinend etwas schwer von Begriff, deshalb die Frage:
der Name nach pcm. in der asoundrc ist dieser gleichzusetzen mit dem verwendeten Treiber?

Ich habe damit noch ein anderes Problemchen, ich nutze KDE mit der Einstellung OSS als Soundsystem, fuktioniert dann die Datei auch oder gibs Probs damit.
Falls dies der Fall sein sollte, was müsste ich tun?

Ich besitze einen onboard Chip der als Soundblaster live 24bit benannt wird, unter SuSE 10 als Audigy erkannt wird. Treiber ist ca0106. Alsa müsste 1.0.10 sein.

Wenn die Einstellung bei mir so steht funktioniert sogar Musik und Skype gleichzeitig, was unter Soundsystem ALSA nicht funzt.
 

oddikurt

Hacker
Rabe01 schrieb:
@oddikurt hi ich bin anscheinend etwas schwer von Begriff, deshalb die Frage:
der Name nach pcm. in der asoundrc ist dieser gleichzusetzen mit dem verwendeten Treiber?
Dies bezeichnet meines Wissens nach das ALSA Device, also im Prinzip der ALSA Treiber bzw. ein Teil von diesem.
Rabe01 schrieb:
Ich habe damit noch ein anderes Problemchen, ich nutze KDE mit der Einstellung OSS als Soundsystem, fuktioniert dann die Datei auch oder gibs Probs damit.
Falls dies der Fall sein sollte, was müsste ich tun?
Das ALSA System muss von einer Anwendung expilizit angesprochen werden. Beispiel: xmms:
Du kannst im Setup des xmms Einstellen was er als Ausgabe-Plugin verwendet. OSS oder ALSA oder....
Im Prinzip ist's mit KDE dasselbe.
Die .asoundrc Datei hat mit OSS nichts am Hut.
Rabe01 schrieb:
Ich besitze einen onboard Chip der als Soundblaster live 24bit benannt wird, unter SuSE 10 als Audigy erkannt wird. Treiber ist ca0106. Alsa müsste 1.0.10 sein.
Wenn die Einstellung bei mir so steht funktioniert sogar Musik und Skype gleichzeitig, was unter Soundsystem ALSA nicht funzt.
Sehr gut möglich. Die Einstellungen in der .asoundrc Datei sollten daran nichts ändern.
Falls Du etwas testen möchtest, würde ich Dir wie oben beschrieben Empfehlen den Weg über einen Player mit nativer ALSA Unterstützung zu wählen.
 

Rabe01

Newbie
wenn ich es richtig verstehe muss es bei mir also etwa so:

pcm.ca0106 lauten?

Dann werde ich es damit noch mal testen.
Danke
Gruß Rabe
 

eminus

Newbie
hallo
ich hab zwar schon gesucht aber noch keine antwort gefunden
hab jetzt über die .asoundrc
den stereo auf 51 geroutet aber wenn ich in Kaffeine und ter xine -> Audio auf to51 stelle kommt immer audioausgang ist nicht verfügbar gerät ist belegt ()

woran könnte es liegen ?

Code:
pcm.ca0106 {
           type hw
           card 0
        }
        ctl.ca0106 {
           type hw
           card 0
        }

pcm.to51 {         
    type plug      
    
    slave.pcm {      
       type route    
       slave.pcm "hw:0"

      slave.channels 6
       ttable.0.0 1    
       ttable.1.1 1    
       ttable.0.2 1    
       ttable.1.3 1    
       ttable.0.4 0.5 
       ttable.1.4 0.5 
       ttable.0.5 0.5 
       ttable.1.5 0.5 
    } 
 }
 

oddikurt

Hacker
@ eminus:
Du hast die Soundkarte zu der "pcm.ca0106"?
Gib einmal
Code:
hwinfo --sound
als root ein und poste das hier bitte.
Die .asoundrc die Du gepostet hast scheint in O. zu sein. Ich kenne aber Deinen Rechner, und vor allem Deine Soundkarte und Konfiguration nicht, um Dir diese Frage beantworten zu können. :wink:
 

eminus

Newbie
sorry verplant hab ne Sb Live 24bit

Code:
12: PCI 06.0: 0401 Multimedia audio controller
  [Created at pci.277]
  UDI: /org/freedesktop/Hal/devices/pci_1102_7
  Unique ID: H0_h.SkI7fguunbB
  SysFS ID: /devices/pci0000:00/0000:00:06.0
  SysFS BusID: 0000:00:06.0
  Hardware Class: sound
  Model: "Creative SB0410 SBLive! 24-bit"
  Vendor: pci 0x1102 "Creative Labs"
  Device: pci 0x0007 "SB Audigy LS"
  SubVendor: pci 0x1102 "Creative Labs"
  SubDevice: pci 0x1006 "SB0410 SBLive! 24-bit"
  Driver: "CA0106"
  I/O Ports: 0xd400-0xd41f (rw)
  IRQ: 10 (170222 events)
  Module Alias: "pci:v00001102d00000007sv00001102sd00001006bc04sc01i00"
  Driver Info #0:
    Driver Status: snd_ca0106 is active
    Driver Activation Cmd: "modprobe snd_ca0106"
  Config Status: cfg=yes, avail=yes, need=no, active=unknown

24: PCI 11.5: 0401 Multimedia audio controller
  [Created at pci.277]
  UDI: /org/freedesktop/Hal/devices/pci_1106_3059
  Unique ID: Ssy1.dTK0qnjEQ70
  SysFS ID: /devices/pci0000:00/0000:00:11.5
  SysFS BusID: 0000:00:11.5
  Hardware Class: sound
  Model: "Micro-Star International K8T NEO 2 motherboard"
  Vendor: pci 0x1106 "VIA Technologies, Inc."
  Device: pci 0x3059 "VT8233/A/8235/8237 AC97 Audio Controller"
  SubVendor: pci 0x1462 "Micro-Star International Co., Ltd."
  SubDevice: pci 0x0080 "K8T NEO 2 motherboard"
  Revision: 0x60
  Driver: "VIA 82xx Audio"
  I/O Ports: 0xbc00-0xbcff (rw)
  IRQ: 5 (27 events)
  Module Alias: "pci:v00001106d00003059sv00001462sd00000080bc04sc01i00"
  Driver Info #0:
    Driver Status: via82cxxx_audio is not active
    Driver Activation Cmd: "modprobe via82cxxx_audio"
  Driver Info #1:
    Driver Status: snd_via82xx is active
    Driver Activation Cmd: "modprobe snd_via82xx"
  Config Status: cfg=yes, avail=yes, need=no, active=unknown
 

oddikurt

Hacker
Ok, 2 Soundkarten aber nix ungewöhnlliches.
Die genaue Angabe in Kaffeine -> Einstellungen -> xine Engine Parameter -> Audio:
Bei Anfänger:
ALSA und evtl. Surround5.1 (Falls eine DVD läuft die schon 6 Kanäle hat)
Bei Experten:
device.alsa default device:
Code:
plug:to51

device alsa_front_device:
Code:
plug:to51

- Einfach nur "to51" reicht hier nicht.

Vielleicht liegt da Dein Fehler. Falls nicht, schau einmal, was Deine Soundkarte blockieren könnte...evtl. artsd..
 

eminus

Newbie
DVD mit 5.1 haut hin jetzt aber wenn ich ne mp3 hören möchte
kommt immer nur
Code:
Audioausgang ist nicht verfügbar gerät ist belegt ()

oddikurt schrieb:
Falls nicht, schau einmal, was Deine Soundkarte blockieren könnte...evtl. artsd..
wie kann ich das machn ?
sorry bin leider nich so der linux crack :?
 
Oben