tiny little gizmos

Linux als Audio Workstation

Vor ungefähr einem Jahr bin ich endgültig von Apple Macintosh auf PC/Linux umgestiegen. Da ich seit 2004 fast ausschließlich freie Software nutze, die auf allen Betriebssystemen verfügbar ist, war der Umstieg unproblematisch. Es blieb nur ein Sorgenkind:

Die Musiksoftware.

Ich nutze die Audio Workstation Reason seit der Version 3.0 – damals noch unter Windows XP – bis zur Version 8.0 auf dem Mac. Für Linux sah es aber düster aus. Es ist fast keine kommerzielle Musiksoftware für das System verfügbar.

Vor einger Zeit hörte ich von einer neuen Firma, die eine Audio Workstation neu entwickelt, die nicht nur wie üblich auf Windows und Mac läuft, sondern auch auf Linux. Da diese Firma – die übrigens ganz bei mir in der Nähe im Prenzlauer Berg sitzt – zum Teil aus ehemaligen Mitarbeitern von Ableton besteht, hatte ich schon mal ein Grundvertrauen in deren professionalität. Vor einem Monat habe ich mir dann Bitwig Studio in der Version 1.3 gekauft und seitdem spiele ich damit rum.

Bitwig Studio 1.3

Bitwig Studio 1.3

Die Software ist schnell installiert, recht intuitiv bedienbar, läuft stabil und klingt gut. In diesem Artikel soll es aber um eine andere Frage gehen:

Wie geht professionelle Audio Verarbeitung unter Linux?

Im Gegensatz zu Windows oder Mac OS gibt es Linux in 1000 unterschiedlichen Geschmacksrichtungen und auf unterschiedlichster Hardware. Darum soll hier erstmal die Basis geklärt werden: Bitwig ist freigegeben für Ubuntu Linux auf normaler PC Architektur mit X86 Prozessoren.

Ich nutze ein Lenovo Thinkpad der T-Serie mit Intel i5 Prozessor und 8GB RAM. Als Betriebsystem kommt Linux Mint 17.2 zum Einsatz. Unter der Haube ist das im Wesentlichen Ubuntu was der breiten Hardwareunterstützung zugute kommt, und die Benutzeroberfläche Cinnamon ist in meinen Augen erheblich angenehmer als das bei Ubuntu eingesetzte Unity.

Musik Setup

Musik Setup

Alsa, Pulseaudio, Jack – WTF?

Die Standardinstallation von Ubuntu/Mint nutzt als Audiosystem ALSA und Pulseaudio und alles funktioniert out-of-the-box. Nachdem ich Bitwig Studio installiert und ALSA als Audiosystem eingestellt hatte, konnte ich auch sofort damit loslegen. Zum Ausprobieren und für die ersten Schritte ist das auch absolut in Ordnung, wenn man aber richtig loslegen will reicht das leider nicht. Es gibt zwei Probleme: Hohe Latenz (Also Zeitversatz zwischen dem Einspielen einer Note und dem Klang selber) und Aussetzer, wenn die Musik komplexer wird.

Professionelle Audiosysteme unterstützen mehrere Soundkarten mit jeweils mehrere Ein- und Ausgängen, wie man sie benötigt, wenn man auch mal ein Mikrofon, eine Gitarre oder sonstige Instrumente anschließen möchte. Sie bieten internes Audiorouting, geringe und zudem einstellbare Latenzzeit und gehen auch bei komplexen Arrangements nicht in die Knie.

Beim Mac ist sowas fest im Betriebssystem eingebaut, bei Windows muss man es nachrüsten (ASIO) und für Linux ist ebenfalls ein solches System verfügbar. Es nennt sich Jack (wie Stecker).

Welches Audiointerface?

Professionelle Audiointerfaces gibt es wie Sand am Meer. Von RME, Roland, Tascam, Focusrite, M-Audio und etlichen anderen Anbietern. Mit Firewire, USB oder Lightning Anschluss. Mit wenigen oder vielen Audioanschlüssen, von günstig bis sehr teuer.

Allerdings nicht für Linux – zumindest nicht offiziell unterstützt.

