Die digitale Musik-Elektronik bietet phantastische Möglichkeiten, insbesondere für die Steuerung von Synthesizern. Bei den digitalen Klängen fehlte mir häufig eine Art sinnlicher Faktor, weshalb ich meistens analoge Module für die Klangerzeugung vorziehe. Das Spielgefühl bei digitaler oder analoger Klangerzeugung ist sehr verschieden. Analoge Klangerzeuger zeigen immer eine 'individuelle Charakteristik' und sind eine Mixtur aus Stärken und Schwächen - ganz ähnlich wie Menschen - und die Schwächen können dabei extrem charmant und durchaus ausschlaggebend sein! Sie machen den Charakter erst "vollkommen". Bei digitalen Klangerzeugern, auch bei digitalen Emulationen analoger Geräte, gibt es dagegen keine Schwächen, nur "Schwachstellen" - das sind Unvollkomenheiten im virtuellen Abbild. Trotzdem nutze ich natürlich jede Menge digitale Klangerzeugung - vielleicht eher etwas mehr im Hintergrund. Die digitalen Dinge programmiere ich größtenteils selber in MAX (Cycling74). Die analogen Klangerzeuger sind aber der eigentliche Grund für die Realisierung meines hybriden Instruments.

Der Clou ist die digitale Steuerung der Module, die, insbesondere bei Modular-Synthesizern, einige Möglichkeiten bringt, die bei einem solchen System vorher "Unmöglichkeiten" waren. Auf dieser Seite steht daher die Umwandlung von, im Computer erzeugten Control-Daten in Steuerspannungen (Control Voltage / CV) besonders im Blickpunkt. So können z.B. Hüllkurven, Sequencer, Random-Generatoren, LFO etc. im Computer erzeugt werden und über Software oder komplexe MPE (MIDI) Controller perfekt gesteuert und in die analogen Module übertragen werden. Mit dem Erscheinen der Expert Sleepers-Module (Audio-to-CV und CV-to-Audio) 2012, bekam mein Experiment, MAX/MSP und den Synthesizer zu verbinden, endlich freie Fahrt. Die Expert Sleepers Module waren der "Missing Link".

Für die Realisierung muss der Synthesizer natürlich Hardware-seitig erweitert werden. Unverzichtbar dafür sind Computer, Audio-Interface mit digitalen Ausgängen (AES, SPDIF oder ADAT) und besagte Expert-Sleepers Module, die es ausschliesslich im Eurorack-Format gibt. Ich bevorzuge das ES-40, welches mit 5 CV-Expansion-Modulen und über nur ein SPDIF Kabel verbunden, wahlweise ganze 40 CV- oder Gate-Ausgänge bietet. Ergänzend können über ein zweites SPDIF Kabel zwei CV-Ausgänge des Synthesizers zur Aufnahme von Steuerspannungen aus dem Modularsynthesizer an den Computer übertragen werden.

Das gewählte Modular Synthesizer Format (z.B. Eurorack, MOTM, MU oder Buchla) ist unerheblich, denn fast alle Formate haben 10V pp CV. Das "pp" bedeutet, dass der Umfang 10V ist - es kann also sowohl ±5V (also -5V bis 5V) als auch 0-10V sein. Auch verschiedene Steuerspannungen V/oct, Hz/V oder 1,2V/oct stellen kein Problem dar. Die benötigten Trigger- oder Pulse-Stärken können allerdings ein Hindernis darstellen. Alte ARP Synthesizer z.B. verlangen einen 15V Trigger, der mit den neueren Expert Sleepers Gate-Expandern ohne eigene Stromversorgung nicht mehr erzeugt werden kann. Die erste(n) Generation(en) der Expert Sleepers ESX-8GT, zu erkennen am zusätzlichen Strom-Ribbonkabel, haben aber zwei Jumper (für Ausgang 1-4 und 5-8), die umgeschaltet werden können und dann 11.54V erzeugen. Mein ARP Little Brother hat diese erhöhte Spannung, die zwar keine 15V erreicht, trotzdem als Triggersignal "akzeptiert". Noch etwas komplizierter wird es mit Buchla-Pulses (das sind die Buchla Trigger). Darauf gehe ich auf meiner Buchla Seite näher ein. Wie aber bereits an den Fotos zu erkennen ist, ist es auch kein Ding der Unmöglichkeit. Dies ist mein Buchla, der hauptsächlich mit Clones der 200 Series (aus den 70er Jahren) bestückt ist und den ich als hybride "Electric Music Box" betreibe.

