Midi-Controller unter Linux

Aus LinuxUser 02/2019

Midi-Controller unter Linux

© Alexander Kirch, 123RF

Alles unter Kontrolle

Midi-Controller eignen sich nicht nur zum Ansteuern von Synthesizern, sondern für so gut wie alle komplexeren Applikationen mit entsprechender Schnittstelle.

Tastatur und Maus genügen unter Linux zum Steuern der allermeisten Anwendungen. Handelt es sich aber um ein virtuelles Musikinstrument, will man schnell mehr, als es nur ein- oder auszuschalten. Die Maus mit gedrücktem Linksklick erweist sich bei einem Live-Auftritt selten als die beste Lösung für das schnelle Spiel mit Tonhöhen und Filtern.

Geräte, die für solche Zwecke eine bessere Ergonomie versprechen, gibt es reichlich. Sie eignen sich nicht nur für Musikanwendungen, sondern für alles, was ähnlich komplex wie ein Software-Synthesizer arbeitet (Abbildung 1).

Abbildung 1: In Ardour lassen sich alle Parameter und Funktionen via Midi-Controller ansteuern. Für Plugins wie diesen Phaser muss man dazu den gewünschten Parameter im Mixer-Kanalzug anzeigen lassen.

Abbildung 1: In Ardour lassen sich alle Parameter und Funktionen via Midi-Controller ansteuern. Für Plugins wie diesen Phaser muss man dazu den gewünschten Parameter im Mixer-Kanalzug anzeigen lassen.

Was geht?

Besonders für Nutzer mit Erfahrung aus der Windows- oder Mac-Welt erscheint die Controller-Nutzung unter Linux auf den ersten Blick geheimnisvoll.

Schon die Frage nach dem richtigen Soundsystem – Alsa, Jack oder Pulse Audio – führt regelmäßig zu Verwirrung (siehe Kasten “Jack, Alsa und Co.”). Jedoch kommt es in Einsteigerforen oft vor, dass die Antwortgeber Midi schlicht mit der prinzipiell andersartigen Verarbeitung von Sound an sich verwechseln. So beantworten einige Fragen dazu manchmal mit Unverständnis und mit unsinnigen Tipps für die Installation von Audio-Codecs oder die Einstellung von Mixern.

Jack, Alsa und Co.

Die Basis von Midi unter Linux heißt Alsa. Obwohl die Alternative Open Sound System (OSS) inzwischen auch unter einer freien Lizenz bereitsteht, spielt sie nur in BSD noch eine relevante Rolle. Das liegt auch daran, dass ihr Funktionsumfang gerade im Midi-Bereich deutlich geringer ausfällt als der von Alsa.

Der wesentliche technische Unterschied zwischen Alsa und dem parallel betreibbaren Jack liegt darin, dass Jack-Midi etwas präziser arbeitet und so gut wie nie Laufzeitschwankungen verursacht, wie sie mit Alsa-Midi gelegentlich vorkommen. Deshalb bevorzugen einige Entwickler von Musik-Software Jack-Midi. Das führt mitunter zu dem Problem, dass man einen Sequencer wie Seq24, der nur Alsa kennt, benutzen will, um einen nur mit Jack-Midi laufenden Synthesizer wie Calf Monosynth zu betreiben.

Abhilfe schaffen hier kleine Werkzeuge zum Weiterleiten der Signale. So erzeugt das Tool A2jmidi einen Alsa-Eingang und einen Ausgang, den Jack-Midi lesen kann, und umgekehrt. Noch eleganter und mit besserer Leistung klappt die Verbindung, indem man den Midi-Thru-Kanal einer Soundkarte mit dem Ausgang des Sequencers via Alsa verbindet. Hardware-Ports dupliziert Jack-Midi, was die Signale des Alsa-gebundenen Sequencers über den Midi-Thru-Port auch für Jack-only-Software verfügbar macht – genau, als hätte man einen Hardware-Synthesizer per DIN-Kabel angeschlossen.

