FM-Synthese (4)

von | Mrz 29, 2022 | ReaktorAdvanced

Das Große Finale 1: Wie wäre das, wenn wir die Optionen des Carriers und des Modulators einfach ein Objekt vereinen, dieses (in Anlehnung an den legendären DX7) „Operator“ nennen und dann dafür sorgen, dass sich alle vorhandenen Operatoren gegenseitig modulieren können? Das wird jetzt ein wenig komplexer …

[01]

Um was wird es gehen?

Da am Ende jeder Teil-Lektion ein fertig spielbarer FM-Synthesizer stehen wird, wird es auch nach jeder Teil-Lektion einen Downloadbereich geben (das war bisher immer erst am Ende aller Teile der Fall).

Auch hier gilt: Die verwendeten Design-Elemente stammen von UI MOTHER (hier speziell das soft malachite kit). Wenn ihr schöne GUI-Elemente sucht und nicht die Kapazitäten für die wirklich zeitraubenden Designs habt, dann seid ihr bei UI MOTHER gut aufgehoben. Die Preise sind fair und der Service freundlich und schnell.

  • Ausgangspunkt der Überlgung ist folgender: Bei den bisherigen Modellen hatten wir immer eine Kombination aus Träger und Modulator. Würde man die Anzahl der Klangerzeuger erweitern wollen, hätte man folglicherweise weitere Kombinationen aus Trägern und Modulatoren.
  • Träger und Modulator sind aber bis auf einen einzigen Punkt identisch: Die Frequenz des Modulators kann explizit eingestellt werden, die des Trägers wird vom Modulator bestimmt.
  • Was wäre, wenn man aus den zwei Elementen eines macht (nennen wir es der Einfachheit halber „Operator“), das beide Fähigkeiten erbt: Die explizite Reglung der Frequenz und die Modulation durch einen (oder viele) weitere(n) Operator(en)?

Wer nun (nicht zuletzt durch den Begriff) „Operator“ an den legendären Yamaha DX7 oder oder den FM8 von Native Instruments denkt, ist auf der richtigen Spur! Unser FM-C wird dem DX7 voraus haben, dass es keine festgelegte Anzahl an Verschaltungen gibt. Mit der Komplexität und Leistungsfähigkeit des FM8 werden wir andererseits nicht mithalten können – aber der spielt softwaretechnisch auch in einer ganz anderen Liga…

Dem dritten Bild im untenstehenden Slider könnt ihr entnehmen, wie das ganze funktionieren soll:

  • Die Nummerierten Blöcke (z. B. 1 [grün]) stellen jeweils einen Operator dar. Zusätzlich zur Hüllkurve, bekommt jeder Operator noch einen schicken Filter zu seite gestellt.
  • Jeder Operator hat nun soviele Modulationseingänge wie es weitere Operatoren gibt, einen Modulationseingang für sich selbst (Feedback) und zu guter letzt einen für die Frequenz (damit hatte ja alles begonnen).
  • Schließlich kann jeder Operator durch jeden anderen Operator, durch sich selbst und durch eine Frequenz moduliert werden.
  • Jeder dieser Modulationseingänge wird durch einen LFO mit Hüllkurve beeinflusst.

Nicht im Bild: die Ausgänge der Operatoren durchlaufen eine Lautstärke- und Panormaregelung und danach verschiedene Effekte, deren Funktionsweise ich in späteren Tutorials erklären werde

Das gezeigte Beispiel ist auf 3 Operatoren limitiert. der FM-C soll derer 8 Stück bekommen!

Aus Platzgründen sind die folgenden vorher/nachher-Bilder als Slider ausgeführt. Wenn ihr mit der Maus auf den Slider fahrt, bleibt die Animation stehen und ihr könnt die einzelnen Bilder wie gewohnt vergrößern.

Abb. 1: Evolution FM-A > FM-B > FM-C

This is
important!

Bevor …

… wir loslegen, muss ich noch etwas zum Umfang dieses Tutorials loswerden. Der FM-C ist ein sehr komplexes Instrument geworden, weil er – ausser den Oszillatoren – auch jede Menge Beiwerk enthält, das einer komfortablen Bedienung und einem vielfältig bearbeitbaren Ergebnis geschuldet ist. Wir befinden uns hier ja in der Abteilung „Advanced“, da kann so etwas schon mal passieren. Vieles erklärt sich aber auch, wenn den Download auseinander nehmt und die Signalwege im Detail verfolgt.

