Original-URL des Artikels: https://www.golem.de/news/meta-ex-code-macht-musik-1311-102709.html    Veröffentlicht: 14.11.2013 16:54    Kurz-URL: https://glm.io/102709

Meta-ex

Code macht Musik

Statt Gitarre und Schlagzeug nutzt die Band Meta-ex zwei Rechner und programmiert ihre Musik live in dem Lisp-Dialekt Clojure. Das Publikum sieht dabei per Beamer, was im Editor der Musiker passiert. Sie sagen: Nur so kann elektronische Musik tatsächlich live aufgeführt werden.

Er drücke eigentlich nur ein paar Knöpfe, sagt der Chemiker Jonathan Graham und zeigt auf die Midi-Keyboards auf dem Tisch. Auch Sam Aaron, immerhin Forscher am Computer Laboratory der Universität Cambridge, würde sich selbst nicht als guten Programmierer bezeichnen. Dennoch tragen die beiden Mitglieder der Band Meta-ex zu ihrem Auftritt in der Berliner C-Base T-Shirts mit der Aufschrift "Programmer". Damit wollen sie ein Zeichen setzen, denn sie programmieren Musik, in Echtzeit, in dem Lisp-Dialekt Clojure.

Statt einfach nur an ein paar Reglern zu drehen wie einige zeitgenössische Elektromusiker, wollen sie live auftreten. Und die Meta-ex-Musiker glauben, dass bei elektronischer Musik Quellcode am besten dazu geeignet ist, das umzusetzen. Wie geübte Gitarrenspieler einem Konzert von Jimmy Hendrix soll das Publikum bei Meta-ex den Programmierern folgen können. Dazu wird der zu bearbeitende Code per Beamer an die Wand hinter den Bandmitgliedern projiziert.

Live-Coding

Die Idee des Live-Codings, also in Echtzeit zu programmieren, ist nicht sonderlich neu. Es gibt bereits einige Live-Coding-Bands und einzelne Elektroakustiker, die regelmäßig öffentlich auftreten. Meist entstammen die Musiker einem akademischen Umfeld und ergründen während ihrer Performances die Grenzen der Musik - etwa, indem mit einem leeren Editor gestartet wird und es erst einige Minuten dauert, bis überhaupt ein erster Klang entsteht. Häufig sind die Auftritte auch Noise-Experimente.

Doch obwohl Meta-ex ihre Musik auch als Live-Performance beschreiben und diese oft improvisiert ist, entspricht die Band nicht dem etwas klischeehaft beschriebenen Bild der Live-Coding-Band. Denn Strukturen wie Rhythmus, Takt oder auch Melodie werden nicht völlig aufgelöst, sondern genutzt, um fast schon tanzbare Musik zu erzeugen. Auch beginnen die zwei Musiker ihre Auftritte nicht mit einem leeren Editor, sondern sie verwenden bereits erstellte Synthesizer und andere Objekte als Ausgangspunkt.

Overtone, ein Supercollider-Client

Um ihre Art der elektronischen Live-Musik zu spielen, benutzen Meta-ex das Framework Overtone. Dieses ist aber selbst nur ein Client für den Supercollider-Server. Der unter der GPL stehende Server erzeugt letztlich die Klänge, ermöglicht das Vermischen und Bearbeiten in Echtzeit und kann mit mehreren Clients benutzt werden. Wegen dieser Eigenschaften wird Supercollider von bekannten Musikern wie Aphex Twin zur Musikproduktion genutzt. Overtone ermöglicht es, auf einen extern laufenden Supercollider-Server über das Netzwerk zuzugreifen, kann den Server aber auch lokal starten. Unter Linux wird zusätzlich der Soundserver Jack verwendet.

Aus der Sicht von Sam Aaron hat die in Supercollider integrierte Sprache mit C-artiger Syntax aber einige Nachteile, weshalb er an Overtone arbeitet, dessen Hauptentwickler er ist. Das Framework ist komplett in dem Lisp-Dialekt Clojure geschrieben und hat damit den Vorteil, dass der Code gleichzeitig als Programm-Interface dient und "nicht nur Mittel zum Zweck ist", wie Aaron im Interview sagt. Overtone steht unter MIT-Lizenz auf Github samt Installationsanleitung zum Download bereit.

Lisp und REPL

Die Besonderheit Lisp-artiger Sprachen wie Clojure ist außerdem, wie diese ausgeführt werden, nämlich im sogenannten Read-Evalute-Print-Loop (REPL). Das heißt, der Code wird eingelesen und evaluiert und das Ergebnis dargestellt, und das lässt sich schließlich wiederholen. Klassischerweise geschieht dies mit einem REPL-Kommandozeilen-Tool. Aber über eine Art Client-Server-Modell können ebenso über den Editor als Client die Befehle an einen REPL-Server geschickt werden. Entsprechende Skripte stehen zum Beispiel für Vim bereit, mit Emacs-Live stellt Aaron auch eine angepasste Version des GNU-Editors zur Verfügung.

