Zum Inhalt springen
Startseite » Immer Ärger mit jack…

Immer Ärger mit jack…

Vor ein paar Tagen habe ich mich mit dem Audioserver jack beschäftigt, besser herumgeschlagen.
Mein Rechner läuft mit Lubuntu 12.04 und sollte über ein Behringer UCG102 Interface meine Gitarre wiedergeben und aufnehmen. Ich wollte gerne auch mal Guitarix testen, von dem ich so einiges schon gelesen hatte.

Um das alles irgendwie zusammen zu bringen braucht man jack. Um jack zu aktivieren gibt es eine GUI, namens qjackctl. Leider wollte es mir aber nicht gelingen jack mittels dieser GUI so zu starten, daß auch jack-Programme diesen erkennen. Guitarix behauptete z.B. immer, jack würde nicht laufen, obwohl ich mit ‚ps ax‘ eindeutig sehen konnte, daß der jack Daemon lief.

Also habe ich mit auf die „Kommandozeile“ begeben und ein Terminal gestartet. Mit arecord erstmal festgestellt unter welcher Nummer das Behringer als Capture Device angemeldet war.
> arecord -l
**** Liste der Hardware-Geräte (CAPTURE) ****
Karte 0: Intel [HDA Intel], Gerät 0: ALC1200 Analog [ALC1200 Analog]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 0: Intel [HDA Intel], Gerät 1: ALC1200 Digital [ALC1200 Digital]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 0: Intel [HDA Intel], Gerät 2: ALC1200 Analog [ALC1200 Analog]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 1: CODEC [USB Audio CODEC], Gerät 0: USB Audio [USB Audio]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0

Wie man unschwer erahnen kann handelt es sich dabei um Karte 1, nach ein bißchen Recherche im Netz und lesen der man-page von jackd kam dann folgende Kommandozeile heraus.
jackd -R -p128 -t200 -m -dalsa -r44100 -n3 -D -Chw:1 -Phw:0 -S -M -H -p265 -Xseq
Und siehe da, man konnte die Gitarre hören und Guitarix erkannte auch, daß der jack Daemon lief, also versuchte ich diese Werte in qjackctl einzugeben, aber egal was ich machte, es klappte nicht. Also erstellte ich mir einfach ein Skript um den jackd zu starten und eins um ihn wieder zu stoppen.

jackd_start
#!/bin/sh
jackd -R -p128 -t200 -m -dalsa -r44100 -n3 -D -Chw:1 -Phw:0 -S -M -H -p265 -Xseq &

jackd_stop
#!/bin/sh
killall jackd

Damit klappte alles einwandfrei, man könnte das Startskript auch noch entsprechend erweitern, falls man die Nummern der Capture und Wiedergabedevices übergeben möchte.
jackd_start
#!/bin/sh
jackd -R -p128 -t200 -m -dalsa -r44100 -n3 -D -Chw:$1 -Phw:$2 -S -M -H -p265 -Xseq &

Dann müßte man das Skript so aufrufen:
> ./jack_start 1 0
Man kann sich natürlich auch eine entsprechende Desktopverknüpfung anlegen und startet die Skripe per Doppelklick.
Warum das setzen der Werte für jackd über qjackctl nicht funktioniert, keine Ahnung, soll mir jetzt aber auch egal sein.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert