From Amarok Wiki
Unten befindet sich eine Beispielkonfiguration, die es dir ermöglicht das Dmix-Plugin zu verwenden.
- Beachte, dass die folgende Anleitung nur notwendig ist, wenn das eingebaute dmix plugin der alsa-lib (libasound2 in Debian-Basierten System) nicht funktioniert! Du kannst auf dieses vordefinierte dmix plugin mit "plug:dmix" als virtuelles Alsa-Device zugreifen.
Du kannst die Konigurationsdatei entweder unter ~/.asoundrc speichern (hat nur effekt auf deinen Benutzer), oder in /etc/asound.conf (gesamtes System). Nach bearbeitung dieser Dateien, musst du nur das/die ALSA Programm/e neustarten.
pcm.ossmix {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0" # muss das richtige Gerät sein
#period_time 0 # seit ALSA 1.0pre nicht mehr notwendig
period_size 1024 # benutzte ein Vielfaches von 2
buffer_size 4096 # muss ein Vielfaches der period_size sein
#rate 44100 # nicht nötig, ALSA-lib kann diese Option steuern
}
bindings {
0 0
1 1 # binde nur die ersten 2 Kanäle
}
}
pcm.duplex
{
type asym
playback.pcm "ossmix"
capture.pcm "dsnoop"
}
# Alles sollte dmix sein, also definiere "default" neu:
# Beachte, dass das keine gute Idee ist, seitdem dmix keinen nmap Zugriff erlaubt
#pcm.!default {
# type plug
# slave.pcm "duplex"
#}
# OSS via aoss should d(mix)stroyed:
pcm.dsp0 {
type plug
slave.pcm "duplex"
}
ctl.ossmix {
type hw
card 0
}
Um zu überprüfen ob dmix läuft, kannst du 2 oder 3 Instanzen von "alsaplayer" (oder irgend ein anderes ALSA-Programm, z.B. Amarok) gleichzeitig laufen lassen:
alsaplayer -o alsa -d plug:ossmix some.mp3
Wenn du Tonverzerrungen beim Ausführen von prozessorintensiven Tasks, wie kompilieren oder nutzen von OpenGL Visualisierungen, dann kann das erhöhen der buffer_size in ~/.asoundrc helfen. Es sollte in Vielfachen von 2 erhöht werden zB:
pcm.ossmix {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
#period_time 0
period_size 1024
buffer_size 16384 # buffer size = 4096 x 2 x 2
#rate 44100
}
bindings {
0 0
1 1
}
}