Das Tool Aseqnet erzeugt über das Kommando aseqnet Host einen Midi-Port, der sich ganz normal verkabeln lässt und seine Signale an einen Alsa-Midi-Sequencer auf dem angegebenen Zielrechner im Netzwerk sendet. Auf dem stehen die Signale dann an einem von bis zu acht automatisch neu erzeugten Alsa-Ports bereit.

Dabei erweist sich das Thema als gar nicht so kompliziert, wie es zunächst erscheint: Pulse Audio eignet sich für Desktop-Audiostreams, für Midi sollte man es meiden. Sowohl Alsa als auch Jack bieten Server, die standardkonform Midi-Signale verarbeiten und an empfangsfähige Anwendungen weiterleiten. Beide Server lassen sich simultan betreiben und – bei korrekt programmierter Software – sogar gleichzeitig vom selben Programm benutzen.

Ausnahmen bestätigen hier die Regel, etwa das prominente Bitwig Studio. In dieser ansonsten sehr empfehlenswerten kostenpflichtigen Komplettlösung für Musikproduktion funktioniert Midi nur nach dem Laden des Jack-Midi-Moduls. Generell gilt aber, dass die ältere Midi-Implementierung Alsa-Sequencer mit den meisten Anwendungen funktioniert. Einige besonders ambitionierte Klangerzeuger und Produktionsprogramme setzen ganz auf Jack-Midi, das sich allerdings (mit der Ausnahme Bitwig) auch parallel nutzen lässt.

Wie immer stellt sich die Frage nach den Gerätetreibern. Glücklicherweise haben die professionellen Anwender in der Musikszene eine starke Neigung zu möglichst unkomplizierten Lösungen. So gingen sehr viele Hersteller dazu über, ihre Geräte sowohl für Mac OS X als auch für Windows ohne spezielle Treiber nutzbar zu machen.

Hardware

Sowohl Keyboards als auch viele Sound-Interfaces funktionieren in beiden proprietären Systemen einfach nach dem Anschließen via USB. Besonders die wirklich als Musikinstrument für die Bühne ausgelegten Geräte besitzen auch klassische DIN-Buchsen für die drei Standard-Midi-Ports In, Out und Thru.

Beide Varianten funktionieren auch unter Linux sofort nach dem Anschließen. Für USB-Geräte erledigt das der generische Alsa-USB-Treiber; möchten Sie die klassische Midi-DIN-Verkabelung nutzen, benötigen Sie eine Soundkarte, die solche Anschlüsse bietet. Letztere setzen die Hersteller meist als zusätzliche Kabelpeitsche um. Kaufen Sie etwa eine der erstklassig unterstützten MAudio-Karten für den PCI-Slot, sollten Sie darauf achten, dass dieses schwer zu ersetzende Zubehörteil auch beiliegt.

Rechner wie Laptops oder der Raspberry Pi bieten von Haus aus keine Möglichkeit, Zusatzkarten mit Midi-Anschlüssen nachzurüsten. Per USB anschließbare Midi-Interfaces lösen auch dieses Problem (Abbildung 2).

Abbildung 2: Ein kostengünstiger Noname-Midi-Controller am USB-Port eines RasPi. Das Gerät erhält die Betriebsspannung via USB und funktioniert mit dem Alsa-Sequencer sofort nach dem Anschließen.

Abbildung 2: Ein kostengünstiger Noname-Midi-Controller am USB-Port eines RasPi. Das Gerät erhält die Betriebsspannung via USB und funktioniert mit dem Alsa-Sequencer sofort nach dem Anschließen.

In allen Fällen hängt die Midi-Fähigkeit von Linux nicht von der Hardware ab: Beim Alsa-Sequencer handelt es sich um ein reines Software-Modul, auf das die Hardware bei Bedarf zugreift. In wenigen Fällen lädt der Alsa-Sequencer nicht automatisch beim Systemstart, weil es sich dabei grundsätzlich um ein optionales Modul handelt. Bei gängigen Desktop-Distributionen tritt dieses Problem allerdings nicht mehr auf.