Damit der Einstieg in die Operator-Variante nicht zu verwirrend wird, werden wir einen Zwischenschritt einlegen. Dazu habe ich für euch den Kern der Idee in Form von nur drei Oszillatorn, ohne jeden Schnickschnack aufgebaut. Das solltet ihr euch vor Augen halten, wenn später aus einem simplen Drehknopf plötzlich mehrere ineinander verschachtelte Macros mit allerlei Ein-, Ausgängen, Lämpchen und Zeichen werden. Dahinter steckt dann immer nur dieses simple Beispiels. Diesen einfachen Mini-FM-Synth gibt es am Ende dieses Tutorials zum Download.

Das hier, ist unser „Minimal-Operator“. Ein Sinus-FM-Oszillator, eine Hüllkurve und ein Low-Pass-Filter. Der NotePitch-Eingang ist um 4 Oktaven transponierbar.
Das, was ihn von den bisherigen Kollegen „Carrier“ und Modulator“ unterschiedet, ist der F-Eingang, der hier aus 4 Quellen gespeist wird, die in einem Add-Modul zusammenlaufen:

  • An erster Stelle liegt der Ausgang des Operators (Filter-Out) an. Diesen habe ich farblich markiert, weil die Verbindung sonst schlecht zu erkennen ist.
  • Darunter liegt der Eingang des Frequenz-Reglers (kennt ihr aus dem FM-A) an.
  • Und schließelich die Eingänge für die anderen Operatoren. Je mehr Operatoren im Spiel sind, desto mehr Eingänge sind an dieser Stelle nötig.

Um mehr wird es im Kern nie gehen! Behaltet das bitte im Hinterkopf. Der FM-C wird lediglich pro Operator mehrere Oszillatoren, eine Leistungsfähigere Hüllkurve, einen genialen Filter und eine sehr komfortabel zu bedienende Modulations-Matrix (der F-Eingang des Operators) besitzen.

Abb. 2: Des Pudels Kern

Und hier die drei Operatoren im verschalteten Zustand. Den Ausgang von Operator 2 habe ich farblich hervorgehoben, damit ihr sehen könnt, an welchen Stellen er an den Modulationseingängen von Operator 1 und Operator 3 andockt. eigentlich ist es ganz einfach 😉

Abb. 2: Des Pudels Kerne

[02]

Wir fusionieren

Aus „Modulator“ und „Carrier“ wird „Operator“.Einiges wird euch bekannt vorkommen:

  • Es gibt weiterhin ein Oszillator-Macro [1]
  • ebenso ein Macro für die Hüllkurve [2]
  • und für die Manipulation der NotePitch (oktavieren, transponieren, tunen, Pitchbend…) [3].
  • Das Mirror-Modul ist nun in dem Macro „FOLD“ untergebracht [4], …
  • der Saturator ebenfalls in einem Macro gleichen Namens [5].
  • Auch das Scope-Modul für die Anzeige der Wellenform ist noch da [6].

Auf diese Module werde ich hier nicht näher eingehen, da ihr sie ja schon vom FM-B kennt.

Ein paar Anbauten sind neu:

  • Die größte und komplexeste Neuerung ist das MOD-Macro, in dem alle Modulationsquellen zusammenlaufen [A]. Es ersetzt das bisherige FREQ-Macro des Modulators, den IN des F-Einganges am OSC-Macro des Carriers – und noch so einiges mehr.
  • Ebenfalls neu ist, dass die ursprünglich für alle Operatoren gemeinsam geplante Glide-Schaltung [B] nun für jeden Operator zur Verfügung steht. Da aus klangtechnischen Gründen ein sauberer Glide-Effekt nur monophon machbar ist, bietet die Unterbringung im Operator den Vorteil, dass nur der betreffende Operator monophon wird, alle anderen aber weiterhin polyphon gespielt werden können.
  • Das RANGE-Macro [C] ermöglicht das Begrenzen des Operators auf einen bestimmten Bereich der Tastatur. Damit lassen sich Split-Sounds mit sovielen Bereichen erstellen, wie Operatoren zur Verfügung stehen.
  • Das LATENCY-Macro [D] erlaubt einen verzögerten Start der Tonausgabe in Millisekunden oder Notenwerten (in Abhängigkeit der BPM des Hostsystems).
  • Und schließlich erhält jeder Operator einen eigenen Filter [E], der Low-, Band-, High-Pass und Notchfilter mit unterschiedlichen Flankensteilheiten beherrscht und modulierbar ist.

 

