PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ALSA mit demix und CA0106 - stumm



smartysmart34
10.08.05, 07:12
Hallo zusammen,

ich habe unter SUSE 9.3 derzeit ALSA im Einsatz. Im System ist eine SB Live! 24. Ich weiss, es gibt besseres.
Ich kriege derzeit mit einer "Minimal"-Asound.conf töne raus, vermute aber, daß mehr geht.

Derzeitige asound.conf:


pcm.ca0106 {
type hw
card 0
}

ctl.ca0106 {
type hw
card 0
}

pcm.!default {
type hw
card 0
}


Ich habe eine auf BAsis von Internetrecherche angepasste asound.conf erstellt, und versuche, das dmix-Plugin zu nutzen. Allerdings bleint mein System damit vollständig stumm. So sieht das File aus:


pcm.ca0106 {
type plug
slave.pcm "mixed"
}

ctl.ca0106 {
type hw
card 0
}

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

#ctl.!default {
# type hw
# card 0
# }

pcm.mixed {
type dmix
ipc_key 1024
ipc_key_add_uid true
slave {
pcm "hw:0,0"
# period_time 0
period_size 1024
buffer_size 8192
# periods 128
rate 44100
}


Hat jmd. eine ähnliche Konfiguration sauber am Laufen? habe ich evtl. Teile von ALSA vergessen? Ich hab' aber in YAST keine Pakete mehr gefunden...

Danke und Gruß,
Martin

undefined
10.08.05, 07:27
Also die Config nützt dir gar nichts :o
pcm.ca0106 ist deine Standard Karte deshalb kannst du dir Default sparen.


pcm.ca0106 {
type hw
card 0
device 0
subdevice -1
mmap_emulation true
sync_ptr_ioctl true
}

ctl.ca0106 {
type hw
card 0
device 0
}

seq.ca0106 {
type hw
card 0
device 0
}

dmix


pcm.directmixer {
type dmix
ipc_key 1024
slave {
pcm ca0106
period_time 0
period_size 1024
buffer_size 8192
}
bindings {
0 0
1 1
}
}

pcm.dsp0 {
type plug
slave {
pcm directmixer
}
}

danach alsa runterfahren die asound.state in den Mülleimer werfen und alsa neus starten und ein /usr/sbin/alsactl store ausführen.

Siehe auch arecord -l oder arecord -L

smartysmart34
10.08.05, 14:12
Hallo undefined,

vielen Dank für Deine Hilfe. Ich habe die Einträge mal einfach so übernommen. Sehe ich das richtig, daß die alle in die asound.conf müssen?

Ton geht zwar, aber auch nicht besser, als mit meiner alten "Kurzfassung". Die KDE Systemsounds wirken irgendwie rumpelig und unsauber.

Woran könnte das liegen?

Andere Frage:
So wie ich das verestehe, ist der text nach "pcm." die Bezeichnung für das Gerät. Also z.B. CA0106. Woher weiß eine Software jetzt, daß sie auch "directmixer" nehmen kann? Wo stelle ich sowas ein? Oder geht das automatisch? Wie?

Danke und Gruß,
Martin

undefined
10.08.05, 15:58
Das anbinden steuerst du über bindings
Was im Moment von der Hardware Einstellung angenommen wird kannst du mit arecord -L Anzeigen lassen. Hie sollten keine Fehler kommen sonst gibt es keinen.

Wenn kde Probleme macht kann es sein das du im Kde Konfigurations-center deine Einstellungen überschreibst. Diese solltest du beim einstellen von alsa erst mal auf Standard stellen.
Du kannst ebenfalls im Kontrollzenter deine eigene Hardware Karte angeben.
zb: Beispiel hw:0,0 oder wie hier in diesem fall dsp0
Testen solltest du aber am besten auf der Konsole.
artswrapper -D dsp0 -l 3
zuvor aber erst alle arts Prozesse Killen ;)

smartysmart34
10.08.05, 18:42
Hallo undefined,

Danke für die Tips. Eins habbich noch: Wo genau gebe ich bei KDE dsp0 an? Ich habe bei der Auswahl der Soundhardware im Kontrollzentrum die Alternativen:
- Kein Sound
- ALSA
- OSS
- Automatisch feststellen
- Nochmal OSS

Sonst nix. Habe ich was falsch verstanden?

Danke und Gruß,
Martin

undefined
11.08.05, 17:07
Unter Eigene Geräte Datei verwenden:
zb: plug:directmixer

smartysmart34
12.08.05, 09:01
Wie... so einfach?
Manchmal seh ich den Wald vor lauter Bäumen nicht. Ist diese Syntax da auch dokumentiert?

Ich werd's mal ausprobieren. Also einfach genau so, wie's da steht plug:directmixer...

Danke für den Tip und schönes Wochenende,
Martin

Edit: Wäre das für dsp0 analog "plug:dsp0"?

undefined
12.08.05, 11:02
Jep, du hast aber auch noch eine zweite Möglichkeit.
Wenn du ein default plugin auf deinen Dmix setzt.
zb:

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

Teste das ganz mit aplay
zB:aplay -v test.wav
Hier sollten jetzt alle Stationen aufgeführt werden die deine Karte durchläuft.
Auf jeden Fall mindestens 3 müßen es sein!
Das Soundfile Dmix und die Karte ;)
Das ganze sieht in etwas so aus

aplay -v Test.wav
Playing WAVE 'Test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Plug PCM: Rate conversion PCM (48000, sformat=S16_LE)
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 44100
exact rate : 44100 (44100/1)
msbits : 16
buffer_size : 7526
period_size : 940
period_time : 21333
tick_time : 0
tstamp_mode : NONE
period_step : 1
sleep_min : 0
avail_min : 940
xfer_align : 940
start_threshold : 7520
stop_threshold : 7526
silence_threshold: 0
silence_size : 0
boundary : 986447872
Slave: Direct Stream Mixing PCM

Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 8192
period_size : 1024
period_time : 21333
tick_time : 0
tstamp_mode : NONE
period_step : 1
sleep_min : 0
avail_min : 1024
xfer_align : 1024
start_threshold : 8192
stop_threshold : 8192
silence_threshold: 0
silence_size : 0
boundary : 1073741824
Hardware PCM card 0 'VIA 8235' device 0 subdevice 3

Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 8192
period_size : 1024
period_time : 21333
tick_time : 1000
tstamp_mode : NONE
period_step : 1
sleep_min : 0
avail_min : 1024
xfer_align : 1024
start_threshold : 1
stop_threshold : 1073741824
silence_threshold: 0
silence_size : 1073741824
boundary : 1073741824



Es gibt auch einen FAQ zu diesem Thema
http://alsa.opensrc.org/index.php?page=Dmix+Kde+-+arts%2C+ESD+and+SDL+quick+and+dirty+HOWTO

mfg undefined

smartysmart34
12.08.05, 17:12
Mensch klasse, genau das war's.
Super sound... Vielen Dank und schönes Wochenende,
Martin