Vereinfacht erklärt reicht es aus, einen Synthesizer mit den Mitteln von Overtone zu schreiben und diesen im Editor zu evaluieren; über Supercollider dringt der Klang dann zu den Lautsprechern. Während ein Sound läuft, lässt er sich live modifizieren, etwa die Tonhöhe oder die Lautstärke ändern. Dazu muss nur die entsprechende Zeile Code evaluiert werden.

Overtone besticht auch mit der verblüffenden Einfachheit, mit der Klangobjekte erzeugt werden können: Ein Klon des unter Elektromusikern geradezu legendären Roland TB-303 umfasst nur wenige Zeilen Code, der sich dazu noch vergleichsweise leicht lesen lässt.

Wie mit Ton und Töpferscheibe

Bei Meta-ex wird auf zwei verschiedenen Rechnern an der Musik gearbeitet, die auf den gleichen Supercollider-Server zugreifen. Dadurch lasse sich die Musik in einem gewissen Maße improvisieren, sagen Meta-ex. Jeder könne so auf die Musik des anderen zugreifen und diese direkt bearbeiten. Notfalls lasse sich der Sound des Nebenmannes auch komplett abschalten.

Dies ähnele der Arbeit mit Ton an einer Töpferscheibe, sagt Aaron. Einer beginne, den Ton zu formen und werfe ihn dann sozusagen dem anderen zu, der ihn auf seiner Scheibe weiterbearbeite. Um diese Arbeitsweise nicht nur auf einzelne Auftritte und die zwei Bandmitglieder zu beschränken, steht die Grundlage der Live-Sets über Github unter dem Namen Ignite zur Verfügung. Die dafür gewählte Creative-Commons-Non-Commercial-Lizenz ermöglicht es Interessierten, die Sets selbst einzusetzen, und Meta-ex können Verbesserungen anderer selbst wieder verwenden.

Jede Eingabe ist Code

Overtone ist nicht nur zum Schreiben und Verändern von Code geeignet. Die mit Overtone erzeugte Musik lässt sich auch über angeschlossene Geräte steuern, wie mit den anfangs erwähnten Midi-Keyboards oder den via USB angesprochenen Monome. Letztere sind im Grunde nicht viel mehr als kleine Holzboxen, auf denen viele leuchtende Knöpfe sitzen. Diese nutzt Meta-ex zum Beispiel, um schnell Drum-Rhythmen zu starten und per Knopfdruck zu verändern.

In Overtone kann jedes der von den Geräten erzeugten Ereignisse wie Midi-Ton und -Anschlagstärke einzeln programmiert werden, sofern das gewünscht ist. Das gilt für jede Art von Eingabe, die das System verarbeiten kann. So kann zum Beispiel auch die Position des Mauszeigers genutzt werden, um etwa die Tonhöhe dynamisch anzupassen.

Bilder zur Musik

Zusätzlich zur programmierten Musik erzeugen Meta-ex während ihrer Auftritte auch visuelle Effekte, die direkt auf einige Eigenschaften der Musik reagieren. Dazu verwenden sie Shadertone, das laut Selbstbeschreibung eine Mischung aus Overtone und Shadertoy ist. Mit der Shadertone-Bibliothek lässt sich gleichzeitig der Code für die Musik und die Visuals bearbeiten.

Für die Shader wird dabei hauptsächlich die OpenGL Shading Language (GLSL) verwendet. Es lassen sich aber auch Shader in Lisp schreiben, die von Shadertone übersetzt werden. Die Shader können ebenso wie der Musik-Code selbst live verändert werden. Bei Meta-ex kann das Publikum sogar den Editor halbtransparent über dem Shader laufen sehen und so der Bearbeitung der Shader folgen und die Resultate bestaunen.  (sg)


Verwandte Artikel:
Linux-Distributionen: Fedora 18 erhält neuen Paketmanager   
(19.06.2012, https://glm.io/92626 )
Song Maker: Google präsentiert einfach zu bedienende Musiksoftware   
(02.03.2018, https://glm.io/133106 )
Mustang GT: Fenders smarte Amps lassen sich einfach kapern   
(27.02.2018, https://glm.io/133026 )
Synthesizer IIIp: Moog legt Synthie-Klassiker für 35.000 US-Dollar wieder auf   
(22.02.2018, https://glm.io/132921 )
Roli Blocks im Test: Wenn der Kollege die Geige jaulen lässt   
(05.02.2018, https://glm.io/132559 )

© 1997–2019 Golem.de, https://www.golem.de/