Jeder Operator verfügt über zwei Ausgänge: Der eine läuft über einen Selector, mit dessen Hilfe das Signal stummgeschaltet werden kann zur weitern Audiobearbeitung, Gleichzeitigt liegt das Signal aber auch an einem Out Namens „MOD“ (rechts unten) an, damit der Operator auch im stummgeschalteten Modus weiterhin als Modulator für andere Operatoren genutzt werden kann!

Abb. 2: Fusion

Alle markierten Ausgänge dieses Operator-Macros dienen nur dem Interface und sind für die Tonerzeugung völlig irrelevant. Wenn ihr also nicht den selben Aufwand treiben wollt wie ich, könnt ihr auf diese Module verzichten. (Diesen Hinweis werdet ihr nun öfter lesen).

Abb. 3: Überflüssiges

[03]

MOD-Macro

Das vermutlich am komplizierstesten aussehende Macro. Trotzdem beherbergt es lediglich die Elemente des F-Eingangs, die wir in vereinfachter Form in [02] besprochen haben. Deshalb vorab: alle abgedunkelten Elemente könnt ihr erst einmal ignorieren. Sie dienen lediglich der Darstellung im Interface.
Für uns interessant sind also nur die 9 Macros in der Mitte („MOD F“ und „MOD S1“ – „MOD 08“):

  • MOD F enthält die aus dem FM-B bekannte Steuerung für die Frequenz
  • MOD S1 – MOD 08 enthalten die Eingänge der anderen Operatoren. Das „S“ markiert den Operator, der sich selbst moduliert (in dem Fall Operator 1).
  • FM-C stellt für jeden Modulator-Eingang einen LFO mit Hüllkurve bereit. Aus Platzgründen befinden sich diese in einem Stacked Macro. Den Aufbau dieser LFOs kennt ihr ebenfalls aus dem FM-B. Neu hinzugekommen sind lediglich zwei Wellenformen und die Möglichkeit einer Startverzögerung.

 

Wer aufgepasst hat, fragt sich jetzt evtl. warum in dem vereinfachten Beispiel die Eingangssignale multipliziert wurden, hier aber nicht. Die Operatoren im FM-C liefern ein weitaus potenteres Signal als ihre Kollegen in dem vereinfachten Beispiel (mehr Wellenformen, Mirror, Saturator, komplexerer Filter, ect.). Deshalb reicht es hier, das Signal über ein Mixer-Modul zusammen zu führen.

Abb. 3: MOD-Macro

Und um das Geheimnis der vielen „Interface-Objekte“ zu lüften:

  • Die mit (1) markierten Ausgänge münden zwei Ebenen höher in ein Macro, das den Betriebszustand aller Operatoren darstellt. So kann man z. B., während man mit Operator 1 zugange ist, den Status der Operatoren 2 – 8 einsehen, ohne diese extra einblenden zu müssen. Ein Hauch von Luxus!
  • Das mit (2) markierte Macro zeigt mit leuchtenden Linien an, welcher Modulator-Eingang auf den Operator einwirkt.
  • Das mit (3) markierte Macro zeigt die Aktivität der jeweiligen LFOs an.

Abb. 4: MOD-Interface

[04]

GLIDE-Macro

Das Glide-Macro basiert weitestgehend auf dem Beispiel aus meiner Reaktor-Library. In jenem Librar-Tutorial kam das Problem zur Sprache, dass Reaktor die vorhandenen Stimmen dynamisch zuordnet. Wie muss man sich das vorstellen?
Angenommen, unser Klangerzeuger ist 4-stimmig und ihr wechselt bei aktivertem Glide-Macro von einem 4-stimmigen Akkord zu einem anderen; optimaler weise würdet ihr erwarten, dass Reaktor z. B. die NotePitch der obersten Note des ersten Akkordes zur NotePitch er obersten Note des zweiten Akkordes „gliden“ lässt. Das kann passieren – muss aber nicht. Und genau das ist das Problem. Im Library-Tutorial haben wir derartige Abweichungen eingegrenzt, in dem wir die „Voice Allocation“ auf „Nearest“ gesetzt haben. Eine Garantie ist das aber letztendlich auch nicht. Aus diesem Grund habe ich mich hier entschieden, die Operatoren im „Glide-Modus“ monophon zu schalten. Da das (wie bereits erwähnt) pro Operator geschieht, habt ihr trotzdem die Möglichkeit, die anderen Operatoren weiterhin polyphon zu spielen.
Und da das RANGE-Macro (aus mir noch unbekannten Gründen – vielleicht habt ihr je eine Idee) im Glide-Mode die Tönhöhen auszuwürfeln scheint, muss dieses bei aktiviertem Glide aus dem Signalweg genommen werden. Das ist der Grund dafür, dass GLIDE und RANGE an einem Selector hängen und der „GLIDE“-Button darüber entscheidet, ob die NotePitch direkt aus dem GLIDE-Macro oder aus dem RANGE-Macro kommen darf.

Abb. 5: Glide-Macro

[05]

Die Drei aus der Reaktor-Library

Die drei folgenden Module findet ihr in den Macros „ENV“, „FILTER“ und „RANGE“. Alle drei stammen aus der Reaktor-eigenen Library und wurden dem Design des FM-C angepasst. Pardon: Frequenz und Resonanz des Filters haben noch einen LFO erhalten.
Die Keyboard-Grafik des Note-Rangemoduls habe ich aus zwei Gründen enfernt: Zum einen war nicht genug Platz vorhanden, zum anderen scheitert die nette Animation am monophonen Modus des Glides-Moduls.
Ich hatte es bereits erwähnt: Wenn ihr den Aufwand mit dem Userinterface nicht treiben wollt, könnt ihr diese drei Module auch direkt 1:1 übernehmen.

Abb. 6: Die drei aus der Reaktor-Library

[06]

Latency

Dieses Modul sorgt dafür, dass jeder Operator um eine bestimmte Zeit verzögert werden kann. Das geschieht entweder in Millisekunden oder in Notenlängen. Letztere stehen im direkten Verhältnis zur BPM-Einstellung – entweder der des Reaktor, oder der der DAW, in der ihr den Reaktor laufen lasst.

Im Kern ist dieses Modul das Herzstück eines Delay-Effektes, der um die Feedback-Schleife erleichtert wurde. Diesen Delay-Effekt findet ihr in der EFX-Abteilung dieses Synthesizers und (so bald es die Zeit erlaubt) auch in einem Advanced-Tutorial. Die sehr rudimentäre Ausführung haben wir ja bereits im Basic-Synth kennengelernt…

Abb. 7: Latency

[07]

Downloads

g

Mini-FM-Synth

.ens-Datei, (Zip-File, 7kB)

Kontakt

Bernd Scheurer
Mainstraße 2
64390 Erzhausen
Fon: 06150 865902
Mobil: 0151 50411034
unterricht@bernd-scheurer.de

Freie Plätze Erzhausen

ab sofort

Freie Plätze Langen

Zur Zeit keine Plätze eingeplant. Da aber noch Kontingent zur Verfügung steht, bei Bedarf einfach [anfragen].

    Infos

    Auch interessant

    Newsticker

    amazona

    tastenwelt

    klassik heute

    jazz thing

    • Be happy
      Source: jazz thing Published on 2011-07-19 By Lili Lameng
    • Der Jazzmusiker ein Feinschmecker?
      Source: jazz thing Published on 2011-06-06 By Anke Helfrich
    • Glamourfaktor
      Source: jazz thing Published on 2011-04-21 By André Nendza
    • Style
      Source: jazz thing Published on 2011-04-09 By Lorenz Hargassner
    • Topsannah
      Source: jazz thing Published on 2011-03-14 By Lili Lameng

    musikexpress

    Google Maps

    Mit dem Laden der Karte akzeptieren Sie die Datenschutzerklärung von Google.
    Mehr erfahren

    Karte laden

    JMS Erzhausen

    Kuturhaus Langen

    AES Langen