Report: Algorithmisches Sequencing / Generative Musik

7. September 2019

Algorithmisches Sequencing


Generative Musik – eine Einleitung

… auch algorithmisches Sequencing oder algorithmische Komposition genannt ist ganz klar eine Domäne von modularen Systemen. Dabei ist der Begriff Generative Musik von Brian Eno, als Anlehnung an den Begriff Generative Kunst (der u.a. auf den Schweizer Maler und Bildhauer Jean Tinguely zurückgeht), geprägt worden. Er bezeichnet damit ganz allgemein systemgesteuert erzeugte Musik. Danach ist bereits ein vom Sequencer erzeugtes Stück/Pattern nach dieser Definition Generative Musik. Besser trifft es die Definition der Schritte zur Erzeugung von algorithmischen Kompositionen:

  1. Die Entwicklung des Programms (hier das Erstellen eines Patches)
  2. a) Die Wahl der Parameter dieses Programms (hier die Einstellungen an den Modulen)
    b) Die Wahl der Starteingabe (z.B. Wahl eines Sequencer Patterns)
  3. Die Umsetzung der von dem Programm erzeugten Daten in akustische Ereignisse (das Abspielen)

Eine gute Einführung bietet Kapitel 10 des ausführlichen E-Books über Synthese auf dem Nord Modular von Prof. James Clark. Ein weiterer Spezialist für den Nord Modular und alles algorithmische ist Roland Emile Kuit, der ebenfalls mehrere E-Books zum Thema veröffentlicht hat.

Da das Thema eben auch die Erstellung Algorithmen enthält, kann man es beliebig komplex werden lassen. Und tatsächlich ist die Algorithmische Komposition ein eigenes Wissenschaftsfeld.

Ich möchte mich aber langsam herantasten und zeigen, dass man mit wenigen Modulen bereits Automaten bauen kann, die z.B. interessante rhythmische Strukturen erzeugen. Und hier gleich mal vor ab: Die Generative Musik ist ein Feld für sich und hat mitunter mit Musik nur gemein, dass das Ergebnis eben auch Schallwellen erzeugt. Über Sinn oder Unsinn werde ich mich daher nicht auslassen – das Feld ist für sich einfach spannend und bietet eben auch eine Menge Erkenntnisse und Inspiration. Ganz konkret kann man solche Patches gut für Ambient oder Filmmusik nutzen, wo es u.a. darauf ankommt sich ständig ändernde Klanggebilde zu erzeugen. Die hier gezeigten Techniken kann man natürlich auch für andere Zwecke einsetzen.

Das hatten wir doch schon?

Und genau das ist bereits in dieser Ausgabe geschehen. Beim Kapitel Die Aufgabe des VCAs ist bereits eine Fernsteuerung beschrieben. Diese wird allerdings manuell über das Aftertouch gesteuert. Genauso könnte man nun einen LFO den Parameter fernsteuern lassen – und schon hat man einen Baustein für Generative Musik.

Die Beispiele möchte jeweils in einem VCV-Rack-Patch demonstrieren, so kann sie jeder Interessierte selber nachbauen und damit experimentieren. Auch die Demo-Version des Nord Modular G2 Editors (V.1.69) ist dazu gut geeignet und läuft ebenfalls auf aktuellen Mac- und Win-Systemen.

Dieses Patch aktiviert das Vibrato in der Frequenz des Steuer-LFOs

Der Patch steuert über einen LFO die Intensität des Vibratos, das von einem anderen LFO erzeugt wird, genau wie im Patch für den Waldorf-Modular-Synth. Dabei habe ich nur Module des Fundamental-Packs genutzt, die sofort bei der Installation von VCV-Rack 0.51 mit dabei sind. Im vorliegenden Beispiel habe ich den Sequencer, der für die Trigger sorgt, zunächst von einer externen MIDI-Clock steuern lassen, der Einfachheit halber dann aber einfach den Sequencer für sich laufen lassen.

Und noch einer

Und da das ganze wenig spektakulär ist, habe ich mit der gleichen Methode den Rhythmus aufgebrochen. Dazu dient ein LFO, dessen Rechteckausgang an einen weiteren VCA CV-In geht. Durch den VCA werden die Trigger des Sequencers geleitet, die ab jetzt nur noch durch den VCA kommen, wenn gleichzeitig die Rechteckwelle des LFOs auf Hi steht, also in die positive Richtung ausschlägt.

