Als Algorithmische Komposition (AK) bezeichnet man jene Kompositionsverfahren, bei denen die Partitur durch einen automatischen, mathematisch beschreibbaren Prozess oder Algorithmus erzeugt wird.

Im Prinzip lässt sich jedes Musikstück als eine Folge von Zahlen darstellen: Ist es bei einem Instrument möglich, die Tonhöhe sowie die Anschlagsstärke und -dauer einer Note zu variieren, dann ist jede Note mit drei Zahlen darstellbar.

AK ist etwas vereinfacht die Entwicklung von Regeln, die solche musikalisch interpretierbaren Zahlenfolgen erzeugen. In der heutigen Praxis ist das meist die Entwicklung eines Computerprogramms; Computer sind jedoch nicht zwingend erforderlicher Bestandteil der AK.

Viele AK-Systeme arbeiten nach dem Prinzip der iterativen Rückkopplung, das Programm erzeugt abhängig von einer Eingabe eine Ausgabe, die im nächsten Schritt als neue Eingabe verwendet wird.

Die Grenzen zwischen „traditioneller Komposition“ und AK sind fließend. Jede Verwendung einer Regel bei der Komposition – sei es das Bluesschema oder der Kontrapunkt – könnte man streng genommen bereits als algorithmisch bezeichnen.

Konzepte und Modelle

Neben Musiktheoretischen Erkenntnissen werden zahlreiche andere Wissensgebiete genutzt:

Neuronale Netze analysieren akustische und musikalische Daten.

Symbolische KI, ursprünglich eher für die Analyse und -synthese sprachlicher und mathematischer Ausdrücke entwickelt wird auf musikalische Strukturen angewendet.

Einfache Algorithmen erzeugen komplexe Strukturen.

Manuelle oder automatische Auswahlprozesse steuern eine künstliche Evolution.

Endliche Automaten erzeugen mittels Konzepten der Generativen Grammatik Musik aus einem Alphabet und Ableitungsregeln.

Kompositionen von z. B. J. S. Bach werden statistisch analysiert, um mittels Markow-Ketten „Bach-artige“ Musik zu erzeugen.

Die in der Folge der natürlichen Zahlen vorhandenen Strukturen werden „hörbar“ gemacht.

Kriterien für eine Klassifizierung von Konzepten:

Schritte

Die AK lässt sich sinnvoll in drei bis vier Schritte untergliedern, auch wenn sie in der Regel innerhalb eines Computers und sogar innerhalb eines Programms oder einer Programmierumgebung stattfinden:

Historisches

Programmiersprachen und Programmierumgebungen

Zeitgenössische Komponisten

Literatur