Modulare Synthese (WWW-Workshop)
STEP 2
Modulation
Bemerkung : die Module "ADSR" und "VCA" sind bei Standardanwendungen
eng miteinander verflochten.
Um die Funktion des einen Moduls zu erklären, hilft Grundwissen
über die Funktion des anderen Moduls. Ich erkläre hier zuerst den
Hüllkurvengenerator ADSR und dann den spannungsgesteuerten Verstärker
VCA, es könnte aber genauso umgekehrt sein. Bitte um Nachsicht !
ADSR (Hüllkurvengenerator, Attack Decay Sustain Relase)
Bisher waren alle Beispiele so gestrickt, dass Modulationen nur
mit stetig sich wiederholenden Signalen, also Oszillatoren (bzw. LFO's,
siehe unten), durchgeführt wurden (bis auf Rauschen, natürlich !).
Wie aber wollen wir einen Klang hinbekommen, der z.B. langsam seine
Tonhöhe anhebt, dann kurzabsinkt, um auf einem bestimmten Level
zu bleiben, und dann nach gewisser Zeit wieder auf die ursprüngliche
Tonhöhe zurückzukommen ?
Etwa so ? (MP3)
Nun, dazu gibt es die Hüllkurvengeneratoren. Ich möchte, um den
Hüllkurvengenerator noch besser zu beschreiben, ein weiteres Modul zur
Hilfe nehmen, das als nächstes kommt, nämlich den VCA. Es erleichtert
die Beschreibung der Funktion des Hüllkurvengenerators.
Ein VCA ist ein spannungsgesteuerter Verstärker, also eine Schaltung,
die je nach Kontrollspannung mal mehr und mal weniger (genau genommen
von 0% bis 100%) eines Eingangssignales durchlässt.
Nehmen wir nun das Klavier. Einmal auf die Tasten gehauen, ist
der Ton fast schlagartig da (vergessen wir mal die feinsten Änderungen
in der Klangfarbe innerhalb der ersten paar zig Millisekunden)
und wird dann immer leiser, solange die Taste gedrückt bleibt. Lässt
man die Taste los, erstirbt der Ton sofort. In einer grossen Halle hört
man vielleicht noch einen relativ schnell verklingenden Nachhall.
Klavierhüllkurve
Wir haben also :
einen sehr schnellen Anstieg der Lautstärke
eine sehr lange Abklingzeit der Lautstärke, wenn die Taste gedrückt ist,
und eine sehr kurze Abklingzeit, wenn die Taste losgelassen wird.
Damit sind die Begriffe Attack, Decay und Release schon erklärt.
Attack ist die Zeit, die der Hüllkurvengenerator braucht, um von "0 auf
100" zu kommen, wenn das Steuersignal zum Hüllkurvengenerator schlagartig
von 0 auf 5 Volt steigt.
Das gleiche gilt natürlich auch für Decay (also die Zeitrate, mit der
die Hüllkurve gegen 0 sinkt)
und Release, d.h. die Zeitrate gegen 0 nach dem die Taste losgelassen wurde.
Das Steuersignal eines Hüllkurvengenerators
entspricht dabei immer dem Tastendruck, also entweder Taste im Ruhezustand,
d.h. 0 Volt, oder Taste gedrückt : 5 Volt (oder auch 10 Volt, oder
dazwischen, je nach Modularsystem).
Das Steuersignal der Tastendrucklänge wird im Allgemeinen Gate genannt.
Den kurzen Puls zu Beginn des Tastendruckes nennt man Tastatur-Trigger.
Gate gibt jedes Keyboard aus, Trigger manche.
Steuert nun ein Hüllkurvengenerator ( der von einer Rechteckspannung,
die dem Tastendruck entspricht, gesteuert wird ) einen VCA, so ergeben
sich Lautstärkeverläufe, also das, was vorher unter Zuhilfenahme des Beispiels
"Klaviers" beschrieben wurde.
Man müßte in diesem Beispiel die Attackzeit auf sehr kurz stellen, die
Decayzeit auf lange und die Releasezeit auf kurz. All dies kann man bei
den üblichen Hüllkurvengeneratoren über Potis machen, die Hi-End-ADSR's
sind sogar spannungssteuerbar in ihren Parametern.
Hier nun 4 Beispiele für einen Hüllkurvenverlauf mit verschiedenen
Attack-und Release-Zeiten. Die Lautstärke ändert sich also nur, wenn
ein Wechsel beim Tastendruck aufgetreten ist :
Kurze Attackzeit, kurze Releasezeit :MP3
Kurze Attackzeit, lange Releasezeit :MP3
Lange Attackzeit, kurze Releasezeit :MP3
Lange Attackzeit, lange Releasezeit :MP3
Jetzt hatten wir nur die Möglichkeit, den Ton abklingen zu lassen, wenn die Taste losgelassen wurde. Wie erstelle ich einen Ton der sofort da ist, aber dann auch sehr schnell wieder abklingt ? Man könnte natürlich Sehr kurz die Tasten bedienen, aber as gibt Sounds, die so "knackig" sein sollen, das man das per Hand nur mit viel viel Übung über längere Zeit hinkriegt.
Nun,
für dieses "Problem" gibt es ja Decay. Wird Attack auf 0 gesetzt und Decay auf eine sehr kurze Zeit, bekommen wir genau das gewünschte :
3 mal ganz kurz, 3 mal etwas länger, 3 mal mittellang
Vorhin fiel die Abkürzung ADSR. A(ttack), D(ecay) und R(ealease)
hatten wir ja schon, aber wofür steht S ? Sustain !
Der ADSR-Hüllkurvengenerator (ab jetzt ADSR) besitzt neben den schon
beschriebenen Eigenschaften eine weiter, nämlich das Verharren
auf einem bestimmten Spannungswert, wenn die Decayzeit abgelaufen ist.
Das wäre ein Klavier, welches bei gedrückter Taste am Anfang leiser wird,
dann aber plötzlich immer die gleiche Lautstärke weiterbehält, solange,
wie die Taste losgelassen wird.
Eine Orgel hätte ein Sustainlevel bei 100%, also wäre die Decayzeit völlig
bedeutungslos. Attack würde man auf 0 stellen (also Orgelton sofort
beim Tastendruck) und Release auf einen relativ kleinen Wert, um den
Nachhall in einer Kirche nachzubilden.
Die Streicher eines Orchesters können noch viel dynamischer mit der
Lautststärke umgehen, ein ADSR kommt da garnicht mit. Immerhin können wir
aber mit dem ADSR das langsame Ansteigen der Lautstärke, dann das vorsichtige
Leiserwerden bis zu mittlerer Lautstärke und das etwas schnellere abschwellen
der Lautstärke simulieren (wenn wir wollen, aber das Simulieren von
Naturklängen soll nicht unbedingt die Domäne von Modularsynthesizern auf
der Basis subtraktiver Synthese sein!).
VCA (voltage controlled amplifier = Spannungsgesteuerter Verstärker)
Wir hatten den VCA ja nun schon mal.
Der spannungsgesteuerte Verstärker (ab jetzt : VCA) hilft genau dann weiter,
wenn die Amplitude (oder Verstärkung) eines Signals abhängig von einer Eingangsspannung geändert werden soll.
Der VCA hat einen Eingang, da kommt der Ton rein, und einen Ausgang. Aber das
haben wir später. Zunächst brauchen wir ja einen Steuereingang, der dem
Verstärker sagt, wie stark die Verstärkung sein soll : von 0 (also kein
Effekt, der Ton der hereinkommt, wird vollständig unterdrückt) bis Maximum,
also Ton genauso laut raus wie rein. Ja, und dann natürlich brauchen wir
einen Audio-Ausgang, wo der modulierte Ton wieder rauskommt. Fertig ist
ein VCA.
Im Grunde haben die Beispiele beim ADSR schon alles gezeigt,
was man mit einem VCA in der Standardanwendung machen kann.
Es gibt allerdings noch Tricks, die einen VCA für andere Anwendungen
ganz interessant werden lasssen. Als erstes möchte ich die Audiomodulation eines VCA vorstellen :
Und das klingt dann so !
Moduliert man ein Signal mit einem VCA also im Audiobereich, kommen metallisch oder geräuschhaft
klingende Laute zustande. Diese Amplitudenmodulation im Audiobereich ist
verwandt mit dem Ringmodulator, der an einer anderen Stelle besprochen wird.
Ein komplizierteres Patch (wir kommen in den Beispielen darauf zurück!)
ist dieses hier :
es macht deutlich, das mit der Audiomodulation einiges anzustellen ist !
Das Prinzip ist einfach : Oszilator A sorgt für die Audiomodulation des VCA,
Oszilator B geht in den Audioeingang des VCA, also wie vorhin.
Beide Oszilatoren werden von der Tastaturspannung CV in ihrer Tonhöhe gesteuert.
Zusätzlich kommt
aber noch ein unbekanntes Modul hinzu, nämlich ein
spannungsgesteuertes (Hochpass-)Filter.
Das Filter wird vom ADSR (1) in seiner Funktion gesteuert
(siehe Step 3 !).
Dann gibts noch einen weiteren VCA, der wird einfach über einen weiteren ADSR (2)
gesteuert und sorgt dafür, das eine Hüllkurve, ähnlich der oben genannten
"Klavier"-Hüllkurve die Lautstärke des Gesamtergebnisses beeinflußt.
Das Ganze klingt dann so.
Mit einem VCA kann man natürlich noch deutlich viel mehr machen. Weitere Beispiele
im späteren Verlauf des Workshops gehen näher darauf ein !
LFO (Niedrigfrequenz-Oszillator,
Low Frequency Oscillator)
Wir haben das Thema schon bei Step 1 angeschnitten. Da wurde ein LFO
eingesetzt, um die Frequenz eines VCO zu modulieren. Ein LFO dient
also in der Regel dazu, um bestimmte andere Module anzusteuern und
dabei Lebendigkeit in die Klangstruktur einzuhauchen. Natürlich ist
es bei einem Modularsystem völlig egal, welchen Parameter man mit
einem LFO ansteuert, Hauptsache er ist spannungssteuerbar.
LFO's können alle wichtige Wellenformen produzieren, und zwar mit
Frequenzen von (je nach Bauart) 1-2 Minuten pro Zyklus (0,001 Hz)
bis in den Audiobereich hinein (z.B. 400 - 600 Hz), womit die LFO-Frequenz schon längst im VCO-
Bereich liegt.
Die Frequenz des LFO ist jedoch in der Regel nur über ein Drehregler
einstellbar. Es gibt
allerdings auch etwas komplexere Schaltungen, die es gestatten,
die LFO-Frequenz über eine Steuerspannung zu verändern, so dass
es sich also tatsächlich um einen VCO handelt (VC-LFO).
Die Wellenformen, die ein LFO produzieren kann, beschränkt sich in
der Regel auf
Sinus, Dreieck, Rechteck und Sägezahn. Billige LFO's produzieren
z.B. nur Dreieck
und Rechteck (Schaltungstechnisch wenig aufwendig), die etwas
besseren können
zusätzlich auch die Pulsbreite des Rechtecksignals verändern,
u.U. sogar
spannungsgesteuert. Einige LFO's bieten noch die Möglichkeit,
den Kurvenverlauf
zwischen Sägezahn - Dreieck - invertiertem Sägezahn kontinuierlich
zu durchfahren,
wie der Korg MS 10 (ein halbmodularer Synthesizer) beispielsweise.
Derselbe Regler
zum Durchfahren der Wellenform kann, falls Rechteck als Wellenform
gewählt wird,
die Pulsbreite frei verändern. Die richtig guten LFO's haben noch
eine Random-Funktion, also die Möglichkeit, völlig zufällige
Spannungsverläufe entweder in Treppenstufenform oder sogar frei
fluktuierend zu generieren. Wir können allerdings den Treppenstufen-
Random LFO auch mit einem Rechteck-LFO, einem Sample-and-Hold und
einem Rauschgenerator basteln. Das allerdings verschiebe ich auf
Step 4,
wo die Sample-and-Hold Schaltung erklärt wird.
Hier nun ein paar Modulzusammenstellungen, die die Funktionsweise
eines LFO verdeutlichen sollen :
Frequenz eines VCO mit einem langsamfrequenten
Dreieck-LFO moduliert. Vom VCO wird das Sägezahnsignal abgegriffen.
Statt Dreieck jetzt Rechteck
und Treppenstufen-Random.
Man kann einen VCO natürlich auch mit mehreren Rechteck LFO's so ansteuern, daß
sehr komplexe rythmische Tonhöhenänderungen entstehen : das Geheimniss bei der
Schaltung ist, daß jeder "LFO-Rechteck-Sprung" den VCO um eine Quinte, Quarte, Oktave
oder sonstwas passendes "verstimmt". Dann klingt das Ganze sehr sauber. Man muss
dann allerdings sehr geduldig jeden einzelnen LFO-CV-Eingang am VCO stimmen. Das
ist viel Arbeit, lohnt sich aber.
Hier mal so ein sauberes Beispiel,
und drei ehr experimentelle Ansätze (1)
(2)
(3)
Steuert man den VCO mit einem Sägezahn-LFO an, so erhält man
Klänge, die einem aus Videospielen vertraut sind, oder als
Tonuntermalung für schlecht gemachte SF-Zeichentrickfilme.
Klingt auch ziemlich billig.
fallender Sägezahn und steigender Sägezahn
Besser wird es schon, wenn zwei VCO's mit einem LFO angesteuert
werden, der eine VCO bekommt einen steigenden Sägezahn vom LFO, der
andere VCO einen fallenden.
So, jetzt werden beide VCO's etwas anders miteinander verknüpft :
der eine ist um 2 Oktaven tiefer als der andere und wird von diesem
ge"synct". Der höher gestimmte wird vom fallenden Sägezahn-LFO gesteuert, der andere vom steigenden.
Bisher hatten wir keinen Einfluß darauf, wann genau bei einem LFO z.B. die
fallende Sägezahnkurve auf ihr maximalniveau geht, um dann langsam abzufallen.
Das läßt sich, wie wir schon bei den VCO's gesehen haben, auch realisieren, und zwar mit
einen SYNC-Eingang.
Das folgende Beispiel verdeutlicht, warum sowas manchmal wichtig sein kann : ein Ton
soll, wenn er auf der Klaviatur angeschlagen wird, sofort einsetzen
und sich dann immer (also bei jedem Tastenschlag
genau timing-gleich) echoartig wiederholen.
Das ist übrigens auch gleich ein Beispiel
für den Einsatz des VCA : der erste VCA steuert das eigentliche Echo, der zweite VCA läßt das
Echo über den steuernden ADSR immer leiser werden.
Das funktioniert so :
Man könnte auch anstelle eines LFO einen VC-LFO nehmen, und die
LFO-Geschwindigkeit über die Keyboard-Steuerspannung (also Tonhöhe) festlegen. Man bekommt
dann Effekte wie bei älteren Samplern, je höher der Ton, desto schneller das Echo !
Ein anderes Beispiel für synchronisierte LFO's ist das hier : 3 Sägezahn-LFO's werden
vom Tastaturtrigger synchronisiert, und steuern 3 Bandpassfilter (VCF's), was etwas lebendigere,
maschinenartige Klänge erzeugt, aber immer Tastatur-Anschlagssynchron !