Nachdem ich mich lange in den entsprechenden Foren herumgetrieben habe, fiel meine Wahl auf das Focusrite Scarlett 2i2. Ein kleines USB Audio Interface mit Ausgängen für Monitore und Kopfhörer sowie zwei Eingängen, die wahlweise als Line/Instrumen oder Microfoneingang mit Phantomspeisung geschaltet werden können. Es kostet ca. 140,- und funktioniert tatsächlich ohne weitere Treiberinstallation mit Jack.

focusrite Scarlett 2i2

focusrite Scarlett 2i2

Get Jack

Jack lässt sich einfach per Synaptic oder apt-get nachinstallieren. Herauszufinden welche Pakete das sind, hat mich allerdings einen kompletten Abend und meine gute Laune gekostet. Man benötigt eigentlich nur:

jackd2 – Jack Audio Verbindungs-Kit
libjack-jackd2-0 – Die Libraries
qjackctl – Benutzerschnittstelle zur Kontrolle des Jack Soundservers

Damit nun ein richtig knackiges Timing der Audiosignale hinbekommt, muss man dem Betriebssystem mitteilen, dass Jack bitte auch entsprechend Rechenzeit und eine hohe Priorität beim Multitasking bekommt. Früher brauchte man dafür einen speziell kompilierten Kernel, aber jetzt genügt ein richtige Konfiguration. Dazu bearbeitet man mit Rootrechten die Datei /etc/security/limits.conf. Dazu gibt man im Terminal ein:

sudo gedit /etc/security/limits.conf

Am Ende der Datei, aber noch vor der Zeile # End of file gibt man folgende Zeilen ein:

# Settings for real time audio
dirk             -       rtprio          99
dirk             -       memlock         unlimited
dirk             -       nice            -10

Mein Unix Benutzername ist – wenig originell – dirk. Hier muss natürlich jeder seinen eigenen Account verwenden und dabei auf Groß/Kleinschreibung achten. Man kann die Rechte auch Gruppen zuweisen (z.B. mit @audio).

Jetzt den Rechner neu starten und es kann losgehen. Man startet das Kontrollinterface von Jack und wählt in den Einstellungen die neue Soundkarte für Ein- und Ausgabe. Bevor man nun auf Start klickt, sollte man zumindest beim erstan Mal das Fenster für die Meldungen öffnen. Falls Jack nicht startet ist meist die Ursache, dass versucht wird, die Soundkarte zu verwenden, die bereit von ALSA belegt ist.

jack_settings

Wenn bis hierher alles gut gegangen ist, kann man Bitwig Studio auf Jack umschalten und sich über ein professionelles Setup freuen. Toll ist, dass die herkömmliche Soundausgabe für Systemsounds oder den MP3 Player Banshee weiter auf der eingebauten Soundkarte läuft.

…irgendwas ist ja immer

Ein Wehmutstropfen bleibt jedoch: Youtube Videos und alles, was normalerweise sonst noch aus dem Browser heraus tönt, bleibt stumm. Irgendwie verhaken sich dabei ALSA, Jack und Pulseaudio. Der Versuch, dem Rechner das nun auch noch beizubringen hat mich den gesammten Sonntag gekostet. Ich habe 10 verschiedene Tutorials durchgearbeitet, die angeblich das Problem lösen, dabei die Benutzeroberfläche zerschossen, so dass ich den Cinnamon Desktop neu installieren musste und letztlich habe ich aufgegeben.

Das Problem habe ich nicht gelöst, aber einen Workaround gefunden: Ich schaue Youtube Videos jetzt einfach über den VLC Player. Der funktioniert nämlich weiterhin einwandfrei… ;-)

Nachtrag [24.12.2015]

Das Youtube Problem lässt sich ganz einfach lösen: Durch das Deinstallieren des Flash-Plugins.
Wenn der Browser kein Flash unterstützt, liefert Youtube die Videos nämlich im MP4 Format aus, was von allen modernen Browsern direkt abgespielt werden kann.

Wer Flash nicht gleich völlig deinstallieren will, kann auch erst einmal zum Zweibrowser greifen (bei mir war das Chromium) und Flash dort deaktivieren.