Unterstützte Midi-Controller steuern Sie entweder über die generischen Midi-Ports der Soundkarte, sofern Sie DIN-Kabel verwenden, oder der Controller erzeugt nach dem Anschließen an einen USB-Port automatisch einen neuen Eingangs-Port im Alsa-Sequencer. Den spiegelt Jack-Midi dann ohne Weiteres.

Selbst gemacht

Da Controller auch unter Linux nur als (eng mit Tastatur und Maus verwandte) Signalgeber arbeiten, liegt die Idee nahe, sich selbst so ein Gerät zu bauen. Der Kern einer solchen Lösung kommt immer aus der Elektronik; er erzeugt die gewünschten Signale digital und sendet sie an den Rechner.

Sehr flexible Lösungen findet man dafür bei Arduino.cc [1]. Auf Basis des Uno-Modells zeigt eine sehr ausführliche Anleitung des Instructables.com-Nutzers tttapa, wie Sie für weniger als 70 Euro ein kleines Mischpult bauen [2]. Als Gehäuse dient zwar nur eine alte Zigarrenkiste, der User tttapa nutzt das Gerät dennoch problemlos zum Steuern der DAW Tracktion unter Linux.

Allerdings benötigen Sie dafür auch eine spezielle Software-Bibliothek namens Teensyduino beziehungsweise TeeOnArdu, um die via USB gelieferten Signale zu verarbeiten. Sie müssen diese Software selbst kompilieren. Obwohl die Anleitung eine Installationsbeschreibung für Ubuntu 18.04 enthält, lassen sich Kompatibilitätsprobleme nicht völlig ausschließen.

Ebenfalls auf Arduino-Basis zeigt Götz Müller-Dürholt in einer Videoserie auf Youtube [3], wie sich auch komplexere Geräte bauen lassen. Für etwas mehr Geld sind Sie mit einem vorgefertigten Signalverarbeiter mit klassischen Midi-DIN-Anschlüssen auf der sicheren Seite. Der renommierte Musikelektronikanbieter Doepfer bietet so ein kompaktes Gerät für etwas über 70 Euro an [4]; hinzu kommen noch die Kosten für Regler, Kabel und Gehäuse.

Ohne Lötkolben

Kann Sie der Gedanke, einen elektronischen Signalgeber selbst zu basteln, nicht wirklich begeistern, finden Sie sehr wahrscheinlich ein fertig zusammengebautes Exemplar in der eigenen Hosentasche: Jedes moderne Smartphone nimmt Controller-Daten von der Touch-Oberfläche entgegen und verarbeitet sie. Auch die Daten der eingebauten Sensoren, wie Kompass, Beschleunigungssensor und die Beleuchtungsmessung der Kamera lassen sich grundsätzlich auch als Eingaben für Controller-Daten interpretieren.

Die dazu notwendige Software gibt es in Googles Playstore in Dutzenden Varianten als kleine und große virtuelle Oberflächen für Keyboards und Mischpulte. Im frei lizenzierten Freedroid-Repository ist das Angebot eher begrenzt. Neben einem sehr einfachen Akkordeon und Melodium vom selben Autor gibt es nur noch einen fast undokumentierten, primitiven generischen Controller.

Es empfiehlt sich eher, eine der verfügbaren kostenpflichtigen Midi-Oberflächen auszuprobieren. Für 4,50 Euro bietet Humantic das gut gepflegte Programm TouchDAW. Es bietet vor allem den Vorteil, dass es über das Multicast-Protokoll praktisch ohne Bastelei sofort funktioniert. Als einzige Voraussetzung auf der Linux-Seite erfordert es den Start von Qmidinet, das sich in den Repos aller gängigen Distributionen findet. Auch viele musikorientierte Werkzeugsammlungen wie etwa jene von Ubuntu Studio enthalten es bereits.

