VST-Instrumente
(Beispiele)
|
Kernstück der MIDI-Steuerung ist das "MIDI to CV"-Modul: Hierdurch lassen sich MIDI-Signale in (virtuelle) Spannungswerte umwandeln, die dann die anderen (virtuell) spannungsgesteuerten Module steuern. Pro Container darf nur ein "MIDI to CV"-Modul sein.
|
Die grundlegende Struktur einer MIDI-Steuerung sähe wie folgt aus:
Struktur einer MIDI-Steuerung
grundlegende
MIDI-Steuerung
Einstellungen des "MIDI to CV"-Moduls:
Subtraktive Synthese (VCO - VCF - VCA - LFO - ADSR)
Für einen einfachen polyphonen Synthesizer benötigt man einen Oszillator (VCO) und einen hüllkurvengesteuerten, über Gate ausgelösten Verstärker (VCA mit ADSR):
Grundstruktur eines polyphonen Synthesizers
synthesizer01.se1
Man kann diese Grundlage nun mit verschiedenen Features anreichern, wie z.B. mit einem zweiten Oszillator, den man gegenüber dem ersten verstimmen kann (via Control/Detuner) oder über einen zusätzlichen Regler für die Pulsweite:
Grundstruktur
eines polyphonen Synthesizers mit zweitem verstimmbarem Oszillator und
Pulsweitenregler
synthesizer02.se1
Will man ein Filter hinzufügen, so gibt es hier verschiedene Möglichkeiten mit verschiedenen Vor- und Nachteilen, zwischen denen es abzuwägen gilt:
Filtermodul |
SV
Filter
|
Moog
|
Biquad
|
Geschwindigkeit (CPU-sparend) |
mittel
|
langsam
|
schnell
|
Modulationsverhalten |
stabil
|
stabil
|
instabil
|
Qualität in den Höhen |
schlecht
|
mittel
|
gut
|
Qualität in den Tiefen |
gut
|
mittel
|
schlecht
|
Auswahl in Filtertypen |
viele
|
wenige
|
viele
|
Resonanzverhalten |
stabil
|
stabil
|
stabil
|
Klang |
eher
digital
|
eher
analog
|
eher
digital
|
Für einen normalen Synthesizer ist der SV Filter (State Variable Filter) eine gute Wahl, da er besonders auch in den Tiefen stabil ist und eine steilere Filterflanke besitzt als der Moog-Filter (während der Biquad-Filter nur jedes vierte Sample berechnet, wodurch Alaising-Effekte entstehen können).
Das Filter (hier das Prefab "SV Filter" unter Book Examples/Synthesis/SV Filter) wird bei der subtraktiven Synthese zwischen VCO und VCA eingesetzt und kann mit einer zusätzlichen ADSR-Hüllkurve ausgestattet werden, deren Verlauf sich auch via Modifiers/Inverter invertieren lässt. Mit Hilfe des Prefabs "Keytrack" unter Book Examples/Synthesis/Keytrack lässt sich auch die Filtergrenzfrequenz mit der Tastatur steuern:
Grundstruktur eines polyphonen Synthesizers mit zweitem verstimmbarem
Oszillator und Pulsweitenregler
und einem hüllkurvengesteuerten, keytrackbarem Filter
synthesizer03.se1
Weitere typische Funktionen eines subtraktiven Synthesizers sind Möglichkeiten der Modulation über einen LFO (Niederfrequenzoszillator bis 30 Hz; via Wellenform/Oszillator einfügen und als Maximalwert für den Pitch-Slider 1,1255 einstellen, für den Minimalwert ca. -10). Dieser kann mit verschiedenen Wellenformen arbeiten und via Flow Control/Switch (1->Many) verschiedenen Quellen zugeordnet werden.
Grundstruktur
eines polyphonen Synthesizers mit zweitem verstimmbarem Oszillator und
Pulsweitenregler, einem hüllkurvengesteuerten, keytrackbarem Filter
sowie einem umschaltbaren LFO
synthesizer04.se1
Über eine Modulationsmatrix (z.B. 3_KDL_SiMatrix-v100.zip) lässt sich der LFO mehrfach verschiedenen Quellen zuordnen (oder auch mehrere LFOs verschiedenen Quellen)
Wenn man die Slider durch "Controls/Knob" ersetzt, kann man via "BookExamples/KDL Volts2Hz" die Spannungswerte in Frequenzangaben ausgeben lassen. Gute Umrechnungsfaktoren sind:
20
Hz = 0,540568 V
20.000 Hz = 10,64385 V
Um alles übersichtlicher zu gestalten kann man die einzelnen Synthesizer-Bereiche in Container verlagern und zusätzlich auch ein "MIDI/Patch Select-" sowie ein "MIDI/MIDI Automator"-Modul und ein Controls/Controlwheel-Modul hinzufügen:
Grundstruktur
eines polyphonen Synthesizers mit zweitem verstimmbarem Oszillator und
Pulsweitenregler, einem hüllkurvengesteuerten, keytrackbarem Filter
sowie einem LFO mit Modulationsmatrix und ModWheel, sowie Patch Select
und MIDI-Automator (= Slidern können einzelnen MIDI-Funktionen zugewiesen
werden)
synthesizer05.se1
FM-Synthese
Bei der FM-Synthese geht es darum, daß ein Oszillator in einer Reihe von Oszillatoren (meist 4 oder 6) sowohl als Carrier als auch als Modulator eingesetzt werden kann (da die Oszillatoren beide Funktionen ausüben können, werden Sie auch einfacherweise als Operator bezeichnet). Die erzeugten Klänge sind das Produkt der Seitenbänder, die bei der Modulation entstehen (wobei der Carrier für die Hüllkurve der Amplitude zuständig ist, während der Modulator für die Hüllkurve der Frequenz).
Jeder Operator besteht aus einem in weitem Bereich verstimmbaren Oszillator mit einstellbarer zeitlicher Hüllkurve:
Struktur eines Operators
Mit allen Slidern und Auswahllisten sieht ein Operator folgendermaßen aus (der Slider "Fine" (für die Pitch-Einstellung) geht zwischen den Bereichen -0,833333 bis +0,833333):
Struktur eines Operators mit allen Regelmöglichkeiten
fm_01.se1
Fasst man die Regler zusammen ergibt sich folgendes Bild:
Struktur eines
Operators mit allen Regelmöglichkeiten in einem Container
fm_02.se1
Nachdem man den Operator samt seiner Regelmöglichkeiten vervierfacht hat kann man die vier Operatoren über eine Modulationsmatrix verknüpfen (diese am besten aus dem Beispiel "BookExamples/Synthesis/FM3" kopieren, sonst mit Hilfe von 6 ineinander geschalteten "Level Adj"-Modulen nachgestalten).
Schalltungsprinzip der Modulationsmatrix
Das Prinzip der Modulationsmatrix ist, daß der Operator 4 die Operatoren 3, 2 und 1 modulieren kann, der Operator 3 die Operatoren 2 und 1 und der Operator 2 kann nur den Operator 1 modulieren. Also:
4 > 3 | Operator 4 (Op4) wird mit dem Phasenmodulationseingang von Operator 3 verbunden (PM OP3) | 4>3 Depth steuert den Grad der Modulation | |
4 > 2 | Operator 4 (Op4) wird mit dem Phasenmodulationseingang von Operator 2 verbunden (PM OP2) | 4>2 Depth steuert den Grad der Modulation | |
4 > 1 | Operator 4 (Op4) wird mit dem Phasenmodulationseingang von Operator 1 verbunden (PM OP1) | 4>1 Depth steuert den Grad der Modulation | |
3 > 2 | Operator 3 (Op3) wird mit dem Phasenmodulationseingang von Operator 2 verbunden (PM OP2) | 3>2 Depth steuert den Grad der Modulation | |
3 > 1 | Operator 3 (Op3) wird mit dem Phasenmodulationseingang von Operator 1 verbunden (PM OP1) | 3>1 Depth steuert den Grad der Modulation | |
2 > 1 | Operator 2 (Op2) wird mit dem Phasenmodulationseingang von Operator 1 verbunden (PM OP1) | 2>1 Depth steuert den Grad der Modulation |
In einem Mix-Modul werden alle Ausgänge der Operatoren zusammengeführt (einfach einen leeren Container nehmen, am Input alle Signale auf einen Kanal legen). Dahinter wird noch ein Hochpassfilter geschaltet, um Frequenzbänder unterhalb von 20 Hz zu verhindern (Pitch = 0,02 bei 1 Volt/kHz):
Struktur
des gesamten FM-Synthesizers
fm_03.se1
Ein Vocoder gilt als eines der am kreativsten einsetzbaren Instrumente; mit ihm lassen sich beliebige Wellenformen "artikulieren", kann man beliebigen Klängen eine Stimme verleihen.
Im Prinzip hat der Vocoder zwei Eingänge: Carrier = das zu artikulierende Signal und Modulator = das artikulierende Signal (meist die eigene Stimme). Sowohl Carrier als auch Modulator werden über eine Filterbank in einzelne Frequenzbänder/bereiche aufgeteilt, wobei mit Hilfe von Envelope-Followern die die Amplituden der jeweiligen Modulator-Filter die Einstellungen der jeweiligen Carrier-Filter steuern, so daß das Ergebnis so klingt, als würde es mit der Stimme des Modulators sprechen.
Im einfachsten Fall ist das Carrier-Signal schon im Effektgerät eingebaut (meist eine teiltonreiche Pulsschwingung) und wird über den Modulator artikuliert.
Der typische Aufbau eines Vocoder-Kanals sähe folgendermaßen aus:
Grundsätzlicher Aufbau eines Vocoder-Kanals
Man sieht, dass sowohl Carrier als auch Modulator über die Mittenfrequenz mit gleicher Bandbreite gefiltert werden und dass das Filter des Modulators über Level Adj die Ausgangsamplitude des Carrier-Filters steuert.
Schwieriger sind die Dreh-Knöpfe zu gestalten (sie eigenen sich besser für die Bedienung des Vocoders, da man auf ihnen auch die genaue Frequenz etc ablesen kann, sind aber als zusammengesetzte Sub-Controls etwas schwieriger zu bewerkstelligen):
Ursprünglich findet man, wenn man das Modul Controls/Knob öffnet (Häkchen vor "locked" wegklicken) folgende Struktur vor:
Normale Strukturierung von Controls/Knob
Die Übersetzung zwischen den Grafik-Elementen und den Werten findet im Modul "Patch Mem - Float" statt (und dahinter das Modul "Float to Volts", das umgekehrt die Einstellungen des Drehknopfs wieder in virtuelle Spannungswerte umwandelt). Hieran setzt man an, um die drei Knöpfe für die Vocoder zu erweitern:
Beim Attack- und Decay-Drehknopf sieht es ungefähr so aus: Nach dem "Floats to Volts"-Modul wird wieder ein "Volts to Float" geschaltet, da es hier darum geht, über das nachgeschaltetete "Patch Mem - Float Out" den eingestellten Wert wieder unter dem Knopf auszugeben. Über "Float Scaler" und "Text to Float" wird eingestellt, wieviele Nullen bei der Ausgabe hinter dem Komma stehen.
Erweiterte Strukturierung von Controls/Knob für die Attack/Decay-Knöpfe
Ähnlich sieht es beim Knopf für die Filter-Bandbreite aus: Auch hier wird für die Darstellung der Werte der umgekehrte Weg über "Volts to Float", "Patch Mem - Float Out", "Float Scaler" und "Text to Float" beschritten, während über das Modul "Subtract" die Ausgabe jeweils von 10 Volt abgezogen wird (d.h.: je mehr der Knopf nach rechts gedreht wird, desto kleiner werden die Werte für die Filterbandbreite).
Erweiterte
Strukturierung von Controls/Knob für den BW-Knopf
Für den Pitch-Knopf sieht es ähnlich aus: um die genaue Frequenz anzuzeigen, wird ein 3rd-Party-PlugIn benötigt, das Spannungswerte in Frequenz umwandelt (KDL Volts2Hz), danach folgt die Ausgabe wieder dem üblichen Weg ("Volts to Float", "Patch Mem - Float Out" und "Text to Float")
Erweiterte
Strukturierung von Controls/Knob für den Pitch-Knopf
Um diesen einen Vocoder-Kanal zu vervielfältigen fasst man ihn am besten in einem Container zusammen und lässt die Regler und fixed Values aussen:
Inhalt des Containers für ein Vocoder-Band
Dann vervielfältigt man den Container auf beliebig viele Frequenzbänder (hier 10) und weist diesen für die Frequenz jeweils eine entsprechende Fixed Value zu (hier: 3,25; 4; 4,75; 5,5; 6,25; 7; 7,75; 8,5; 9,25, entsprechend 130, 220, 370, 620, 1050, 1760, 2400, 4500 und 8400 Hz). Die Ausgänge fasst man alle zusammen und setzt einen verstärkenden Multiplikator dahinter. Diese Struktur verlagert man wieder in einen Container, wobei die Knöpfe für Pitch, Bandwith, Attack und Decay weiter aussen bleiben:
Struktur für einen 10-Band-Vocoder (Steuerelemente sind ausserhalb
des Containers)
Diese im Container "Vocoder 10" befindliche Struktur kopiert man dann (um einen Stereo-Vocoder) zu erhalten und legt an den Carrier-Eingang den über den Pitch-Knopf gesteuerten Oszillator, um die Tonhöhe festzulegen.
Struktur des kompletten Vocoders
Vocoder.se1
Um die Sprachverständlichkeit zu steigern, kann man bei allen Zisch-Lauten ein weisses Rauschen einsetzen, indem man in den Signalverlauf einen Rauschgenerator legt, der über einen Peak-Follower Signale oberhalb von 4000 Hz reagiert (durch das davorgeschalteten Hochpassfilter). Auch diese Struktur wird in einem Container ("Noise") zusammengefasst:
Struktur des Hüllkurvengesteuerten Rauschgenerators für Zischlaute
In die Gesamtstruktur würde der Noise-Pfad folgendermaßen eingebettet (2 Noise-Module, da stereo):
Struktur des
kompletten Vocoders mit verbesserter Sprachverständlichkeit
Vocoder2.se1
Einfacher geht das alles mit 3rd-Party-Vocoder-Modulen (z.B. mit EVM Vocoder.sem von Etric van Mayer (gab es 2008 noch kostenlos; ist jetzt auf einer PayPal-Seite)), jedoch fehlt hier noch die hinzuschaltbare Noise-Funktion:
Struktur des
EVM-Vocoders
EVM-Vocoder.se1
Sample-Player
Der Aufbau eines Sample-Players entspricht sehr der MIDI-Synthesizer-Grundstruktur,
nur dass anstelle des Oszillator-Moduls das Wave Player-Modul eingesetzt
wird (unter insert/input-output) sowie ein File-Auswahl-Modul (unter insert/controls/text
entry).
Grundstruktur eines Sample-Players
Sample_player.se1
unter http://www.dehaupt.com/SynthEdit/DH_WavePlayer2+.htm gibt es von Dave Haupt ein erweitertes WavePlayer-Modul, das ein guter Ersatz für den SynthEdit-internen Waveplayer ist.
Ausgehend von dieser Struktur kann man ähnliche Module hinzufügen wie beim Synthesizer.
Granular-Synthesizer
Durch das Hinzufügen eines Granulator-Moduls von Dave Haupt lässt
sich die Sample-Playerr-Grundstruktur schnell in einen Granular-Synthesizer
verwandeln.
(DH_Granulator-Modul unter http://www.dehaupt.com/SynthEdit/DH_Granulator.htm)
Grundstruktur eines Granularsynthesizers
granularsynthese.se1