Der Soundserver Jack: Das Herz des Linux Tonstudios

 

Der Soundserver Jack ist das Herz eines professionellen Tonstudios auf Linux-Basis. Die Konfiguration ist einfach, wenn man weiß, was man tut. Hier erkläre ich Dir, worauf es ankommt.

Der Soundserver Jack regelt konkurrierende Zugriffe auf die Soundkarte

Wenn unter Windows mehrere Programme auf die Soundkarte zugreifen, regelt das Betriebssystem, dass sich die Programme nicht gegenseitig blockieren. Unter Linux ist das erst einmal anders: Wenn ein Programm, das die Soundkarte nutzt, gestartet ist, haben andere Programme keinen Zugriff mehr, sind also stumm.  Jetzt kommt der Soundserver Jack ins Spiel: Er sorgt dafür, dass mehrere Programme gleichzeitig bei der Soundkarte zum Zuge kommen.

Bei einem Feld-, Wald- und Wiesen-Linux hat sich PulseAudio als Soundserver etabliert. Das heißt, wenn Du das Linux installiert hast, wird beim Booten automatisch PulseAudio gestartet, und Linux verhält sich genauso wie Windows: Alle Programme können parallel auf die Soundkarte zugreifen. Allerdings ist PulseAudio nicht für professionelle Audio-Anwendungen konzipiert – dafür gibt es den Soundserver Jack.

Bei modernen Linux Audio Distributionen sind PulseAudio und Jack so konfiguriert, dass sie gleichzeitig laufen können und sogar Hand in Hand arbeiten. Allerdings wird Jack nicht automatisch gestartet, das musst Du selbst tun. Am einfachsten gelingt die Konfiguration und der Start von Jack mit einem grafischen Frontend, ich nutze dafür am liebsten QJackCtl.

Wie wird qjackctl gestartet?

Wo Du im Startmenü die einzelnen Programme findest, hängt von der verwendeten Distribution und dem jeweiligen Desktop ab. Bei Windows gibt die Version vor, wie der Desktop grundsätzlich aussieht – Windows 7, 8 und 10 erkennst Du sofort am Look&Feel. Unter Linux hast Du die Auswahl unter vielen, teils sehr unterschiedlichen Desktops: Gnome, KDE, LXDE, Xfce, Unity, … . Wobei jede Distribution einen Lieblings-Desktop mitbringt, der beim Installieren der Standard ist. Bei Ubuntu Studio und AV Linux ist es Xfce, weil er relativ wenig grafischen Schnickschnack hat und deshalb schonend mit den Systemressourcen umgeht. Letztere verwenden wir lieber für die Audio-Performance.

Lange Rede kurzer Sinn: Bei AV Linux in der 64 Bit Version findest Du QJackCtl im Menü “AV Applications” unter “Multimedia/Hardware-Configuration”. Oder, netterweise  in der schon vorkonfigurierten Startleiste:

Jack Soundserver starten
Start-Icon von Jack in der Startleiste von AV Linux

Bei Ubuntu Studio findest ist das Icon im Startmenü unter den Favoriten:

Startmenü von Ubuntu Studio
Starten von Jack bei Ubuntu Studio

Also bitte auf das Stecker-Icon klicken, um QJackCtl zu starten.

Wie kommt das Gitarren-Signal in den PC?

Die passende Soundkarte

Bevor wir mit der Konfiguration beginnen, sollten wir uns kurz über das Thema Soundkarte unterhalten. Heutzutage haben fast alle PC’s eine On Board Soundkarte. Die ist für normale Anwendungen hervorragend geeignet, also das Abspielen von Musik, Soundtracks von Filmen, Geräusche von Spielen. Für das Aufnehmen von Gitarren und die Echtzeit-Verwendung von entsprechenden Effekten ist sie nur bedingt geeignet. Das hat primär zwei Gründe: 1. Der Ausgangspegel der Gitarren ist zu gering für den Eingang der Soundkarte und 2. schaffen die Onboard-Soundkarten meistens nicht die notwendige geringe Latenzzeit. Du erinnerst Dich aus dem Linux-Beitrag: Latenz ist die Verzögerung, die man zwischen dem Zupfen der Saite und dem Auftreffen des Schalls in Deinem Ohr misst. Dabei geht es uns hier um die Zeitverzögerung vom Eingang der Soundkarte bis zur Eingangsbuchse, also die Zeit, die Deine Hard- und Software für die Signalverarbeitung benötigt. Latenzzeiten größer 10 Millisekunden können schon störend sein.

Also wirst Du wahrscheinlich nicht um die Anschaffung von spezieller Hardware herumkommen. Welche das ist, hängt sicherlich von Deinen Anforderungen und Deinem Geldbeutel ab.

Konkrete Hardware-Varianten

Mein Setup sieht so aus:

  • M-Audio Audiophile 2496 Soundkarte. Die gibt es schon seit Ewigkeiten, ich habe Posts im Web von 2003 gefunden, die sich mit dieser Karte beschäftigen. Die ist immer noch, was Latenz und Klangqualität angeht, absolute Spitze. Und es gibt sowohl unter Linux als auch neuerdings wieder unter Windows 10 gut funktionierende Treiber dafür.
  • Effektgerät Boss GT 10. Dabei gehe ich über den digitalen SPDIF-Ausgang des GT 10 in den SPDIF-Eingang der 2496.
  • Folgende Varianten habe ich auch ausprobiert:
  • Analoger Ausgang GT 10 über Mischpult mit Vorverstärker in analogen Eingang der 2496: Klangqualität durchwachsen – kein Wunder, wenn der Sound erst nach analog und dann wieder digital gewandelt wird.
  • Gitarre direkt in Mischpult mit Vorverstärker in analogen Eingang der 2496: Sound auch nicht so dolle.
  • GT 10 über USB-Kabel an PC angeschlossen und das GT 10 und in QJackCtl als Eingangs-Soundkarte eingestellt: Sound hervorragend. Allerdings knistert der Verstärker am GT 10 wie wild, wenn es über USB am PC hängt.
  • Gitarren-Interface, das ich mir für’s iPad gekauft hatte, per USB an den PC angeschlossen. Qualität: Weiß ich nicht mehr, aber wenn’s gut gewesen wäre, hätte ich es bestimmt weiter verwendet.
  • Gitarre direkt an analogen Eingang der On Board Soundkarte: Vergiss es, viel zu leise, verrauscht, hohe Latenz.