Qmidinet legt sowohl im Alsa-Sequencer als auch in der Midi-Engine von Jack einen neuen Eingangs-Port an. Verbindet man den mit dem Midi-Eingang eines Software-Synths, reagiert dieser auf die von TouchDAW via Wi-Fi gesendeten Daten. Obwohl das Programm auch ohne Optionen sofort funktioniert, lohnt sich ein Blick auf die Manpage des Projekts.

Es kann durchaus vorkommen, dass Sie für einige Anwendungen zusätzlich spezielle Ports anlegen müssen – das lässt sich mit der Option -p leicht realisieren. Den in der Grundeinstellung abgeschalteten Jack-Midi aktivieren Sie mit der Option -j. TouchDAW bringt eine voreingestellte Oberfläche mit, die dazu dient, automatisch beliebte kommerzielle Anwendungen wie Cubase und VST Synths zu unterstützen. Das funktioniert nicht unbedingt mit jeder Linux-Anwendung.

Benötigen Sie lediglich einen generischen virtuellen Midi-Sender, helfen möglicherweise die einfachen, aber hübsch gestalteten Apps von Boris Trajikowski weiter. Sie senden über den von Google entwickelten DSMI-Server, der sich aus dem Google-Codearchiv [5] herunterladen lässt. Der einfache Server auf Java-Basis funktioniert ähnlich simpel wie Qmidinet. Nach dem Start legt er einen neuen Port im Alsa-Sequencer an. Allerdings müssen Sie beim Einrichten noch die IP-Adresse der Trajikowski-App auf dem Smartphone eingeben.

Nützliche Helferlein

Für das Testen der Ports und deren Anschluss an die gewünschten Anwendungen hat sich ein ganzer Zoo nützlicher Hilfswerkzeuge entwickelt. Im Terminal stehen primär die Programme aus dem Paket alsautils zur Verfügung. Um sich einen Überblick zu verschaffen tippen Sie aseq und drücken dann den Tabulator. Damit erscheint schon einmal das Tool aseqdump, das im Terminal anzeigt, welche Signale ein angeschlossenes Gerät sendet. Wie das Gerät intern heißt und welchen Port es registriert hat, findet aconnect heraus, mit dem sich auch direkt im Terminal virtuelle Kabel verlegen lassen.

Es gibt freilich auch grafische, intuitiv bedienbare Oberflächen für diese Zwecke, etwa Qjackctl (Abbildung 3). Selbst wenn Sie Jack nicht nutzen möchten, lassen sich damit im Fenster Verbindungen Ein- und Ausgangs-Ports betrachten und miteinander verbinden. Dieselben Fähigkeiten bietet auch der Plugin-Host Carla, der allerdings nur mit Jack sinnvoll zusammenarbeitet.

Abbildung 3: Ein Synth-Plugin bekommt Schlagzeugnoten von einem Drumpad, das via DIN-Kabel am <span class="ui-element">Midi In</span> einer PCI-Soundkarte h&auml;ngt. Qjackctl macht dabei das Komplizierte einfach.

Abbildung 3: Ein Synth-Plugin bekommt Schlagzeugnoten von einem Drumpad, das via DIN-Kabel am Midi In einer PCI-Soundkarte hängt. Qjackctl macht dabei das Komplizierte einfach.

Problemkinder

Während solide Mittelklassegeräte unter Linux meist ohne Weiteres funktionieren, kommt es sowohl bei billigen Noname-Produkten als auch bei ambitionierten Spitzengeräten durchaus auch zu Problemen. Den Billigangeboten fehlt zuweilen eine echte USB-Midi-Implementierung. Sie erkennen das bis zu einem gewissen Grad an Angaben zu den Systemvoraussetzungen, in denen nur von Windows die Rede ist, sowie an Screenshots von Bedienoberflächen unter Windows auf der Schachtel. Es lässt sich nicht völlig ausschließen, dass sich solche Geräte etwa über Wine nutzen lassen.

