EFX – Delay (2)

von | Aug. 27, 2022 | EFX, ReaktorAdvanced

Der erste Schritt ist getan: Unser Delay hört auf Millisekunden und die BPM-Vorgaben des Hostsystems. Ferner simuliert es den Charme alter Tape-Delays. Nun geht es weiter…

[01]

Um was wird es gehen?

Das Realisieren der Ping-Pong-Funktion wird der erste Schritt Schritt in diesem Tutorials werden. Dabei geht es nicht mal so sehr um Mathematik, sondern vielmehr um die Logik hinter dem Signal-/Event-Fluss. Das Delay-Signal muss hierbei immer abwechselnd auf dem linken und dem rechten Kanal hörbar sein.
Danach werden wir ein paar Funktionen nachrĂŒsten, mit denen unser Delay den Klang kreativ gestalten kann. Zuerst werden wir Hand an den Time-Regler legen. FĂŒr die folgenden Schritte brauchen wir Kontrolle ĂŒber den Signalpegel, werden also Ein- und Ausgangspegel steuerbar machen. Ein modulierbarer Peak-EQ und das gezielte Übersteuern des Feedbacks sorgen fĂŒr ungewöhnliche Klangbasteleien. Die Beherrschbarkeit von Letzterem wird wohl der aufwendigste Teil dieses Tutorials. Es wird ein Fest!

[02]

Steamroll tatics – oder wie man es nicht machen muß

Die erste Idee ist nicht immer die einfachste! Um nicht den Eindruck zu erwecken, die hier gezeigten Lösungen wĂŒrden in genau der Reihenfolge enstehen, wie ich sie euch hier zeige, möchte ich euch an dieser Stelle zeigen, welche Wege die Lösungsfindung bisweilen geht:

Wir erinnern uns: das Ausgangssignal des Delays sollte – im richtigen Timing – zwischen dem linken und rechten Lautsprecher wechseln. Das wĂ€re eine Aufgabe fĂŒr den Panoramaregler eines Mischpult Moduls (-1 = links, 1 = rechts). Dazu brĂ€uchte es ein periodisches, mit dem Delay gekoppeltes Eventsignal, das den Panorama-Eingang des Mixers triggert. Was wir haben, ist aber est mal nur eine fixe Delay-Time (in ms) und ein Audiosignal, das zwar im richtigen Timing anliegt, aber undifferenziert ist und mit der zeit ja auch immer kleiner wird.
Meine erste Überlegung ging deshalb dahin, einen Mixer mit einem linken und einem rechten Eingang zu versehen und an jeden dieser EingĂ€nge eine Delay-Schaltung (Single Delay, Multiplikator, Addierer) und beide von dem selben Reglern fĂŒr die Delay-Time und das Feedback zu steuern.
Die Idee bestand dann darin, die Delay-Time fĂŒr beide Delays zu verdoppeln und das eine Delay gegenĂŒber dem anderen um die Delay-Time zu verschieben. Bei eine Delay-Time von 500ms sĂ€he das wie folgt aus: Der eine Kanal meldet sich jeweils bei 1000, 2000, 3000, 4000, … Millisekunden, der andere Kanal bei jeweils 1500, 2500, 3500, 4500, … Millisekunden. Das Delay-Signal taucht nun alle 500ms auf und das wechselweise links und rechts.
Aber ihr habt es sicher schon bemerkt: Da die Delay-Time im Ping-Pong-Betrieb ja verdoppelt ist, erfolgt das erste Signal auch erst nach 1000ms, bis der andere Kanal korrekt einspringt. Also muss vor der regulĂ€ren Ping-Pong Delay-Kette, noch ein Delay mit der originalen Delay-Time geschaltet werden. Funktioniert zwar, ist aber nicht sonderlich elegant und nicht so schön zu erklĂ€ren. Die etwas wirre Verschaltung erspare ich euch an dieser Stelle …

Brain involved – die elegante Lösung

Eigentlich mangelt es nur an einem regelmĂ€ĂŸigen klaren Impuls, um den Pan-Eingang des Mixers zwischen links und rechts umzuschalten. Wir haben bislang aber nur ein „wackeliges“ Audiosignal und eine fixe Zeitangabe in ms (Delay-Time). Es wĂ€re doch ein gute Sache, wenn man aus einem dieser Signale einen zuverlĂ€ssigen Signalgeber fĂŒr das Panorama am Mixer ableiten könnte. Und das geht erstaunlich einfach:

Reaktor kennt einen Clock Oscillator, der bislang meiner Aufmerksamkeit entging. Dieser Oszillator erzeugt mit der am F-Eingang anliegenden Frequenz (in Hz) einen Puls zwischen „0“ und der am A-Eingang anliegenden Amplitude. Das ist die Lösung fĂŒr unser Problem! Um unsere Delay-Time in Hz umzurechnen, mĂŒssen wir nur deren Kehrwert mit 1000 multiplizieren: (1/ms)*100 = Hz. Jetzt haben wir ein stabiles periodisches Signal, passend zur Delay-Time. Diesen Wert teilen wir dann durch 2 (x0.5), damit sich das nachher korrekt auf die beiden KanĂ€le verteilt. Am Ausgang des Clock Oscillators liegt nun ein wechselnder Puls zwischen „0“ und „1“ an, der nur noch auf den Panorama-Eingang des Mixers („-1“ und „1“) zugeschnitten werden muss.. Das Regeln wir mit einem Selector, der je nach Clock Oszillator am Steuereingang (Pos) entweder die Konstante „-1“ oder „1“ durchlĂ€sst. Der zweite nachfolgende Selector schaltet den Ping-Pong Effekt wahlweise ein oder aus. ist der Effekt aus, liegt am Pan-Eingang des Mixers Die Konstante „0“ an und das Delay-Signal kommt gleich laut aus beiden Lautsprechern.

An dieser Stelle eine Bemerkung: Wie ihr sehen könnt, habe ich alle Elemente dieser Lösung monophon ausgefĂŒhrt. Das kann man an dem orangen Rechteck mit der einzelnen Note, links unten an den Elementen erkennen.  Wann immer keine Polyphonie benötigt wird (gelbes Rechteck mit zwei Noten), spart das pure Rechenpower.  Daß das bei komplexeren Schaltungen erheblichen Einfluss auf das Geschehen haben kann, versuche ich das GrundsĂ€tzlich zu berĂŒcksichtigen. Ein gutes Beispiel dazu findet ihr hier…

Abb. 1: Brain involved

So könnte unser Delay-Effekt jetzt aussehen:

Abb. 2: Ping-Pong Delay

[03]

Klanggestaltendes – 1

Machen wir uns an den ersten  – und einfachsten Teil  – der Klanggestaltung: Der Wert des Time-Regles soll auf Knopfdruck auf 1/10 reduziert werden können. Das wird in Verbindung mit der spĂ€teren FB-Übersteuerung fĂŒr kreatives Potential sorgen.
Aus PlatzgrĂŒnden muss der Time-Regler ausweichen, bekommt er doch Zuwachs in Form eines Selectors eines List-Buttons, Einer Konstanten („0.1“) und eines Multiplikators. Der Time-Regler bedient nun den „0“-Eingang des Selectors direkt und den „1“-Eingang ĂŒber den Multiplikator. Das war es auch schon.

An dieser Stelle eine weitere Bemerkung: Vielleicht ist euch schon aufgefallen, dass ich in der Regel Divisionen durch Multiplikationen ersetze. Das hat den einfachen Grund, dass Multiplikationen weniger Rechenleistung erfordern, als Divisionen. In diesem Maßstab macht das nicht viel aus. Da es aber bei komplexeren Schaltungen erheblichen Einfluss auf das Geschehen hat, habe ich mir das mittlerweile angewöhnt. Ein eindrĂŒckliches Beispiel dazu findet ihr hier…

Abb. 3: Time /10

[04]

Klanggestaltendes – 2

Die nachfolgenden Klangeffekte neigen dazu. die SignalstĂ€rke Amok laufen zu lassen. Dem mĂŒssen wir vorbeugen:

Ein Teil dessen, was wir jetzt einbauen, hat sich zum Teil schon mit dem Ping-Pong Effekt reingeschlichen: Ein Mixer mit einem Level-Regler am Ausgang. Den hatten wir im vorhergehenden Teil noch nicht. Jetzt machen wir aber NÀgel mit Köpfen und ergÀnzen diesen Mixer mit zwei Level-Metern und jeweils einem Audio Voice Combiner, damit unser Delay auch polyphon nutzbar ist.

Das Selbe passiert – wenn wir schon dabei sind – auch Eingagsseitig. Jetzt haben wir innerhalb des Delays die komplette Kontrolle ĂŒber den Pegel.

Abb. 4: Pegelkontrolle

[05]

Klanggestaltendes – 3

Ein simples Feature ist ein Peak-EQ zwischen dem Delay und dem Mixer am Ausgang. Dieser EQ wird zusĂ€tzlich mit einem LFO ausgestattet, so dass wir die Klangfarbe des Delays dynamisch beeinflussen können. Hier trefft ihr nur auf alte Bekannte. Sowohl was die Bauteile, als auch deren Verschaltung betrifft. Zu erwĂ€hnen ist evtl. daß ich – um die Dinge einfach zu halten – den Boost-Parameter des EQ mit einer Konstanten („10“) belegt habe.