Von der geringen Größe (18U) meines frisch verkleinerten Instrumentes sollte man sich nicht täuschen lassen. Bis auf zwei Ausnahmen (Source of Uncertainty Model 266 und Quad Voltage Processor 254v) sind nur "klingende" Module im Instrument. Es sind elf VCOs (5 Doppel-VCOs und ein Additiver VCO (Teilton-Generator), Ringmodulator, Frequenz-Shifter, Dual BP-Filter, Comb-Filter, Filterbank, Spectral-Processor, acht LowPass Gates und Barberpole Phase-Shifter. Keine Hüllkurvengeneratoren, Sequencer oder andere Step- oder Pulse-Generatoren (die sind in der 200 Series ganz besonders groß), kein Matrix Mixer oder System Interface. Diese Dinge mache ich in MAX und steuere sie über ein oder zwei iPads, in denen sie als Tab aufrufbar sind. Ausserdem sind Einstellungen auch als Preset aufrufbar. Zusammen mit dem Rise-Keyboard entspricht das der Größe eines 200 Series Buchla von 50U oder mehr!

Bei identischen Einstellungen ist nicht zu erkennen, ob z.B. das LPG durch ein Model 281 (Function Generator) oder von MAX gesteuert wird, oder ob ein Step-Sequencer oder MAX die Steps durchläuft. In MAX lassen sich aber wesentlich komplexere Hüllkurven programmieren, als die aus den Buchla Modulen. Auch können die Hüllkurven bei Bedarf beliebig lang sein - wenn's so sein soll, kann eine Hüllkurve eine Woche brauchen, bis sie durchgelaufen ist. MAX Step Sequencer könnten tausende Steps haben… Und nicht nur das: die für Buchla typische, "eigenwillige" (d.h. nicht ganz genaue) Stimmung muss ich nicht mehr zwangsläufig haben. Ich habe eine automatisierte, individuelle Kalibrierung für jeden einzelnen Oszillator eingebaut, so daß ich komplett "in Tune" spielen kann, oder ausgewählte Micro-Tunings auswählen kann. Auch bin ich nicht darauf angewiesen, einen Oszillator der Doppel-Oszillatoren als LFO zu nutzen. Ich kann beliebig viele LFO mit allen erdenklichen Wellenformen über MAX realisieren und alle vorhandenen Hardware-Oszillatoren als "klingende Oszillatoren" einsetzen.

Einen ersten Eindruck soll das folgende Video geben: oben ist die verwendete Hüllkurve (in MAX) zu sehen, rechts daneben sind fünf "Module", jeweils für einen Oszillator. Die großen weissen Nummern zeigen den MIDI-Kanal an, von dem die Steuerdaten empfangen werden. Ich spiele mit dem RISE-Keyboard nur über den MIDI-Kanal 1, steuere also nur zwei VCO, und zwar jeweils den ersten Oszillator der Doppeloszillatoren 158 und 258. Unten im Modul stehen die Namen der Oszillatoren (im ersten Modul "158A", für den ersten Oszillator des Model 158, im zweiten Modul "258r A" für den ersten Oszillator des 258r). Es könnten also in diesem Fall fünf Oszillatoren mit dieser Hüllkurve gespielt werden, wenn alle fünf auf MIDI-Kanal 1 gestellt wären. Unten befindet sich jeweils die individuelle Kalibrationskurve für den ausgewählten Oszillator. Die im Video zu sehende Hüllkurve steuert einen Kanal des "LoPass Gate Model 292" (anstelle des "Quad Function Generator Model 281" Moduls, das im Buchla Hardware Setup diese Funktion erfüllt).



Hier ist die Legende des MAX-"Moduls" für die Steuerung eines Oszillators vom Rise Keyboard (MPE):

Im oberen Bereich sind die beiden Menues zu sehen, in denen festgelegt wird, wie mit dem Anschlag des Keyboards, bzw. "Keybeds" (RISE) verfahren wird - links das Trigger-Verhalten und rechts die Note-Priority.

sample-imageIm mittleren Bereich sind die übertragenen Controller-Parameter zu sehen, die beim RISE, einem "MPE"-Controller, deutlich umfangreicher sind, als bei einem normalen MIDI-Keyboard. Ich nutze sie im analogen Kontext als Gate (an/aus), Pressure (Aftertouch), Anschlagsstärke (Velocity), Slide (vertikales "Rutschen" auf den Tasten, bzw. "Keywaves" des RISE) und OFF (Loslass-Geschwindigkeit). Pressure, Velocity, Slide und Off haben normale MIDI-Auflösung 0-127 (7 Bit). Bei "wichtigen" Parametern arbeite ich meistens mit einer feineren 10 Bit Auflösung.(0-1023). Die Zahl hinter Portamento definiert die Millisekunden (2 Sekunden = 2000 ms). Die maximale Länge ist nicht begrenzt. Auf der rechten Seite ist Coarse - es ist die Transposition in Halbtönen - und Fine-Tuning (± 1 Halbton). Dann kommt der MIDI-Empfangs-Kanal und der Pitchbend-Umfang (max. 48 Halbtöne). Das Pitchbend ist in 14 Bit ausgelegt, d.h. 16384 Stufen. Es sind zwei 7 Bit Stränge als "MSB/LSB" (most significant Bit [höchstwertig]/ least significant Bit [niedrigstwertig]) angelegt. So gibt es auf jedem der 128 Werte (7 Bit) des ersten Stranges 128 Stufen (7 Bit) des zweiten Stranges, also 128 x 128 = 16384 Stufen = 14 Bit.

Im unteren Bereich ist der Name des ausgewählten Oszillators und darunter die Indexnummer der zugehörigen Kalibrationskurve, die automatisch geladen wird. Zuletzt ist auch der aktuell ausgegebene Wert (-1. bis 1.) zu sehen.

Hüllkurven

Im nächsten Video sind drei (der vielen) Hüllkurven, die gelooped werden und die Tonformung und -höhe bestimmen. Die Hüllkurve rechts oben ist ab Minute 01.00 am leichtesten zu identifizieren, da sie sich auf den Tonhöhenverlauf auswirkt.


An dieser Stelle sollte nachvollziehbar werden, warum ich den "Quad Function Generator Model 281" (oder in einem anderen Format den "Envelope Generator") aus dem Instrument entfernt habe, denn die MAX-Hüllkurven sind nicht nur beliebig zu vervielfältigen, sondern auch ganz entscheidend komplexer. Im Video ist die Hüllkurve AADSR (2x Attack!) mit veränderbaren Levels anstelle der einfachen AD "Funktionskurve" des Model 281. Das 281 kann auch "eine Art" ADSR, wenn jeweils 2 Kanale zusammen geschaltet werden - dann aber nur noch 2 statt 4 Hüllkurven. Also: kein Vergleich!

Serge Hüllkurven

Serge-Synthesizer sind für ihre speziellen Hüllkurven-Generatoren bekannt, in denen die Kurven mischbar sind. Hier ist ein Beispiel mit einer "MAX Serge Hüllkurve". Ausserdem ist ein MAX Formant Filter zu hören. Es sind nur die beiden abgebildeten Buchla Module aktiv.


Vielleicht ist auch erkennbar, dass bereits die Kombination Oszillator und LoPass Gate DAS charakteristische Buchla Klangbild abgeben, also quasi die minimalistischte Form einer "Electric Music Box" darstellen. Es wird auch durch das, in MAX programmierte Formant Filter nicht zerstört.

Verlaufskurven

Sehr gut sind auch Verlaufskurven umzusetzen. Hier sind 4 Kurven zu sehen, die innerhalb eines gewünschten Zeitraums gleichzeitig vom Anfang zum Ende (oder umgekehrt) laufen. Anstelle des automatisierten Verlaufs, kann kann auch ein Slider zur Positionierung eingesetzt werden. Der untere graue Balken zeigt die aktuelle Position.

Zum Editieren wird die gewünschte Kurve in den Vordergrund geholt. Es besteht die Möglichkeit, horizontal und vertikal zu zoomen. Oben rechts sind 4 Menues, in denen die Parameter stehen (können).

Oben rechts sind 4 Menues, in denen die Parameter stehen (können).

LFO

LFOs kann man nie genug haben! Hier ist ein kleiner "Stress-Test" mit einem MAX LFO, der alles kann, was man von einem LFO erwarten könnte. Es sind wieder nur zwei Buchla Module zu hören: wieder der VCO Model 158 und der "Frequency Shifter Model 285" (als Ringmodulator).


Sequencing

Klassische Sequencer sind so gar nicht mein Ding, aber das Folgende ist sicher auch als eine Form des Sequencing zu betrachten. Ich organisiere "ge-clockte" rhythmische Gruppen, die über eine "Conductor Clock" ("Master") im Tempo angebunden werden und lauter in Relation stehende "Performer [oder Assistent-] Clocks" ("Slave") betreiben, die auf verschiedene Noten-Längen zugreifen.
[Master & Slave sind zwei derartig überkommene Begriffe, denen ich mich strikt verweigere.]


Dabei starte ich nicht eine Sequence, sondern löse "Performer Clocks" durch das Keyboard aus. Das ermöglicht es, zu spielen und degradiert mich nicht zum Starter/Stopper. Hier ist noch ein kurzes Beispiel:


Control

sample-image An dieser Stelle scheint es mir sinnvoll, kurz über die Controllerdaten zu schreiben. Der Schlüssel für die Spielbarkeit des hybriden modularen Synths sind die Controller. Hier ist der Panel für das RISE Keyboard zu sehen, den ich mir (als Tab) programmiert habe. Hier können alle Bereiche, voneinander getrennt, eingestellt- und alle ein- und ausgehenden Daten eingesehen werden. Die 5 Kurven sind für die Einstellung der "5 Dimensions" des Roli Rise und ich habe mir noch 5 Kurven für die Anpassung der Kurven auf meine Spielweise (Anschlagsstärken etc.) gesetzt. Einfach zu erkennen ist die Kurve unter "Press", die das Einsetzen der Pressure Kurve etwas nach hinten versetzt, also erst bei deutlicherem Druck anfängt, die obere Kurve auszulesen. So habe ich nicht andauernd und mit jedem liegenbleibenden Anschlag Pressure (Aftertouch-) Daten, sondern nur dann, wenn ich sie auch wirklich will. Natürlich kann ich verschiedene Kurven als Preset in MAX speichern. Ich bin begeistert vom RISE Keyboard. Für mich ideal zum Synth-Spielen, da ich am Modular Synth nicht wie ein Pianist spielen will.


Die hier erzeugten MIDI Daten werden kombiniert und in einem Stereo Audio Signal "untergebracht", welches als SPDIF (digital) an das Expert Sleepers ES 40 Modul geschickt wird und dort wieder getrennt und auf die 40 CV (oder Gate) Ausgänge ge-routed wird.

Hier ist das RISE gut zu sehen. Zu hören ist neben dem Buchla auch ein Kammfilter, welches ich in MAX programmiert habe. Auch hier empfinde ich die Integration der digitalen Klänge als perfekt.


Audio-Matrix

Hier ist eine Audio-Matrix zu sehen - zu hören nur in Stereo, im Beispiel werden aber 5 Eingänge auf 3 Ausgängen hin und her geschaltet. So eine Matrix ist schon ein heikleres Unterfangen, denn es muss sichergestellt sein, dass das Ausschalten des letzten Ausgangs vor dem Einschalten des nächsten geschieht, weil sonst evtl. Verstärker oder Boxen zerstört werden können. In der Geschwindigkeit ist es atemberaubend.


Calibration

Hier ein etwas verunglücktes Video über die automatische Kalibrierung und mein Calibration Modul - für alle 11 Buchla Oszillatoren in meinem Instrument.


iPad Controller


Auch interessant: Module nachbauen!

Zu Beginn, direkt nach der Markteinführung der Expert Sleepers Module, hatte ich existierende Module nachgebaut (in MAX programmiert). Schliesslich war ich erst knapp zwei Jahre mit Modular Synthesizern unterwegs - auch hier war mir vieles noch nicht so klar und es war eine grosse Umstellung nach 30 Jahren mit ARP - und ich hatte auch nicht soviel Geld, alles zu kaufen, was mich interessierte. Hier standen zwei Module Pate, die ich nie besessen habe: der "Rotating Clock Divider" von 4MS, den ich allerdings in MAX extrem "aufgebohrt" hatte. Es liessen sich nicht nur einfache Divisionen durchführen sondern beliebige Werte als Divisoren, z.B. als Fibonacci Reihen eintragen. Ausserdem konnten alle Parameter durch Controller in Echtzeit verändert werden und ich hatte noch einen Endlos-Shift Regler hinzugefügt. Die Funktionen des Original Moduls hatte ich aus dem Manual erfahren und mir verschiedene Videos damit angesehen.


sample-image
Beim "Richter Noisering", einem Zufallsgenerator, der um ein Shift-Register aufgebaut ist, hatte ich sogar ein Blockschaltbild gefunden - genau was ich brauchte, um es mit MAX nachzubauen! Wie die meisten Shift-Register (zumindest im Eurorack) ist es über einen 8 Bit Chip (256 Stufen) aufgebaut.Dazu noch Weisses Rauschen, zwei Comparatoren, Switches (Gates) und ein Inverter für das "old Bit" - und voila! Mehrere Besitzer von Noisering Modulen versicherten mir, dass sie keine Unterschiede zum Modul feststellen können.

Es war eine interessante Erfahrung, festzustellen, dass die MAX Module sich genau wie Hardware Module verhielten.


sample-image
Ein Shift-Register gibt den Wert der ersten Stelle weiter zur zweiten Stelle, zur dritten, etc., sobald sich der Eingangswert ändert. Das lässt sich in MAX z.B. so umsetzen.
Beispiel eines 5er Shift-Registers, sowohl als Gate Selector oder als Slider-Werte zu gebrauchen.

Hier habe ich den MAX-Code zum download hinterlegt.