Viel problematischer erweisen sich aber hochwertige Geräte mit großem Funktionsumfang, die um des technischen Fortschritts willen über die klassischen Standards hinausgehen. Einige davon, etwa das avantgardistische Seaboard von Roli, bringen dazu Software mit, die sich aber mithilfe von Wine installieren lässt. Im Fall von Roli trifft das auf das mitgelieferte VST-Plugin zu: Es lässt sich in Host-Software für Linux, die Windows VST unterstützt, laden und dann normal benutzen. Leicht verfügbare VST-Hosts mit Windows-DLL-Unterstützung sind zum Beispiel LMMS mit Vexed-Modul und Carla mit Winebridge. Auch Ardour lässt sich als Windows-DLL-VST-Host kompilieren.

Einige andere komplexere Geräte namhafter Hersteller benötigen einen Firmware-Upload, das Sie am besten mit dem Paket alsa-firmware-loaders erledigen. Diese unterstützen allerdings nur eine recht kurze Liste von Sound-Interfaces, und so kommt es vor, dass man sich mit Tricks behelfen muss. Oft kann man die Software zum Gerät unter Windows installieren und dort die gewünschten Einstellungen vornehmen. In einigen Fällen darf man dann aber das auf diese Weise initialisierte Gerät beim Umstecken vom Windows- an den Linux-Rechner nicht mehr von der Stromversorgung trennen.

Geräte wie das Seaboard, aber auch erschwinglichere Controller wie etwa die TouchDAW App für Android [6] sind oft für beliebte Win-/Mac-Software wie Abelton Live oder Cubase voreingestellt. Möchten Sie diese Vorgaben nutzen, kommen Sie am ehesten mit kommerziellen Anwendungen für Linux zum Erfolg. So gibt es Berichte von Nutzern von Tracktion Waveform, die das Programm mit TouchDAW erfolgreich benutzen. Bitwig Studio lässt sich mit dem Roli Seaboard verwenden [7] und versteht dabei auch die über den Midi-Standard deutlich hinausgehenden Funktionen des Instruments.

Ähnlich wie TouchDAW arbeitet auch die TouchOSC-App (Abbildung 4) von Hexler [8]. Es gibt dazu einen auch für Linux verfügbaren Layout-Editor sowie einen Konverter, der die OSC-Signale der App auch als Midi bereitstellt.

Abbildung 4: Die bunten Oberfl&auml;chen von Hexlers TouchOSC lassen sich mit einem Editor bearbeiten und so auch auf verschiedene Mobilger&auml;te und Anwendungen optimal anpassen.

Abbildung 4: Die bunten Oberflächen von Hexlers TouchOSC lassen sich mit einem Editor bearbeiten und so auch auf verschiedene Mobilgeräte und Anwendungen optimal anpassen.

Wie der Name andeutet, handelt es sich bei TouchOSC eigentlich um ein Programm, das mit Signalen im Open-Sound-Control-Format arbeitet. OSC hat große Ähnlichkeit mit Midi, geht aber weit darüber hinaus. Das macht OSC aber auch deutlich komplexer als Midi, und ein allgemein anerkannter Standard für die Signale hat sich noch nicht etabliert. Einigen Anwendungen arbeiten intern mit OSC-Signalen, wie etwa Bitwig Studio, und benutzen Konverter, um Midi zu empfangen und auszugeben.

Ardour verwendet OSC seit Langem; es sendet die Konfiguration von Mixer und Laufwerk via OSC und lässt sich per OSC fernsteuern und automatisieren. Letzteres funktioniert in Ardour allerdings auch via Midi, und weil das mit praktisch jedem gängigen Controller sofort funktioniert, kommt OSC auch in Ardour eher selten zum Einsatz.

Signale richtig verkabeln

