Dank des neuen Standards LV2 lassen sich Audio-Erweiterungen so programmieren, dass sie nicht nur funktional, sondern auch in Sachen Design den kommerziellen Pendants Konkurrenz machen.
Schon Mitte der 1990er Jahre kamen Programmierer auf die Idee, dass eine Software, die einen klassischen Synthesizer nachahmt, idealerweise auch genau so aussehen sollte – mit Drehreglern, Fadern, Kippschaltern und bunt leuchtenden Tastenfeldern. Die Idee setzte sich schnell durch, und besonders die gut bezahlten Entwickler kommerzieller Softwareschmieden trieben den Vintage-Look auf die Spitze: Da waren nebst rostigen Gehäuseblechen sogar die primitiven Digitalanzeigen der 1980er zu sehen.
Seit etwa zehn Jahren gibt es Audio-Plugins als freie Software für Linux. Plugin hieß hier über lange Jahre allerdings: mathematische Funktionen zum Bearbeiten von Klängen mit streng funktionaler Einheitsoberfläche. Die freien Entwickler schufen zwar durchaus Qualitätssoftware, die mindestens genauso gut Klänge lieferte, wie die Closed Source. Die kommerzielle Konkurrenz sah aber einfach besser aus – und Musiker gehören nun mal zu den Genussmenschen. Die spartanischen Host-Oberflächen der LADSPA-Effekte unter Linux wirkten auf viele nicht wie Präzisionswerkzeug, sondern eher wie primitiver Bastelkram.
Der professionell orientierte HD-Recorder Ardour [1] besitzt selbst lediglich Lautstärkeregler. Über seine Schnittstellen zu LV2 und LADSPA bauen Sie aber hunderte Klangbearbeitungsfunktionen in den Signalweg ein (Abbildung 1). Bei Bedarf lädt das Programm via Wine sogar VST-Plugins im Windows-DLL-Format.

Abbildung 1: Signale besorgt die Hostsoftware (hier Ardour) und sendet sie an ein oder mehrere Plugin-Bibliotheken (im Bild Invadas ER-Reverb), das die Daten empfängt und die Signale an den Host zurückgibt.
LADSPA sieht keine individuellen grafischen Oberflächen vor. Viele Plugins kommen auch ohne weiteres mit den sachlichen Einheitsreglern der Host-Oberflächen aus; einige Funktionen erreichen Sie aber nur richtig mit individuellen Oberflächenelementen. Der besonders für Synthesizer-Plugins entworfene, etwas neuere Standard DSSI erweist sich in dieser Hinsicht als flexibler, fand aber nur bei wenigen Programmierern Anklang.
Viele Audio-Nutzer und Entwickler waren unzufrieden mit der Situation unter Linux und diskutierten Alternativen zu LADSPA und DSSI. Die Entwickler Thorsten Willms und Steve Harris brachten 2006 die neue Plugin-Schnittstelle LV2 auf den Weg. LV2 ist modular und damit nach oben offen – damit lässt sich praktisch jede für ein Multimedia-Plugin denkbare Funktion in LV2 einbauen. Zur Zeit sieht man das am deutlichsten an den individuellen Oberflächen von LV2-Plugins (Abbildung 2).

