Alda 2.0: Musikkompositionen per Texteditor erstellen

Die zweite Hauptversion der Open-Source-Programmiersprache Alda ist erschienen. Alda ist eine textbasierte Sprache für Musikkompositionen.

In Pocket speichern vorlesen Druckansicht 22 Kommentare lesen

(Bild: BrAt82/shutterstock.com)

Lesezeit: 3 Min.

Die auf Musikkomposition ausgelegte Programmiersprache Alda ist in der frisch veröffentlichten Version 2.0 in Googles Go umgesetzt. Wie die Alda-Dokumentation verspricht, legt ihr Erfinder Dave Yarwood Wert auf Ästhetik, Flexibilität und eine einfache Anwendung. Die Sprache mit Markup-ähnlicher Syntax hat den Anspruch, einerseits für nicht-programmierende Musiker verständlich zu sein, andererseits aber auch für nicht-musizierende Programmiererinnen.

Alda 2.0 stellt eine grundlegende Neuauflage dar, an der Yarwood seit 2018 gearbeitet hat. Während die Sprachfeatures beinahe identisch zu Alda 1.0 geblieben sind, hat Version 2.0 ein rundumerneuertes Grundgerüst. So hat sich Alda zu einer nativen Go-Anwendung gewandelt, die für Linux, macOS und Windows verfügbar ist. Der Wechsel zu einer nativen Anwendung soll der Performance beim Parsen und Evaluieren der musikalischen Werke zugutekommen.

Neu ist auch ein kleiner in Kotlin geschriebener alda-player-Hintergrundprozess zum Abspielen der Musik. In Version 2.0 entfällt zudem das Starten eines Servers, und der neue Befehl alda doctor überprüft, ob das System für Alda geeignet ist.

Trotz der grundlegenden Änderungen unter der Haube soll in Alda 1.0 geschriebener Code mit Alda 2.0 kompatibel sein – dazu schaute sich Yarwood nicht nur Beispiele aus „freier Wildbahn“ an, sondern schrieb sogar eigens ein Vergleichstool zum Finden von Bugs und Inkonsistenzen, um sie beheben.

Wie Alda in der Anwendung funktioniert, demonstriert die offizielle Homepage des Projekts. Ein Klavierstück sieht dann etwa aus wie folgt:

piano:
  o3
  g8 a b > c d e f+ g | a b > c d e f+ g4
  g8 f+ e d c < b a g | f+ e d c < b a g4
  << g1/>g/>g/b/>d/g

Eine Partitur besteht dabei aus einer Textdatei. Zum Abspielen der Stücke dient das Kommandozeilenwerkzeug alda. Mit an Bord ist interaktives REPL (Read-Eval-Play Loop), das in Echtzeit das Ergebnis des Codes abspielt und das sich in Version 2.0 über eine Netzwerkverbindung nutzen lässt.

Zudem ermöglicht Alda das programmatische Schreiben von Musik unter anderem für algorithmischer Komposition. Dabei werden absichtlich Teile eines Musikstücks ausgelassen, die ein Computerprogramm auffüllt. Diese Funktion richtet sich an Musikerinnen und Musiker, die dem Programmieren nicht ganz fremd sind.

Der Kreativität des Alda-Einsatzes sind dabei keine Grenzen gesetzt. Als Beispiel schlägt der Erfinder der Programmiersprache vor, eine 10-Tages-Wettervorhersage je nach Wetterlage mit bestimmten Instrumenten zu untermalen. Beim Livecoding lässt Alda sich ebenso kreativ einsetzen.

Alle Neuerungen in Alda 2.0 sind dem Blogeintrag von Dave Yarwood zu entnehmen. Allgemeine Infos zu der Open-Source-Sprache finden sich auf GitHub.

(mai)