Wenn der Controller am Midi-Port seine Signale an eine Anwendung ausgibt, stellt sich die Frage, welchen Parameter welcher Regler eigentlich beeinflusst. Grundsätzlich kommen Noten von Keyboards und Drumpads automatisch richtig bei normalen Klangerzeugern an. Auch die Standard-Controller Vibrato und Pitch Bend sowie die Master-Lautstärke kommen normalerweise sinnvoll im Synthesizer an. Aber schon beim ebenfalls standardisierten Modulationsregler ist nicht mehr so sicher, was man damit eigentlich automatisch regelt. Die allermeisten Regler sind erst einmal gar nicht an Parameter angeschlossen.

Möchten Sie anstelle eines Klangerzeugers ein Mischpult oder ein Laufwerk steuern, bieten etliche Controller auch die üblichen Laufwerksfunktionen als Hardware-Tasten. Pitch Bend liegt oft automatisch auf der Funktion zum vor- und zurückspulen (“Cue”). Außerdem verwenden viele voreingestellte Setups für die Bedienung von DAWs und Mischpulten auch Midi-Noten als Signal für Funktionen wie Stummschalten und Solo in Mischpultkanälen.

Da es sich hier aber nur um Software-Presets handelt, können Sie das auch ganz anders einstellen. Darüber hinaus möchten viele Anwender die spezielleren Regler am Controller nach Gusto mit Parametern verbinden. Diese Mappings genannten Einstellungen können Sie sich vereinfacht dargestellt als lange Tabellen vorstellen, in denen links die Nummer eines Signals und rechts davon der Bezeichner des Parameters in der Software stehen.

In manchen anspruchsvollen Software-Systemen lassen sich solche Listen tatsächlich per Hand schreiben und einsetzen. Beispiele dafür bieten vor allem modulare Systeme wie Pure Data oder CSound sowie einige daran angelehnte Synthesizer wie Alsa Modular Synth. Aber auch intuitiver nutzbare Software bietet oft die Möglichkeit, Mappings über einfache Textdateien einzubinden. Einen etablierten Standard für solche Files gibt es allerdings nicht.

Die meisten Projekte verwenden einfach Markup-Blöcke in einem XML-Dialekt. Listing 1 zeigt ein Beispiel aus einer Voreinstellungsdatei für einen Synthesizer im Plugin-Host Carla. Der Block sorgt dafür, dass der Cutoff-Filter des Synthesizers auf Signale mit der Kennnummer 74 reagiert, bei einer Grundeinstellung von 0,45. Der Synth ist als Modul Nummer 4 in den Carla-Host eingebunden.

Listing 1

<Parameter>
  <Index>4</Index>
  <Name>Filter cutoff</Name>
  <Symbol>cutoff</Symbol>
  <MidiCC>74</MidiCC>
  <MidiChannel>1</MidiChannel>
  <Value>0.45</Value>
</Parameter>

Zwar lassen sich diese Blöcke in der Einstellungsdatei vor dem Start mit einem Texteditor schreiben und bearbeiten. Aber in aller Regel ist es intuitiver, die Zuweisungen im laufenden Betrieb vorzunehmen. Dazu öffnen Sie in Carla nach einem Rechtsklick auf ein Modul den Menüpunkt Edit.

Der sich öffnende Dialog bietet eine generische Plugin-Oberfläche. Sie sieht zwar meist nicht so hübsch aus wie die native GUI des Plugins, zeigt dafür aber zu jedem Parameter die zugewiesenen Controller-Nummern, die Sie nun ändern können (Abbildung 5). Nach dem Eintrag der Nummer aktiviert ein Druck auf die Eingabetaste die Zuweisung. Damit der Parameter reagiert, müssen Sie ein virtuelles Kabel vom Jack-Midi-Port zu seinem Eingang legen.

Abbildung 5: Signale mit der Kennung&nbsp;74 steuern ab sofort die Modulationsrate des CALF-Chorus-Plugins. Der einfache Behringer-Controller an Port&nbsp;3 zeigt seine Signalnummern im Terminal via Aseqdump (rechts im Bild).