Es gibt mittlerweile eine Menge Geräte auf dem Markt, mit denen Du Deine Gitarre und andere Instrumente mit dem PC verbinden kannst. Die meisten werden über USB angeschlossen. Welches das beste für Dich ist, hängt wie oben geschrieben von Deinen Anforderungen ab. Zum Beispiel, ob Du viele Ein- und Ausgänge benötigst. Am besten stöberst Du mal im Internet oder fragst jemanden, der sich auskennt.

Die Konfiguration des Soundserver Jack

Aber kommen wir wieder zurück zu den Einstellungen von Jack. Wenn Du QJackCtl gestartet hast, klickst Du auf den Button “Einstellungen”.

QJackCtl: Grafische Oberfläche für Jack
Das Hauptfenster von QjacktCtl

Zuerst stellst Du auf dem Reiter “Einstellungen” und dort auf dem Reiter “Advanced” bei Ausgabegerät und Eingabegerät die gewünschte Soundkarte ein.

Einstellungen QJackCtl: Auswahl der Soundkarte
Einstellungen von QJackCtl: Auswahl der Soundkarte

Du siehst hier bei mir eine Menge Einträge, weil ich mehrere Soundkarten habe: On Board, die Grafikkarte mit dem HDMI-Ausgang kann Sound, die M-Audio Audiophile 2496 und das Boss GT-10. Ich weiß nicht, warum pro Soundkarte mehrere Einträge angeboten werden – wahrscheinlich sind das die Kanäle. Ich bin immer mit dem ersten Eintrag gut gefahren, hier also HW:M2496. Alles andere lässt Du auf diesem Reiter unverändert.

Auf dem Reiter “Parameter” findest Du die Einstellungen, die die Latenz beeinflussen.

Einstellungen von QJackCtl: Latenz festlegen
Einstellungen von QJackCtl: Latenz festlegen
  • “Echtzeit”: Sollte eingeschaltet sein.
  • “Abtastrate:” Das ist die Zahl, wie oft das analoge Signal pro Sekunde abgetastet wird. Ich habe 44100 gewählt, weil mein Boss GT 10 Effektgerät diese Abtastrate vorgibt. Wenn ich über den SPDIF-Eingang vom GT 10 aufnehme, muss Jack zwingend dieselbe Abtastrate verwenden. Ansonsten wäre 48000 auch ein gängiger und guter Wert, mehr ist bei normaler Hardware Overkill. Wichtig: Wenn Du etwas mit einem Recording-Programm mit einer Abtastrate aufgenommen hast, musst Du bei dieser Rate bleiben. Ansonsten beschwert sich das Programm beim nächsten Laden des Songs.
  • “Frames/Periode”: Je niedriger dieser Wert ist, umso kleiner ist die Latenz. Allerdings kann man ihn nicht beliebig klein einstellen, ansonsten treten sogenannte xruns auf – das sind Über oder – Unterläufe des Audio-Puffers. Das macht sich als Knackser im Sound bemerkbar. Also: So niedrig wie möglich einstellen, ohne dass xruns auftreten. Die xruns werden, nachdem Du auf den Start-Button geklickt hast, im schwarzen Status-Fenster angezeigt.
  • “Perioden/Puffer”: Habe ich immer auf 2 eingestellt, bei USB Soundkarten soll angeblich 3 besser sein.

Die Latenz, die sich durch diese drei Parameter ergibt, siehst Du unten rechts im Fenster.

Endlich: Der Start von Jack

So, jetzt wird es spannend. Schließe die Einstellungen und speichere sie gleichzeitig mit dem “OK” Button. Dann klickst Du auf den grünen “Start” – Button im Hauptfenster. Wenn jetzt alles glattgegangen ist, wird der Start – Button grau, in dem Status – Fenster steht mit gelber Schrift “Läuft” und der “Stopp” – Button wechselt von grau auf rot.

Die grüne 0 (0) bedeutet, es sind keine xruns aufgetreten. Wenn dort eine Zahl größer 0 in rot steht, gibt es xruns und Du solltest mit den oben beschriebenen Parametern experimentieren.

Das grüne “Steht” unten links im Statusfenster bezieht sich nicht auf den Jack Server, sondern auf den Transport. Was das ist und was Du damit machen kannst, dazu kommen wir in einem späteren Artikel.

So, das wahrscheinlich komplexeste Kapitel haben wir gemeinsam erfolgreich gemeistert. Du hast die Voraussetzungen geschaffen, um professionelle Audio-Programme zu verwenden. Schau doch mal in den Beitrag Drums programmieren mit Hydrogen oder Songs zum Üben langsamer abspielen, was Du mit Deinem neuen Tonstudio anfangen kannst.

Jack kann noch wesentlich mehr, zum Beispiel Sound-Ausgänge von einem Programm mit dem anderen verbinden oder die Aufnahme oder Wiedergabe von allen Programmen gleichzeitig starten. Dazu mehr, wenn wir uns mit Recording beschäftigen.