Das vergessene Programmierwunder: Forth feiert Comeback im Live Coding
Wenn der Stack zum Beat wird: Cagire und die Kunst des Live-Codings
Stellt euch vor, ihr programmiert nicht mit Variablen und Schleifen, sondern mit einem Stapel – einem Stack. Ihr legt Werte drauf, andere Werte kommen dazu, und die Operationen arbeiten sich durch das Ganze durch. Minimalistisch, direkt, fast schon archaisch. Das ist Forth. Und jetzt kommt das Spannende: Cagire lässt euch damit Beats bauen.
Was ist Cagire eigentlich?
Cagire ist ein Step-Sequencer. Aber einer, der sich grundlegend von dem unterscheidet, was ihr vielleicht kennt. In einem normalen Sequencer tippt ihr Events in eine Timeline, zieht Samples auf Spuren, verkabelt Ausgänge. In Cagire? Da steht Code. Konkret: Jeder der 16 Steps im Sequencer führt Forth-Skripte aus. Step 7 feuert vielleicht einen synthesisierten Kick ab. Step 12 schickt eine Frequenz durch ein Filter. Oder eben gar nichts – wenn ihr das so programmiert habt.
Ihr seid nicht auf das beschränkt, was ein Regler in einer GUI erlaubt. Ihr schreibt die Regeln selbst.
Warum zum Teufel Forth?
Forth arbeitet mit Umgekehrter Polnischer Notation – kein Witz, das Ding ist wirklich nach Polen benannt, beziehungsweise nach dem polnischen Logiker Łukasiewicz. Statt 3 + 4 schreibt ihr 3 4 +. Ihr legt beide Zahlen auf den Stack, und das Plus zieht sie sich runter, addiert sie, legt das Ergebnis wieder drauf. Das zwingt euch, in unmittelbarer Ursache und Wirkung zu denken.
Klingt erstmal umständlich? Kann es sein. Aber für Sound ist das Gold. Denn Sound ist im Grunde genau das: Ein Signal rein, bearbeiten, raus. 440 s fosc – stellt euch vor, ihr legt 440 auf den Stack, dann sagt ihr "s" (für Start oder was auch immer), und dann kommt der Oszillator und zieht sich die Frequenz. Die Parameter liegen einfach da, auf dem Stack, bereit für die nächste Operation.
Forth hat jahrzehntelang ein Schattendasein in der Embedded-Entwicklung geführt. Bei Hardware-Steuerung, in der Raumfahrt, überall dort, wo Speicher knapp und Kontrolle wichtig ist. Aber Echtzeit-Audio? Das ist nochmal ein anderes Kaliber. Cagire hat dafür die Engine Doux eingebaut – Oscillatoren, Filter, Effekte, Sample-Wiedergabe. Eure Forth-Skripte sprechen damit über einfache Word-Definitionen. Kein externer DAW, kein Plugin-Chaos, keine Routing-Spaghhetti.
Musik als Programm, nicht als Timeline
Hier wird es richtig interessant: In Cagire ist ein Pattern ein Programm.
In klassischen Sequencern ist ein Pattern eine Sequenz von Events. In Cagire ist es ein Ausführungskontext. Was bedeutet das konkret? Eure Skripte können:
- Den aktuellen Tempo abfragen und sich dynamisch anpassen
- Wahrscheinlichkeiten und Zufall einbauen, damit nichts repetitiv klingt
- Je nach Iterationszähler oder Beat-Position unterschiedlich reagieren
- Patterns dynamisch verketten, basierend darauf, was gerade lief
Ihr baut euch im Grunde eine domänenspezifische Musiksprache auf Basis von Forth. Und mit dieser Sprache komponiert ihr dann in Echtzeit. Entwickler fühlen sich wohl dabei. Musiker bekommen eine neue Perspektive auf das, was Komposition eigentlich bedeutet – nämlich Code, der Klänge erzeugt.
Auf der Bühne zu Hause
Viele Live-Coding-Umgebungen fühlen sich an wie Bastelprojekte fürs Schlafzimmer. Cagire nimmt einen anderen Weg. Das Session-Interface mit der Pattern-Grid erlaubt euch, Clips auf quantisierten Grenzen zu triggern – einmal Launch gedrückt, und alles rastet ein. Der HOLD-Modus bewaffnet eine ganze Szene von Patterns und lässt sie gleichzeitig mit einem einzigen Tastendruck fallen.
32 Banks mit je 32 Patterns, die gleichzeitig laufen können. Jedes einzelne Pattern führt Forth-Code aus, den ihr im Moment definiert habt. Ganze Sessions speichern und laden – Patterns, eigene Words, Notendefinitionen – in einer einzigen Datei. Eure persönliche Klangsprache wandert so von Laptop zu Laptop.
Der breitere Kontext
Live Coding hat immer eine bestimmte Sorte Mensch angezogen: den Entwickler-Musiker. Jemanden, der in Logik denkt, standardisierte Musiksoftware als einschränkend empfindet und direkte Kontrolle über die Klangsynthese will. Die Tools haben sich in den letzten zehn Jahren enorm verbessert. Aber die meisten behandeln Code immer noch als eine Schicht über konventionellen Musikparadigmen.
Cagire integriert Programmierung direkt in die Sequencer-Architektur. Der Step ist kein Trigger – er ist ein Funktionsaufruf. Das Pattern ist keine Timeline – es ist eine Ausführungsumgebung. Dieser konzeptuelle Shift öffnet Möglichkeiten, die grafische Oberflächen schlicht nicht ausdrücken können.
Ob ihr nun Forth-Enthusiast seid, der nach einem kreativen Ausdruck sucht, ein Live-Coder, der die Abstraktionen seiner Umgebung leid ist, oder ein Entwickler, der am besten durch das Bauen von Dingen lernt, die Lärm machen – hier passiert wirklich etwas Interessantes. Der Stack ist real. Die Klänge sind programmierbar. Der nächste Schritt liegt bei euch.
Cagire bringt interaktive Dokumentation und lauffähige Beispiele direkt in der App mit. Ein Blick lohnt sich allein schon, um zu hören, was Forth klingt, wenn man ihm ein Tempo gibt.
Habt ihr schonmal Live-Coding-Umgebungen für Musik ausprobiert? Welche Ansätze haben bei euch funktioniert? Schreibt gerne in die Kommentare – ich bin immer neugierig, womit die Community gerade arbeitet.