Abstract:
Die Library „OM-LEAD“ ist eine Library für regelbasierte, computergenerierte Echtzeit-Komposition. Die Überlegungen und Ansätze in Joseph Brancifortes Text „FROM THE MACHINE: REALTIME ALGORITHMIC APPROACHES TO HARMONY AND ORCHESTRATION“ sind Ausgangspunkt für die Entwicklung.
Momentan umfasst die Library zwei Funktionen, die sowohl mit CommonLisp, als auch mit schon bestehenden Funktionen aus dem OM-Package geschrieben sind.
Zudem ist die Komposition im Umfang der zu kontollierenden Parametern, momentan auf die Harmonik und die Stimmführung begrenzt.
Für die Zukunft möchte ich ebenfalls eine Funktion schreiben, welche mit den Parametern Metrik und Einsatzabstände, die Komposition auch auf zeitlicher Ebene erlaubt.
Entwicklung: Lorenz Lehmann
Betreuung und Beratung: Prof. Dr. Marlon Schumacher
Mein herzlicher Dank für die freundliche Unterstützung gilt Joseph Branciforte und
Prof. Dr. Marlon Schumacher.
1. #HARMON-PROGRESS#
Die Funktion HARMON-PROGRESS ist eine Funktion, die aus einer Liste von Akkorden (database) per Zufall auf einen gewählten Anfangsakkord hin (first-chord) einen nächsten Akkord auswählt. Diese beiden Akkorde werden als neue Liste angezeigt. Im nächsten Schritt tritt der zufällig gewählte, zweite Akkord an die Stelle des ersten Akkordes, und der frei gewordene, zweite Platz, wird mit einem wieder zufällig aus der database ausgewähltem zweiten Akkord besetzt.
So hat der/die Interpret/in immer schon den nächsten Akkord im Blick während noch der vorherige angezeigt und gespielt wird.
Die Ergebnisse für die ersten zwei Evaluierungen aus dem vereinfachten Beispiel mit Buchstaben machen das Funktionsprinzip deutlich:
=> (A J)
=> (J P)
=> …etc.
Anstelle von Buchstaben werden Akkordlisten verwendet. Eine Akkordliste hat zwei Dimensionen: In der ersten Dimension stehen die Werte, die sich aus den Elementen der Liste ableiten, und als Argumente, für Prozesse eingesetzt werden können. In der zweiten Dimension stehen die Positionen der Elemente in der Liste. Die Zählung beginnt immer bei null.
Beispiel: Werte (100 200 300 400)
Positionen (0 1 2 3 )
Diese Matrix wird so genutzt, dass die Positionen der Werte bestimmen, welchem Instrument sie zugeordnet werden.
Hier würde der Wert 100 dem Instrument „0“ zugeordnet, der Wert 200 dem Instrument „1“ usw. Dadurch wäre auch jede Permutation der Liste, als ein neuer Akkord mit einer neuen Klangqualität aufzufassen, da die Werte zwar gleichbleiben, sich jedoch die Instrumentation geändert hat.
Diese Idee ist grundlegend für die Library und den Mechanismus all ihrer Funktionen.
Über den Autor