Abb. 5: Peak-EQ

[06]

Klanggestaltendes – 4

Was nun folgt, ist in der Theorie nicht wirklich schwierig. Alleine die ErklÀrung der Umsetzung ist etwas komplexer: Was schlicht daran liegt, dass man in Reaktor Dinge, die nicht als Module vorliegen, erst einmal bauen muss. So summiert sich die Anzahl rudimentÀrer Elemente ganz schnell, wenn man mit Compare-Modulen, Selectoren und Triggern arbeiten muss, um ZÀhler zu generieren und Ergebnisse zu vergleichen. Doch zuerst zur Theorie dessen, was wir umsetzen wollen: Wir werden nun das, wovor ich beim Basic-Synthesizer gewarnt habe, ignorieren und die Folgen davon kreativ nutzen. Hier noch mal die Warnungen von damals:

Den Reduzierungsfaktor liefert ein Drehregler, den wir FB (Feedback) nennen, und der einen Wertebereich von 0 – 0.98 hat. Den Wert 1 sollten wir vermeiden, weil das Echo sonst nicht mehr endet. Einen Wert grĂ¶ĂŸer als 1 sollten wir auf jeden Fall meiden, weil das Echo sonst bei jedem Durchlauf lauter wird. Das ist nicht schön!

Das wird ein Spaß, den ich euch in 3 Schritten erklĂ€ren werde. Im folgenden werdet ihr fĂŒr jeden Schritt die komplette Schaltung sehen; jedes mal ist aber eine andere Baugruppe farbliche hervorgehoben, deren Funktion ich euch erklĂ€re. Am Ende sollte das Zusammenspiel der Baugruppen in der Schaltung klar sein. Wenn nicht: einfach Fragen

Kontrolliertes Delay-Feedback

Das Delay-Feedback zu ĂŒbersteuern ist insofern reizvoll, da die einzelnen Echos immer lauter werden; eine Art Crescendo. Man muss nur einen Weg finden, das Ergebnis kontrolliert zu begrenzen, um zum richtigen Zeitpunkt den Stecker zu ziehen – aber ganz vorsichtig.

Das Übersteuern ist die einfachste Übung: Wir erhöhen den Wertebereich des Feedback-Reglers am Maximum auf „2“. Ab jedem Wert oberhalb der „1“ wird sich nun die LautstĂ€rke des Delays erhöhen. Je höher der Wert, desto schneller der Anstieg der LautstĂ€rke. Instinktiv wĂŒrde man zum Abbruch der Übersteuerung das Audiosignal am Ausgang herunter regeln oder unterbrechen. Das bekĂ€mpft leider nur die Symptome, nicht aber die Ursache, da die Delay-Schleife aufgrund des Feedbacks >1 ja weiterlĂ€uft. SpĂ€testens beim nĂ€chsten Eingangssignal startet die Ausgabe mit der inzwischen weiter erhöhten LautstĂ€rke. Ein Teufelskreis! Wir mĂŒssen also an einer anderen Stelle ansetzen. Und zwar so, dass danach wieder alles auf „0“ steht: NĂ€mlich an der Feedback-Schleife höchst selbst.

Dazu sammeln/generieren wir erst mal die notwenigen Informationen:
Es gilt an erster Stelle zu erkennen, ob ĂŒberhaupt etwas getan werden muss, also ob der FB-Regler einen grĂ¶ĂŸeren Wert als „1“ sendet. Hierzu verwenden wir ein Compare Modul, dessen oberer Ausgang eine „1“ liefert, sobald diese Situation eintritt.

Abb. 6: FB-Status testen

