Am Dienstag, 20. Mai 2008 21:11 schrieb Falk Döring:
Hallo LUG,
ich habe mir in den letzten Tagen mal die ganze Sounderei unter Linux (speziell Kubuntu 8.04) etwas genauer angesehen. Also Jack, Arts, Alsa usw. Als Player habe ich Amarok genommen und die aktuelle libxmms 1.1.12 mit Ausgabe über arts, alsa und jack usw. selbst compiliert. Wenn ich den Sound über Alsa und Arts ausgebe, funktioniert alles einwandfrei. Nur wenn ich Jack dazwischen hänge, stottert die Musik. Ich habe den normalen Kernel genommen und den rt-Kernel, immer der selbe Effekt. Auch mit einem anderen Programm, was Jack nutzt, stottert es. Also nehme ich mal an, dass etwas mit Jack nicht stimmt.
Ekliges Problem. Die Kette ist Applikation -> Jack -> Alsa -> Hardware ->Ohr. Die Lösung erfolgt rückwärts.
Ich fange bei Alsa an. 1.) Sicherstellen, daß keine Applikation dieses Gerät nutzt. (Kein arts, kdm, oss , ... "killall") 2.) Sich mit einer App. direkt in Alsa einklinken. (aplay xyz) Das sollte einwandfrei laufen.
3.) jackd verstellt speziell die Buffergrößen, die vom Alsatreiber verwaltet werden, um gringe Latenzzeiten zu erzielen. Manche Hardware läßt das nicht fehlerfrei zu. (Selbst wenn jackd perfekt arbeitet und auch "gescheduled" wird.) (Test mit aplay und entsprechenden Einstellungen.)
4.) Jackd selbst darf nicht "außer Tritt" kommen (x-runs, werden normalerweise angezeigt). Das ist orthogonal zur echten Ausgabe. D.h. bei x-runs wird's mit Sicherheit hörbar, aber ohne x-runs können andere Fehler auftreten. Das ist über rt-kernel, root-Betrieb u.ä. erreichbar, kann aber auch durch "Pufferkomplikationen" erschwert werden..
5.) Meine Erfahrung ist, daß (zwei) Applikationen Alsa "sharen". Das ist zulässig, eigentlich sogar gewünscht (Alsa-Softmixer) , führt im Fall Jackd (Pufferverstellung) aber zu Problemen wie s.o. Ich kann auf demselben Alsa-device keine 2 jackd laufen lassen (Fehlermeldung jackd wegen bereits belegt.) Andere Applikationen sind da "unsensibel".
6.) Appikationen: Richtig interessant wird es bei Samplerate-Unterschieden. (Qulle (CD 44,1 kHz) abspielen, XMMS ???, Jackd auf 44,1 kHz, Soundkarte aber intern 48,0 kHz. Davon dann beliebige Kombinationen...)
Ein weites Feld. Einleuchtend?
Bernhard
PS: Solange Du nicht aktiv Musik selber machst, laß jackd weg. Wenn Du das allerdings willst, geht an jackd kein Weg vorbei. Dann will er aber auch exklusiv und optimal eingestellt arbeiten dürfen.