Leif

— Live Coding Umgebung für JavaScript + Ableton Live

Disclaimer: Ich habe Leif zusammen mit Robin Hase (HfK Bremen) entwickelt.

Beim Live Coding wird Code in Echtzeit geschrieben. Häufig generiert das Programm, das dabei entseht, Musik oder Visuals.

Leif ist eine Live Coding Umgebung für JavaScript und Ableton Live. Sie ermöglicht es, einfachen JavaScript Code zu schreiben, um Patterns zu erstellen, die dann in Echtzeit in Ableton Live abgespielt werden. Dabei stehen dem Nutzer interessante Möglichkeiten zur Verfügung, Patterns zu erstellen und zu manipulieren, während Ableton Live genutzt wird, um komplexe Instrumente und Arrangements zu verwenden.

Leif besteht aus zwei Komponenten: Einem Plugin für den Text Editor Atom einerseits, das es ermöglicht Patterns mittels JavaScript zu erzeugen und zu manipulieren und einem Max for Live Device andererseits, welches mit dem Plugin kommuniziert und die Patterns als MIDI in Ableton Live ausgibt.

Leif ist inspiriert von TidalCycles, einer Live Coding-Umgebung von Alex McLean. TidalCycles verwendet die funktionale Programmiersprache Haskell, um musikalische Patterns mit interessanten Mitteln abzubilden und zu transformieren.

Meine Motivation eine eigene Live Coding Umgebung zu entwickeln ist, andere Möglichkeiten zum Transformieren von Patterns zu ergründen. Dafür bietet es sich an von Grund auf etwas Neues zu entwickeln, anstatt auf eine bestehende Lösung aufzubauen, weil es hierbei nicht darum geht, dass die Software möglichst stabil und umfangreich ist. Das Gegenteil ist der Fall: Dadurch, dass Leif noch sehr jung und nicht so umfangreich wie TidalCycles ist, können viel einfacher experimentelle Änderungen vorgenommen werden.

Screencast einer Leif Performance


Max Patch