Abbildung 2: Schrauben, Rädchen, Röhren – Optik, Qualität und Leistungsumfang der Calf-Plugins sorgen für feuchte Hände bei Musikern.
Das System hat viele Mitentwickler und begeisterte Nutzer gewonnen und gilt als weitgehend konsolidiert. Moderne LV2-Hostsoftware, wie die Musik-Produktionssuite Ardour, zeigt aktuelle LV2-Plugins fehlerlos mit allen neuartigen Funktionen. So bearbeiten Sie endlich in nativen Linux-Plugins virtuelle Räume für Halleffekte in intuitiven grafischen Oberflächen.
So groß wie bei LADSPA fällt das Angebot aber noch nicht aus: Bei der großen SWH-Sammlung von Steve Harris [2] handelt es sich lediglich um eine direkte Portierung bewährter LADSPA-Effekte auf LV2-Versionen. Einige höchst interessante Projekte fristen noch ein Nischendasein auf Mailinglisten: So existiert seit Mai 2010 eine LV2-Version der Software Autotalent [3], die das Anpassen von Tönen in Audioaufnahmen an Midi-Noten erlaubt.
Dieser Vocoder-Effekt klingt heute aus jedem zweiten avancierten Popsong und war bis zum ersten Release von Autotalent 2009 unter Linux allenfalls für Gurus zu bewerkstelligen. Trotzdem findet sich AutotalentLV2 noch nicht in den Repositories der gängigen Distributionen. Allerdings schaffte es LV2 an sich erst Anfang 2009 ins Paketmanagement von Ubuntu oder OpenSuse. Alternativ installieren Sie die Software aus den Quellen (siehe Kasten “Installation von LV2”).
Installation von LV2
Alle gängigen Distributionen machen es Ihnen inzwischen leicht, die Basispakete LV2 und die Sammlungen Calf [4] und Invada [5] zu installieren. Unter Ubuntu beziehen Sie diese aus dem Universe-Repository, OpenSuse-Nutzer bekommen LV2 aus dem Packman-Repo, und bei Fedora zählt LV2 zu den Paketen des Standardumfangs. Für die Basisunterstützung benötigen Sie lv2core und die Toolsammlung slv2.
Auch Hostsoftware wie Ardour [1] und Qtractor [6] kommt inzwischen standardmäßig mit LV2-Schnittstelle. Für eine vollständige Audio-Umgebung mit LV2 empfiehlt sich zudem die Installation folgender Pakete:
- Jack und Qjackctl,
- Ardour (als Host für Audio-Effekte mit grafischen Oberflächen),
- die Calf- und Invada-Plugins,
- SWH-LV2 und
- Qtractor (als Host für Software-Synthesizer)
Möchten Sie LV2-Plugins aus den Quellen übersetzen, benötigen Sie neben lv2core und libslv2-dev die Entwicklerpakete für das Jack Audio Connection Kit sowie eine möglichst aktuelle Entwicklungsumgebung für GTK+. Letzteres verwenden Invada und Calf für ihre individuellen grafischen Oberflächen.
Zukunftsmusik
Die Calf-Plugin-Suite [4] gehört zu den Projekten, welche die LV2-Technik mit am konsequentesten umsetzen. Projektgründer Krzysztof Foltman, sein Kollege Thor Harald Johansen und der seit 2010 beteiligte Designer und Programmierer Markus Schmidt haben den Ehrgeiz, eine vollständig ausgestattete Effektsuite, einen Sample-Player und drei typische Synthesizermodelle in Profiqualität darin zu vereinen. Die stabile Version 0.18 gibt bereits einen sehr guten Eindruck vom Fortschritt der Arbeit. Noch einen Schritt weiter in Bezug auf die Ausstattung, Fähigkeiten und das Design gehen die Entwicklerversionen aus dem Git-Repository.
Das stabile Paket bietet einen Kompressor, Filter, Hall, Chorus/Flanger/Phaser sowie das Echo-Modul “Vintage Delay”, das mit seiner bpm-Synchronisation etwas bietet, das über die Fähigkeiten älterer LADSPA-Sammlungen hinausgeht. Eine wichtige Innovation von Calf stellen die beiden Softwaresynthesizer des Pakets dar. Monosynth und Organ kommen zwar mit unspektakulären Namen daher, bieten aber in Anbetracht ihres frühen Entwicklungsstadium erstaunliche Leistungen (Abbildung 3). Beide Module bringen eine Reihe sehr brauchbarer Presets mit.

Abbildung 3: Vorher-Nachher Effekt: Die alte Oberfläche von CalfOrgan (links) wirkt noch etwas sachlich. Die neue Oberfläche des Softwaresynthesizers erinnert an ein edles 19-Zoll-Gerät.
Zu den elf Plugins der stabilen Kollektion kommen in der Entwicklerversion dreizehn weitere. Darunter finden sich fünf Module mit Funktionen, die bereits seit einiger Zeit unter Linux bereit stehen: Equalizer, Saturator, Gate, der Phaser Pulsator und der Soundfont-Player Fluidsynth. Die Entwickler haben alle sauber umgesetzt, die Plugins glänzen anders als die meisten ihrer LADSPA-Vorfahren mit einer spektakulären Oberfläche.
Die sieben übrigen Plugins bringen durchgängig neue, teilweise bislang komplett vermisste Funktionen – allen voran der Multiband-Kompressor (Abbildung 4). Dieser Effekt stand unter Linux bisher nur in der exzellenten Standalone-Software Jamin bereit, jedoch nicht als Plugin. Ebenfalls nur unter Mühen ließ sich der Effekt des Sidechain-Kompressors verwirklichen oder der DeEsser, für den es bisher nur ein instabiles, nicht mehr funktionsfähiges LADSPA-Plugin gab. Die Calf-Varianten erlauben dagegen auch Musikern ohne tiefschürfende Kenntnisse modularer Systeme den einfachen Einsatz.

Abbildung 4: Der Vier-Band-Kompressor von Calf leistet in Ardour besonders im Master-Kanal unschätzbare Dienste.
Wenn Sie die neuen, experimentellen Module ausprobieren möchten, installieren Sie Calf aus dem Git-Repository des Projekts. Die erforderlichen Abhängigkeiten ziehen Sie bei Bedarf leicht über das Paketmanagement der Distribution nach.
Invada-Plugins
Calf präsentiert sich zurzeit als fortschrittlichste, aber durchaus nicht als einzige Plugin-Sammlung für LV2. Die australische Plattenfirma Invada Records, die vor allem anspruchsvolle Hip-Hop- und Dance-Produktionen im Programm hat, bietet seit einigen Jahren auf ihrer Homepage [5] frei lizenzierte Effekt-Plugins zum Download an. Die insgesamt zehn Module stehen jeweils als Stereo- und Mono-Varianten bereit.
Neben den bekannten Standards Reverb, Delay, Compressor und Filter sowie einem Verzerrermodul und einem Phaser enthält das Invada-Paket die drei nützlichen Werkzeuge Meter, Testtone und Input. Ein besonders Augenmerk verdient das Hallgerät ER-Reverb (Abbildung 5). Seine LV2-Oberfläche erlaubt das intuitive Positionieren von Hörer und Klangquelle in einer kleinen 3D-Grafik. Den grafisch dargestellten Raum modellieren Sie mit intuitiven Reglern für Höhe, Breite und Tiefe.

Abbildung 5: Invadas ER-Reverb zeigt den Raum und die Positionen von Hörer und Laufsprecher in einer 3D-Grafik an. Die Resultate klingen bemerkenswert realistisch.
Die Effekte weisen einen erkennbaren Vintage-Charakter auf: Sie orientieren sich an Klangvorstellungen, wie sie in klassischen Rock- oder Soul-Aufnahmen der 1960er Jahre zu hören sind. Allerdings ermöglichen sie trotzdem sehr moderne Sounds. Insgesamt tragen die Effekte die Handschrift von Leuten mit Studio-Praxis. So ist der Compressor offensichtlich für die Arbeit mit Stimmen optimiert. Den Gesang im Arrangement zu betonen, gehört zu den Standardaufgaben im Studio, und die geht mit dem Invada-Compressor wie von selbst von der Hand.
Eigenwillig erscheint dagegen der Echo-Effekt Delay Munge. Während das VintageDelay aus Calf eher modern-neutral klingt und eine leicht kontrollierbares Feedback-Echo erzeugt, richtet sich Delay Munge eher an Klangkünstler. Seine Oberfläche bietet komplexe Einstellungsmöglichkeiten und eine Umrechnungstabelle für Tempo in bpm und Verzögerungszeit (Delay).
Zum aktuellen Zeitpunkt liegt die Invada-Software in einer Version vom Mai 2009 vor und ist damit nicht ganz auf dem aktuellen Stand – was besonders in modernen Hosts wie Ardour leichtere Probleme mit der grafischen Oberfläche der Plugins verursacht. Allerdings veröffentlicht Invada Records in unregelmäßigen Abständen neue Versionen. Für Ubuntu und OpenSuse bieten Paketbetreuer fertige Archive an. Es empfiehlt sich, die jeweils aktuellste Version einzusetzen. Wie bei den meisten Audio-Projekten unter Linux gilt auch für Invada: Neuer ist besser.
LV2-Plugins und Qjackctl
Fast alle LV2-Hosts arbeiten mit dem Audioserver Jack zusammen. Dahinter verbirgt sich ein Kommandozeilenprogramm, das im Hintergrund darauf wartet, dass sich Audio-Applikationen mit seinem Soundsystem oder dem Midi-Netzwerk verbinden. Der portugiesische Entwickler Rui Nuno Capela hat mit Qjackctl (Abbildung 6) eine komfortable Oberfläche geschaffen, mit der Sie die vielen Funktionen und Optionen der Software kontrollieren.