Die gleiche Verfahrensweise – ein anderes Ergebnis. Hier wird die VCA-Steuerung zur Deaktivierung bestimmter Gates genutzt.

Um zu zeigen, dass man so bereits variierende Pattern erzeugt werden, habe ich schließlich einen zweiten Oszillator genommen und ihn ebenso angesteuert. Das Ergebnis ist eine sich ständig ändernde Sequenz. Natürlich kann man von hier aus noch mehr solcher Einheiten erzeugen und noch mehr Komplexität erzeugen…

Da dem VCV-Rack die Module nicht ausgehen, gleich noch eine Funktionsgruppe, die einen anderen Rhythmus erzeugt

… und damit möchte ich auch die aktuelle Folge beenden und verabschiede mich mit einem aufrichtigem Pitche, Switche, Patche!

Generative Musik – Das Shift-Register

Ein grundlegender Baustein der generativen Musik ist das Shift-Register. Es kam bereits im ersten algorithmischen Sequencer Triadex Muse zum Einsatz und findet sein kontemporäres Pendant im Future Retro Zillion. Shift-Register fürs Eurorack gibt es z. B. in Form des Synthesis Technology – E102 Quad Temporal Shifter oder des Intellijel Designs – Shifty.

Was macht eigentlich ein Shift-Register? Im Eurorack-Kontext handelt es sich dabei um Module, die mehrere CV/Gate-Ausgänge besitzen. Dazu gesellen sich noch einen CV/Gate-Eingang und ein Eingang für ein Clock-Signal. Liegt eine CV-Spannung am Eingang an und wird der Clock-Eingang getriggert, so erscheint die entsprechende CV-Spannung am ersten Ausgang. Bei einem weiteren Clock-Impuls rutscht die Spannung auf den zweiten Ausgang und am ersten Ausgang liegt nun die Spannung an, die gerade aktuell am CV-Eingang anliegt usw. und so fort. Man kann es sich also vorstellen wie eine Eimerkette.

Wie nutzt man nun das Shift-Register?

Bis jetzt ist daran ja noch nichts Generatives. Der generative Ansatz erfolgt mit sogenannten Paritiy-Generators. Dazu legt man die Ausgänge des Shift-Registers an Logikbausteine. Der klassische Parity-Generator besteht dabei aus XOR-Gattern, also dem binären Exklusiv-Oder.

Modmatrix Priority

Dieser Parity-Generator kann für unsere Zwecke aber auch aus einer beliebigen Kombination anderer Logikgatter aufgebaut werden – was natürlich immer auch zu anderen Ergebnissen am Ausgang führt.

Parity-Generator in XOR-Ausführung

Parity-Generator in klassischer XOR-Ausführung, wir dürfen auch andere zusammenbauen

Der Einfachheit halber wollen wir hier das Shift-Register als generatives Gate aufbauen. Das hießt am Eingang des Registers liegt also entweder Gate-Spannung an oder nicht. Zum Aufbau nehmen wir ein Register mit acht Ausgängen, an denen wir zwei 4-Bit-Parity-Generatoren anschließen. Diese sollen dann eine closed und eine open HiHat triggern. Der Aufbau sieht dann so aus.

Dieser Block ist der Parity-Generator

Dieser Block ist der Parity-Generator, dessen Ausgang an den HH-Trigger geht

Durch diesen Aufbau gibt es vier verschiedene Variationen, wenn man das Shift-Register an einen Sequencer hängt. Das heißt, durch das Verändern von vier Reglern hat man vier verschiedene Variationen zur Auswahl, die fließend ineinander übergehen. Andere Pattern kann man erreichen, indem man den Parity-Generator verändert und andere Logikverknüpfungen wählt.

Die vier Variationen der Regler führen zu den folgenden Pattern

Die vier Variationen der Regler führen zu den folgenden Pattern

Das ist erst der Anfang

Ausgehend von diesem Grundbaustein kann man schon viel experimentieren und erweitern. Wenn man den Gate-Sequencer dynamisch verändert, kann man z. B. die einzelnen Variationen miteinander verknüpfen. Dabei muss das kein Sequencer sein. Man kann das Shift-Register ja auch mit zwei freilaufenden LFOs füttern.

Das komplette Shift-Register/Parity-Generator Patch

Das komplette Shift-Register/Parity-Generator Patch

Mit einem 3-In-1-Out Schalter ist es möglich, die Logikverknüpfungen on-the-fly zu verändern, was wiederum andere rhythmische Variationen ermöglicht, die in einer Performance ganz einfach eingeflogen werden können. Oder ein weiterer Sequencer steuert die Auswahl der Logikverknüpfungen.