Abbildung 5: Signale mit der Kennung 74 steuern ab sofort die Modulationsrate des CALF-Chorus-Plugins. Der einfache Behringer-Controller an Port 3 zeigt seine Signalnummern im Terminal via Aseqdump (rechts im Bild).

In Ardour müssen Sie zunächst den Eingangs-Port des Controllers via Qjackctl an den Ardour-Control-Eingang im Jack-Midi-Reiter des Verbindungsfensters anschließen. Danach öffnet bei gehaltenem [Strg] ein Klick mit der mittleren Maustaste auf einen Regler oder Schalter in Ardour eine Aufforderung, einen Controller zu bewegen. Den legt die Software dann sofort auf den Parameter. Für Plugins müssen Sie die gewünschten Parameter zuerst mit Rechtsklick auf den Plugin-Eintrag im Mixer-Kanalzug aus dem Menü Steuerelemente in die GUI von Ardour übertragen.

Eine der elegantesten Lösungen in Linux bietet Guitarix (Abbildung 6): Ein Klick mit der mittleren Maustaste auf einen beliebigen Regler öffnet ein Fenster, in dem die Software beim Bewegen eines Reglers ein Signal von einem via Jack-Midi angeschlossen Controller einträgt.

Abbildung 6: In weniger als einer Sekunde und mit nur einem Mausklick verkabeln Sie in Guitarix einen Controller.

Abbildung 6: In weniger als einer Sekunde und mit nur einem Mausklick verkabeln Sie in Guitarix einen Controller.

Generell lassen sich alle Klangerzeuger unter Linux mit Controllern verbinden. Einzige Ausnahme: Der machtvolle Riesen-Synthesizer Zynaddsubfx, auch in dessen neuerer Variante Yoshimi. Zum Glück gibt es Plugin-Varianten namens Zyn als natives VST und LV2. Beide lassen sich über die jeweiligen Midi-Learn-Methoden eines Plugin-Hosts mit Controllern verbinden.

Fazit

Wer ein Linux-System mit spezielleren Geräten als Maus und Tastatur bedienen möchte, der findet eine Vielfalt von Lösungen vor – nicht nur für Midi-Signale und Musik-Software, sondern auch für ganz andere Anwendungen via OSC (siehe Kasten “Open Sound Control”). Dank diverser nützlicher Werkzeuge zum Einfangen, Anzeigen und Verbinden von Controller-Signalen sind dem Erfindungsreichtum hier kaum Grenzen gesetzt (Abbildung 7). 

Abbildung 7: Da sich in Ardour fast alles fernsteuern l&auml;sst, kann man auch das Laufwerk f&uuml;r eine Video-Nachvertonung bequem mit einem geeigneten Laufwerks-Controller bedienen.

Abbildung 7: Da sich in Ardour fast alles fernsteuern lässt, kann man auch das Laufwerk für eine Video-Nachvertonung bequem mit einem geeigneten Laufwerks-Controller bedienen.

Open Sound Control

Midi funktioniert seit mehr als 30 Jahren ohne große Änderungen tadellos. Doch die solide Einfachheit des Protokolls ist auch sein Fluch: Schon von Anfang an beklagten ambitionierte Musiker, dass Midi pro Note nur 127 Abstufungen der Anschlagdynamik zulässt.

Während sich ein einfaches Klavier damit gerade noch akzeptabel umsetzen lässt, geraten Instrumente mit komplexerer Tonerzeugung an ihre Grenzen. Bei Gitarren und Blasinstrumenten gibt es Tausende Varianten, mit denen sich der Ton erzeugen und – auch noch während er erklingt – manipulieren lässt. Obendrein gehen die verschiedenen Methoden nicht selten fließend ineinander über. Mit einigen Tricks lassen sich heute auch in Midi schon 14 Bit statt der klassischen 7-Bit-Signale umsetzen. Doch diese Ansätze sind eher dem Wunsch geschuldet, irgendwie rückwärtskompatibel zum “alten” Midi zu bleiben. Die Antwort ohne Kompromisse lautet OSC: Open Sound Control.