Abbildung 6: Mit Hilfe von Qjackctl stellen Sie den Jack-Server optimal für Ihren Rechner ein und koppeln die Midi- und Audio-Ports von Hard- und Software. Hier verbinden wir ein USB-Keyboard von Behringer mit dem Synthesizer CalfOrgan.
Qjackctl geriet im Laufe der Zeit immer mehr zu einem Synonym für Jack selbst. So finden Sie es in den Menüs aller gängigen Distributionen unter dem Namen Jack, mit dem es das Symbol für sein Logo teilt: einen Stecker, wie er bei E-Gitarren zum Einsatz kommt. Im Fenster Konfiguration legen Sie die Startoptionen für den Server Jack fest. Links in der Liste Parameter stellen Sie ein, ob Jack mit Echtzeitpriorität läuft. Für Aufnahmen per Mikrofon und die Arbeit mit Midi-Keyboards empfiehlt es sich, auf Echtzeit umzuschalten.
Falls Jack sich weigert, mit aktivierter Echtzeit-Option zu starten, helfen unter Umständen die folgenden Schritte: Fügen Sie zunächst Ihr Nutzerkonto der Benutzergruppe audio hinzu. Dazu eignen sich die Werzeuge zum Administrieren der Benutzerkonten jeder gängigen Distribution. Öffnen Sie dann als Administrator root die Datei /etc/security/limits.d/audio.conf mit einem Texteditor Ihrer Wahl. Sollte das Verzeichnis /etc/security/limits.d in Ihrer Distribution noch nicht eingerichtet sein, öffnen Sie stattdessen die Datei /etc/security/limits.conf. In allen Fällen tragen Sie die folgenden zwei Zeilen am Ende der Datei ein:
@audio - rtprio 99 @audio - memlock unlimited
Speichern Sie die Datei und melden Sie sich von der laufenden Session ab. Sobald Sie sich neu einloggen, stehen einige neue Fähigkeiten von Linux bereit, die es Jack erlauben, mit Echtzeitpriorität zu laufen.
Zu den wichtigsten weiteren Einstellungsmöglichkeiten gehören zunächst Frames/Periode, Abtastrate und Periode/Puffer. Mit diesen drei Werten stellen Sie ein, wie schnell Jack auf Ihre Befehle reagiert. Die Werte 1024 Frames/Periode, 44.1 kHz und 2 Perioden/Puffer ergeben eine Verzögerungszeit von maximal 46 Millisekunden.
Möchten Sie mit einem Sequencer komponieren oder bereits vorhandenen Aufnahmen bearbeiten, erscheint dieser Wert noch akzeptabel. Sobald Sie aber einer bestehenden Spur in Ardour eine Aufnahme hinzufügen möchten, entstehen bei so langen Lücken Probleme. Spätestens, wenn Sie einen der Calf-Synths mit einem Midi-Keyboard live spielen wollen, macht eine Latenz über 10 Millisekunden das Ganze unerträglich.
Feinschliff
Mit 256 Frames pro Periode bei 48 kHz Abtastrate und 2 Perioden je Puffer erreichen Sie diese Grenze. Nutzen Sie eine USB- oder Firewire-Soundkarte, sollten Sie Periode/Puffer auf 3 stellen und einen niedrigeren Wert für Frames/Periode wählen. Rüsten Sie ein modernes System mit einer gut von Linux unterstützten Soundkarte für Musiker aus, sind noch niedrigere Werte für die Frames pro Periode möglich – und damit noch geringere Verzögerungen.
Benötigen Sie extrem niedrige Latenzen, gilt es einen speziellen Echtzeit-Kernel zu installieren. Linux-Kernel mit Anpassungen für den Echtzeitbetrieb stehen für alle gängigen Distributionen bereit. Sie sollten allerdings zunächst ausprobieren, ob Sie schon mit einem Standard-Kernel brauchbare Ergebnisse erreichen. Nur, wenn das gar nicht funktioniert, tauschen Sie den Systemkern aus.
Haben Sie Jack mit Qjackctl gestartet, nutzen Sie ein Hostprogramm wie Calfjackhost, um einige Plugins nach Bedarf zu laden. Bei in Ardour geladenen Plugins sorgt Ardour selbstständig für den richtigen Signalfluss. Möchten Sie Plugins in einer modularen Umgebung verkabeln, so finden Sie die Ein/Ausgänge im Fenster Verbindungen von Qjackctl.
Im ersten Reiter Audio verbinden Sie Audioports, die beiden Reiter JACK-MIDI und ALSA-MIDI zeigen MIDI-Sender und Empfänger. Schließen Sie zum Beispiel ein USB-Keyboard an Ihren Rechner an, erscheint dessen Midi-out-Port sofort in beiden Midi-Reitern. Läuft Organ in Calfjackhost, verbinden Sie diese zunächst im Audio-Reiter mit dem Ausgang Ihrer Soundkarte und anschließend im Reiter JACK-MIDI mit dem Eingang, den die Software für den Ausgabeport des Keyboards erzeugt hat.
Glossar
-
Host-Oberflächen
-
Plugins ohne eigene grafische Oberfläche übernehmen für die Kontrollregler und Schalter das Design der Applikation, die sie lädt. Für LADSPA-Effekte ist diese Methode der Standard.
-
LADSPA
-
Linux Audio Developer’s Simple Plugin API. Schnittstelle für Audio-Effekte und Filter unter Linux. Freies Gegenstück zu proprietären Systemen wie VST von Steinberg.
-
LV2
-
Nachfolger von LADSPA. Ermöglicht eine wesentlich umfassendere Zusammenarbeit mit Synthesizern und Samplern und erlaubt zudem individuelle grafische Oberflächen für die Plugins.
-
VST
-
Virtual Studio Technology. Von Steinberg für den Sequencer Cubase entwickelte Plugin-Schnittstelle. VST ist grundsätzlich für Plugin-Entwickler offen und kostenlos, jedoch an proprietäre Lizenzbedingungen gebunden.
-
DSSI
-
Disposable Soft Synth Interface. Freie Plugin-Schnittstelle für virtuelle Instrumente unter Linux. DSSI-Plugins empfangen meist Midi-Daten und generieren daraus Audiosignale.
-
Chorus/Flanger/Phaser
-
Diese Effekte arbeiten mit subtilen Verschiebungen im Obertonspektrum von Klängen. Die Resultate klingen meist schwebend-sphärisch, teils aber auch blechern oder schneidend metallisch.
-
bpm
-
Beats per minute. Zahl der betonten Schläge auf “1”, die pro Minute in einem Musikstück vorgesehen sind. Basis für die Geschwindigkeit, in der eine Sequencer-Software Noten abspielt.
-
Presets
-
Voreinstellungen für die Parameter eines Effekts oder Synthesizers. Presets erleichtern den Einstieg in das oft komplexe Bedienkonzept.
-
Latenz
-
Zeitraum zwischen einer Nutzeranweisung und der Verfügbarkeit des Resultats. Drücken Sie eine Taste auf einer Midi-Tastatur, sollten nicht weniger als 10 Millisekunden Latenz vergehen, bis der Rechner den gespielten Ton über die Soundkarte wiedergibt.
Infos
[1] Ardour: http://ardour.org
[2] Plugin-Sammlung SWH: http://plugin.org.uk
[3] Autotalent: http://web.mit.edu/tbaran/www/autotalent.html
[4] Calf-Projektseite: http://calf.sourceforge.net
[5] Invada-Plugins für Linux: http://www.invadarecords.com/List.php?ID=Linux
[6] Qtractor: http://qtractor.sourceforge.net