Binär betrachtet

Eine andere Herangehensweise wäre die Betrachtung als digitaler Zähler. Im vorliegenden Fall haben wir so gesehen 2 Bits als Ausgabe und können so also vier Zahlen (0-3) darstellen. Es könnte also z. B. unter vier verschiedenen Drum Sounds ausgewählt werden, von denen einer dann gespielt wird. Erweitert man das Patch um einen weiteren Parity-Generator (indem man z. B. noch ein XOR an die letzten beiden hängt), könnte man schon 8 Werte darstellen (3 Bits). Diese könnten hergenommen werden, um einen Ton einer Tonleiter auszuwählen und Melodien zu erzeugen.

Hier wird gezählt. Aus den beiden Ausgängen wird eine Zahl erzeugt, die dann einen der vier Drum-Sounds auswähl

Angezählt – aus den beiden Ausgängen wird eine Zahl erzeugt, die dann einen der vier Drum-Sounds auswählt

 

Bis hierhin sind noch keine Rückkopplungen ins Spiel gekommen. Das würde bedeuten, man lässt den Ausgang des Parity-Generators wieder in das Shift-Register zurückkoppeln. Erst ab hier würde man dann auch von „generativ“ im engeren Sinne reden.

Ein Shift-Register bietet viele Möglichkeiten, gerade im rhythmischen Bereich. Aber auch die Erzeugung von Melodien und Drum-Parts ist möglich. Das Patch soll dabei einen Anfangspunkt für eigene Experimente bilden. Demnächst wird es dann auch um Rückkopplungen gehen, aus denen dann ganze sog. „modular noodles“ entstehen können. Das sind Sequenzen, die sich selber ständig verändern und selbständig Parameter verändern.

Bis dahin

pitche, switche, patche.

Forum
  1. Profilbild
    Henrik Fisch

    Vielen Dank für den schönen Artikel … und das auch noch am Samstag-Morgen! Also den Teepot frisch befüllt (bin kein Kaffeetrinker), im Arbeitsstuhl gemütlich gemacht und lesen. Hach, schön … :-)

    Ich selber nutze zwar keine modularen Synthesizer (bzw. noch nicht), sondern stürze mich im Moment auf die freie Alternative von »Max/MSP«, nämlich »Pd – Pure Data«. Da ich im richtigen Leben Software-Entwickler bin, ist das die für mich – ich sage mal – natürlichere Variante um generative Musik zu erzeugen. Und in genau die Richtung möchte ich musikalisch auch gehen (großer Fan zum Beispiel von »Monolake« und »Vladislav Delay«).

    Die hier im Artikel präsentierten Ideen für »generative Musik« kann man natürlich allesamt auf Pd übertragen.

  2. Profilbild
    MidiDino  AHU

    Ich finde es schade, Musik sprachlich vom Equipment abhängig zu machen, als ginge es in der Musik nicht um musikalische Strukturen. Eine gleichsam alltägliche Steuerung durch Midi hat doch längst gezeigt, dass sich sich das Equipment nicht eingrenzen lässt, im Grunde musikalisch keine Rolle spielt, ob analog oder digital. Die zentrale Frage wäre hingegen, wie mögliche musikalische Strukturen gestaltet sein können, in diesem Zusammenhang müsste man sich allerdings mit Musik beschäftigen, nicht mit einem Equipment. Beschäftigt euch mit historisch mit Messiaen. mit Stockhausen, mit Cage, mit Ligeti … aber nicht mit einer instrumentellen Variante innerhalb der Popmusik.

  3. Profilbild
    FlippDurch

    Vielen Dank für den Artikel.
    Mir fällt es schwer am Modular solche Wege zu gehen und ich lande oft wieder bei ähnlichen Sachen. So etwas zu lesen und in andere Richtungen zu experimentieren ist toll.

Kommentar erstellen

Die AMAZONA.de-Kommentarfunktion ist Ihr Forum um sich persönlich zu den Inhalten der Artikel auszutauschen. Sich daraus ergebende Diskussionen sollten höflich und sachlich geführt werden. Haben Sie eigene Erfahrungen mit einem Produkt gemacht, stellen Sie diese bitte über die Funktion Leser-Story erstellen ein. Für persönliche Nachrichten verwenden Sie bitte die Nachrichtenfunktion im Profil.