Wie der Name andeutet, ist das neue Protokoll frei und offen. Man sollte also meinen, dass OSC unter Linux quasi als Gold-Standard dienen sollte – weit gefehlt. In der Praxis unterstützen zwar etliche Programme das Protokoll, und es existieren diverse Werkzeuge zum Umgang damit, aber nur für Ardour gibt es einen auf OSC basierenden Controller: eine Android-App namens Ardroid. Sie steht aber nur noch als APK auf zweifelhaften Webseiten bereit, weil derzeit keine Weiterentwicklung mehr stattfindet.

Das dürfte unter anderem daran liegen, dass OSC konzeptionell genau das Gegenteil von Midi darstellt. Statt auf ein Set von Standardsignalen zu setzen, lässt es sich komplett frei implementieren. Unter Linux und auch in vielen Controller-Hardware-Geräten und OSC-steuerbarer Software kommt im Kern meist liblo zum Einsatz, oft zusammen mit dem Python-Modul pyliblo. Deren Kernfunktionen bleiben allerdings ziemlich vage; jede konkrete Nutzung setzt voraus, dass die frei zu vergebenden Signalkennungen der Anwendung mit der Signalerzeugung des Controllers zusammenpassen. Dazu müssen Sie Einstellungsdateien schreiben, die zwar nicht kompliziert sind, zuweilen aber durchaus umfangreich ausfallen. Das setzt allerdings in jedem Fall eine ordentliche Dokumentation der jeweiligen OSC-Implementierung und ihrer Signaladressen seitens der Entwickler voraus.

Viele Entwickler unterstützen das neue System auch deshalb nicht, weil Midi den Ansprüchen der meisten Nutzer genügt. Allerdings gibt es etliche hochinteressante Controller, die entweder mit OSC ihre Funktionalität erweitern oder sogar ausschließlich OSC senden.

Legendär ist etwa das Lemur-Touchpad des (allerdings inzwischen nicht mehr aktiven) Herstellers Jazzmutant. Das Pad gibt es gebraucht für etwa 200 Euro. Es gehört zu den Geräten, die unter Linux von der Arbeit des Entwicklers Albert Gräf profitieren, der eine ganze Reihe von Tools zum Umgang mit OSC unter Linux veröffentlichte [9]. Dazu gehören neben Werkzeugen zum Verwenden spezieller Hardware-Controller mit Ardour auch der OSC-nach-Midi-Konverter Osc2midi-utils.

Besonders interessant ist die für rund 4 Euro erhältliche Android-App TouchOSC. Dafür lassen sich Layouts der Bedienoberfläche relativ leicht selbst erstellen. Dazu bietet der TouchOSC-Anbieter Hexler einen Editor [10] an, der dank Java auch unter Linux läuft (Abbildung 8). Dank einer auf Python basierenden Konverter-Software [11] lassen sich die Signale auch unter Linux nutzen.

Abbildung 8: Die Editor-Software f&uuml;r TouchOSC-Layouts kann die fertigen Layouts auf ein Android-Ger&auml;t im gleichen WLAN hochladen. Dazu gibt es in der App auf dem Smartphone eine simple Import-Funktion.

Abbildung 8: Die Editor-Software für TouchOSC-Layouts kann die fertigen Layouts auf ein Android-Gerät im gleichen WLAN hochladen. Dazu gibt es in der App auf dem Smartphone eine simple Import-Funktion.

Der Autor

Hartmut Noack arbeitet in Celle und Hannover als Dozent, Autor und Musiker. Er fand schon immer, dass freie Software und selbst gemachte Musik prima zusammenpassen. Unter http://lapoc.de finden Sie einige CC-lizenzierte Ergebnisse seiner Arbeit mit freier Musiksoftware.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 02/2019 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben