ANZEIGE
ANZEIGE
ANZEIGE

Workshop: Replicant A – Synthesizerkonstruktion mit NI Reaktor, Teil 3

(ID: 1546)

Doch weiter im Takt. Nach dem Port-Gate-Voice Macro durchlaufen die Noten noch das Master Tune & Transpose, dort werden sie mit einem Transpose-Regler, der in Oktaven skaliert ist, und einem Tune-Regler, der um plus/minus einen Halbton verstimmen kann, zusammen mit Unisono-Detune addiert. Dazu kommt noch ein monophoner Vibrato-LFO mit Modwheelsteuerung, damit man nicht für ein simples Geeier einen vollwertigen Poly-LFO anfahren muss.
Die gegebenen Master Tune- und Tuning-Module verwenden wir wieder nicht, da Parameteränderungen von ihnen nicht bei gehaltener Note umgesetzt werden, sondern erst bei Neuanschlag. Ein absolutes Ausschlusskriterium, so kann man nicht arbeiten.

Das Master Tuning mit Modmixer

Das Master Tuning mit Modmixer

Aus dem transponierten Notenwert leiten wir zunächst die Note als Klangparameter-Modulator ab und addieren erst dann die Modulationen für die Gesamttonhöhe, um damit als Pitch (P) die Oszillatoren anzusteuern und als Key Follow z.B. das Filter. Der Grund für diese Trennung ist der, dass man manchmal das Filter nicht mit Pitchbend, LFO etc. mitmodulieren möchte, was bei aktiviertem Key Follow sonst unvermeidbar ist. Wählt man dafür Note, bleibt das Filter unbeeinflusst von Modulationen auf die Gesamttonhöhe. Alle Modulatoren lassen sich im Modmischer aber außerdem für das Key Follow separat abschalten.

ANZEIGE

Und ein kleines Special bauen wir abschließend noch ein. Key Follow ist ein manchmal eine etwas schwer dosierbare Modulationsquelle, da gespielte Tonhöhe und gewünschte Modulationsintensität nicht immer in Übereinstimmung zu bringen sind. Ein komplexes Key Scaling ist aufwändig, außerdem in der Praxis meistens gar nicht nötig. Wir machen das Key Follow also mit zwei Reglern begrenzbar auf einen bestimmten Notenbereich, expandieren es diesem Bereich wieder auf 0-1 und nennen es Limited Key Follow:

Key Follow und Limited KF

Key Follow und Limited KF

Nun fehlt nur noch Control Change. Die „Performance“-Controller wie Mod-Wheel, Breath und Foot-Control usw. kann man direkt per MIDI-Learn bestimmten Reglern zuweisen, aber dann kann man ihren Einflussbereich nicht begrenzen und ihre Polarität nicht ändern. Wir bauen also ein paar Regler mit Sends als amtliche Matrix-Modulationsquellen ein, die man per MIDI-Learn schnell und einfach den verfügbaren Hardware-Controllern zuordnen kann, ebensolche (fest zugeordnet) für Pitchbend und Aftertouch. Außerdem versehen wir alle mit einer zuschaltbaren Glättung mittels Smoother-Modul, um die Stufenbildung durch die Werterasterung zu verringern. Für schnelle bis mittelschnelle Reglerbetätigung ist 50 msec ein brauchbarer Wert.

Das hat auch den Vorteil, dass man nur mit Laptop bewaffnet alle üblichen Controller wenigstens per Maus zur Verfügung hat, die PC-Tastatur kann man ja als MIDI-Keyboard verwenden.
Tipp: Das Touchpad eines Laptops kann man mit dem Freeware-Programm „Touchpad2Midi“ auch für Controller-Erzeugung einsetzen, es wird mit Caps Lock aktiviert und das Pad kann als XY-Controller fungieren oder als vier vertikale oder horizontale Schieberegler. Sogar Pressure kann ausgewertet werden. Bei mir funktioniert Letzteres zwar nur begrenzt, aber das ergibt dann sogar einen 3D-Joystick.

Die Controller-Regler skalieren wir von 0-126. Dann wird der MIDI-Wert von 63 übergangen, aber wir erhalten eine saubere 0,5 als Mittenposition für den bipolaren Betrieb, die bei 0-127 nicht vorhanden ist – ein Problem der Umsetzung von hexadezimalen in dezimale Werte, das der Digitaltechnik anzulasten ist. Bei einem Wertebereich von 0-128 wäre MIDI-Wert 64 doppelt zugeordnet, das geht also nicht.

Die Properties eines Performance-Reglers

Die Properties eines Performance-Reglers

Bei Pitchbend, Velocity und Aftertouch bauen wir ein paar Regler zusätzlich ein, um die Charakteristik beeinflussen zu können. Wie bei mir dürfte auch bei vielen Anderen eine der praktischen Minitastaturen neben dem PC stehen. Deren Anschlagsverhalten lässt meist zu Wünschen übrig, Aftertouch ist sowieso bei vielen Tastaturen schwergängig, und Pitchbend reagiert manchmal sprunghaft am Beginn des Regelwegs. Um Letzteres gefühlvoller dosieren zu können, als es viele Hardware-Regler erlauben, multiplizieren wir den Wert einfach mehrfach und erhalten so eine exponentielle Kennlinie. Am Beginn des Regelweges steigt er zunächst nur sehr langsam an, erreicht dann aber bei Endstellung wieder die gewünschte 1. Mit einem Selector-Modul überblenden wir zwischen linearer und exponentieller Kennlinie. Die sieht dann bei maximaler Exponentialisierung so aus:

Kennlinie für exponentialisiertes Pitchbend

Kennlinie für exponentialisiertes Pitchbend

Bei Pitchbend- und Aftertouch-Regler ist die Zuordnung zu MIDI-Input ein wenig knifflig, das geht nur per IC-Send und -Receive. Dafür schließt man ein MIDI-In-Modul an ein IC-Send an und verbindet das in seinen Properties mit dem Pitchbend-Regler.

Damit sich unser virtueller Pitchbender auf dem Panel verhält wie ein realer, greifen wir noch tiefer in die Trickkiste und legen eine Mouse Area über den Bend-Regler, die ihn wie die MIDI-Pitchbenddaten per IC-Send fernsteuert. Wir schalten sie in den Incremental Mode, damit wir relative Daten erhalten.

ANZEIGE
Ein zurückspringender Pitchbender, gesteuert von einer Mouse Area

Ein zurückspringender Pitchbender, gesteuert von einer Mouse Area

Der Y-Ausgang wird mit dem BL (Button left) multipliziert und schaltet das Bending ab, sobald man den BL loslässt, der Regler springt nun in Nullstellung zurück. Mit dem NOT-Modul (Not Out) wird die Incremental Base der Mouse Area auf Null zurückgesetzt. Wenn man nun erneut mit der Maus auf die Mouse Area klickt, wird jedoch der letzte eingegebene und gehaltene Wert durchgeschaltet und erst, wenn man die Maus ein Stück schiebt, wird ein neuer erzeugt und weitergegeben. Um das zu verhindern, routen wir das NOT zusammen mit dem Y über einen Merger, der eine Null bei Mausschalterbetätigung an den Multiplikator sendet und so das Pitchbending zurücksetzt hält, bis ein neuer Wert von Y kommt. Das Step Filter verhindert, dass der A/E-Wandler Dauerfeuer mit Nullwerten abgibt und das MIDI-Pitchbend permanent zurücksetzt.

Ein schönes Beispiel, wie man mit Reaktor-Modulen tricksen kann. Es hat mich auch lediglich drei Stunden gekostet, das so hinzukriegen… und weil es so schön funktioniert, machen wir das Gleiche mit dem Aftertouch. Die Zeit für das Zurückspringen der Regler kann man in den Properties des (eingeschalteten) Smoothers einstellen, beim Pitchbend vom Panel aus mit dem einstellbaren Smoother.

Das Pitchbending hat man gerne für Up/Down-Bewegungen getrennt einstellbar, deshalb trennen wir positive und negative Werte und geben sie separat aus. Mit dem Separator-Modul funktioniert das aber nicht, da der positive Ausgang bei Unterschreiten der Nullgrenze den letzten positiven Wert ausgibt und keine Null. Eine Schaltung, die die Null auf beiden Ausgängen beinhaltet, sieht so aus:

Separator mit Null auf beiden Outputs

Separator mit Null auf beiden Outputs

Die Velocity statten wir mit einem einstellbaren Offset aus, dahinter wird multipliziert bis zu 200%, und dann durchläuft sie noch einen Exponentiator, der sie mit einer der beiden Kennlinien verformt (positiv = wurzel, negativ = quadrat):

Kennlinien für die Velocity-Exponentialisierung

Kennlinien für die Velocity-Exponentialisierung

Ein Hold- und ein Sustain-Schalter komplettieren die Performance Controller-Abteilung. Sie sind so eingerichtet, dass sie externe Betätigung anzeigen, können aber auch mausuell betätigt werden. Damit das richtig funktioniert, muss der Replicant A (self) als MIDI-In/Output in den Instrument Properties aktiv sein.

Dann kommen zu guter Letzt noch ein paar Anzeigen für Kanal, Stimmenauslastung, Controller Input etc. hinzu (grau hinterlegt = nur Anzeige), und unser MIDI-Interface ist endlich fertig.

Zu Teil 4 des Workshops

ANZEIGE
Forum
  1. Profilbild
    herw RED

    Hallo Holger,

    vielen Dank für deine sehr umfangreiche Reihe über Reaktor. Ich habe bisher nur quer lesen können und einen kurzen Blick in die Struktur geworfen; trotzdem kann man unschwer erkennen, dass viel Arbeit dahinter steckt. Ich werde noch intensiv nachlesen.
    Mir ist aufgefallen, dass du an genau den Stellen über REAKTOR Kritik äußerst, an denen es um Event-Verarbeitung geht.
    Dies ist kein Wunder, da du, so weit ich das überblicke, ausschließlich auf dem Primary-Level arbeitest.
    Hier ist die Reihenfolge der Events nun mal nicht (logisch) gleichzeitig, sondern „nur” sequentiell.
    Die Reihenfolge, mit der Events verarbeitet werden, ist hoch komplex und auf der primary-Ebene nur schwer und umständlich zu kontrollieren.
    Nicht alles, was logisch hintereinander ausgeführt erscheint, hat auch genau diese Reihenfolge.
    Zu unterscheiden sind GUI-events, die völlig unabhängig zu jeder Zeit geschehen, audio-basierte Events (meist getaktet mit 400Hz) und natürlich audio-getaktete events mit sample-Rate 44100Hz z.B.
    Wenn man absolute (und eher einfache) Kontrolle über die Reihenfolge von Events haben möchte, muss man meiner Ansicht nach auf die Core-Ebene übergehen.
    Nichtsdestotrotz ist dein Ensemble sehr interessant und gibt viel Freiraum für Experimente.

    Danke!

    herw

    • Profilbild
      h.gerdes AHU

      @herw Hi herw, Dank zurück für das Feedback. Jep, da steckt die Freizeit von drei Monaten drin…
      Für Core-Ebene braucht man solide DSP-Kenntnisse, oder halt viel Einarbeitungszeit. Als eigentlich-Musiker möchte ich da nicht Jahre mit verbringen, und ich denke, viele Andere auch nicht. Das ist eher die Domäne von Programmierern. Wenn man sich die Events mit dem „Event History“ genau anguckt, dann kann man auch auf dem Primary Level gezielt einzelne Daten filtern, verzögern usw. Aber alles kriegt man da nicht gebacken, das stimmt. Umso dankbarer bin ich für Macros wie das „Mono GP“, das hat ein Riesenproblem beseitigt. Und es zeigt, wie knifflig scheinbar einfache Prozesse sein können…
      Dann noch viel Spaß beim Lesen, im letzten Teil kommt die Wavetable- und Phase Distortion- Abteilung dran.

  2. Profilbild
    herw RED

    kleiner Nachtrag zu den Send-Reiceive-Verbindungen:
    dies wird leider ein schon seit Jahren vernachlässigt.
    Sie sind vom Konzept her völlig falsch implemetiert, insbesondere das Kopieren liefert keine Kopie, sondern ein Durcheinander in den receive-Listen.
    Schade, ein sehr mächtiges Werkzeug wird hier stiefmütterlich behandelt.
    So hilft es nur, wie du beschreibst, selbst Hand anzulegen, oder höchste Disziplin beim Kopieren, Einfügen und Nichtlöschen einmal eingesetzter Send-Module.

    herw

    • Profilbild
      h.gerdes AHU

      @herw Immerhin sind die Send/Receive jetzt einigermaßen editierbar, das war in der letzten Version ja eine Katastrophe. Und wenn man das Häkchen entfernt bei „automatic use of new sends“, dann klappt auch das Kopieren. Bleibt zu hoffen, dass NI das noch verbessert und weiterentwickelt, so dass man auch Events zusammen mit Audio damit routen kann, ohne den Overload zu verursachen.

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. Politische Inhalte und Statements werden durch die Redaktion gelöscht.

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.

ANZEIGE
ANZEIGE
ANZEIGE
ANZEIGE
X
ANZEIGE X