Nun wird es darum gehen, eine Abbruchsbedinung zu schaffen. Das Audiosignal dafĂŒr auszuwerten, ist schwierig, da es ja – je nach Delay-Einstellungen – völlig unterschiedliche Ergebnisse liefert. Nichts, was konstant genug wĂ€re, um sich darauf verlassen zu können. Was aber zuverlĂ€ssig und konstant im Hintergrund werkelt, ist der Clock Oszillator der Ping-Pong Schaltung. Den werden wir verwenden, um einen ZĂ€hler zu bedienen.
Das ZĂ€hler Modul hat drei EingĂ€nge und (wenig ĂŒberraschend) einen Ausgang. Der oberste Eingang nimmt einen Startwert entgegen. Ist dieser „0“, gleicht das einem Reset. Werte am mittleren Eingang erhöhen den ZĂ€hler um „1“, Werte am unteren eingang verringern ihn um „1“. Wir verbinden deshalb den Clock-Ausgang mit dem Up-Eingang des ZĂ€hlers und schon zĂ€hlt dieser fleißig nach oben.
Fehlt noch eine Reset-Möglichkeit. Die generieren wir mit einem Value Modul und einem MIDI-Gate. Das Value Modul reicht den Wert, der an dessen unterem Eingang anliegt immer dann an den Ausgang durch, wenn der Trig-Eingang mit einem positiven Wert versorgt wird. Wird also am Synthesizer eine neue Taste gedrĂŒckt, sendet das Value Modul eine „0“ an den Set-Eingang des ZĂ€hlers und setzt ihn zurĂŒck.

Abb. 7: ZĂ€hler fĂŒr Abbruchsbedinung

Jetzt mĂŒssen wir den FB-Status und den ZĂ€hler nur noch auswerten und eine angemessene Reaktion erzeugen. Bei FB > 1 findet nach dem DrĂŒcken einer Taste am Synthesizer folgendes statt:

  • Der ZĂ€hler wird auf „0“ zurĂŒckgesetzt und beginnt zu zĂ€hlen.
  • Das Compare Modul hinter dem ZĂ€hler vergleicht dessen Ausgang mit dem RESET-Wert. Solange dieser nicht Erreicht wird, liegt am <=Ausgang eine „1“ an. Wird er erreicht, fĂ€llt der <=Ausgang auf „0“
  • Das Zweite Compare Modul vergleicht den FB-Status (in dem Fall „1“) mit dem RESET-Test. Solange dieser eine „1“ sendet (der Grenzwert also noch nicht erreicht ist), liegt am >-Ausgang eine „0“. Ist der Grenzwert erreicht, wird eine „1“ ausgegeben.
  • Der nachfolgende Selector schaltet aufgrund dieses letzten Wertes die Konstanten „1“ oder „0“ durch. Diese Konstanten mĂŒssen wir nun lediglich mit dem Signal in der Feedbackschleife Multiplizieren (s. zusĂ€tzlicher Multiplikator unter dem Delay Modul). Multiplizieren wir mit „1“. passiert nichts. Multiplizieren wir mit „0“, wird die Feedbackschleife unterbrochen.

Dann ist da noch der Slew-Limiter, der zwischen dem entscheidenden Slector und dem zusĂ€tzlichen Multiplikator steht. Damit verhindern wird, dass der plötzliche Abbruch zu unerwĂŒnschten akustischen Störungen fĂŒhrt. Ihr erinnert euch? Eventsigenale lassen sich mit einem Lowpass-Filter (oder einem Slew-Limiter) verzögern. Diesen Trick haben wir im Glide-Tutorial gelernt. Wir bremsen so den Abbruch vorsichtig ein. Das klingt besser.

Abb. 8: Abbruch!

[06]

Ein Hauch von Luxus

Was jetzt folgt, ist ein reiner Luxus-Feature und glĂ€nz vorzugeweise mit Platzverbrauch: Eine Status-LED, die den FB-Regler kommentiert. Das RGB Modul verfĂŒgt ĂŒber drei EingĂ€nge fĂŒr die drei Grundfarben und nimmt fĂŒr jeden Farbkanal Werte zwischen 0 und 1 entgegen.
Die LED soll, dem FB-Regler folgend, zwischen den Farben grĂŒn, gelbgrĂŒn, orange und rot ĂŒberblenden. Wir benötigen also nur die AnschlĂŒsse fĂŒr rot und grĂŒn; blau können wir ignorieren. Wichtig ist noch, dass die Selectoren im Modus „Linar“ betrieben werden, die an den EingĂ€ngen anliegenden Werte also ĂŒberblenden und nicht hart umschalten.
Da die Situation nahezu selbsterklĂ€rend ist, möchte ich es euch ĂŒberlassen, herauszufinden, wie die Werte an der LED angeliefert werden. 🙂

Abb. 9: FB-Anzeige

So könnte unser Delay nun aussehen:

Abb. 10: Serviervorschlag

[07]

Download

Da mich aktuell zuviele andere Projekte davon abhalten, mich um das Interface zu kĂŒmmern und einige Versuch bislang an Zeit & Aufwand scheiterten, an dieser Steller erst mal ein vorlĂ€ufiger Download des aktuellen Standes (hier: Teil 2).

g

Delay (vorlÀufig)

.mdl-Datei, (Zip-File, 15KB)



Kontakt

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



Freie PlÀtze



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