Ich haben den MIDI-Leveller gebaut, da ich kein Midi-Plugin fand, welches mir die Funktionalität zur Verfügung stellt, die ich suchte.
Folgende Ideen verfolgt MIDI-Leveller:
Ich habe eine Midi-Sequenz und benötige eine Variation davon.
Die Rhytmik soll unverändert übernommen werden, lediglich die Tonhöhen der einzelnen Noten werden verändert.
Die Tonhöhen sollen nicht zufällig verändert werden, damit eine gut klingende Variation „aufgenommen“ werden kann.
Das Ergebnis soll als Inspiration für weitere Variationen dienen.
Zur Realisierung habe ich Native Instruments Reaktor 6 verwendet.
Das PlugIn kann in der letzten Version hier heruntergeladen werden.
Ein MIDI-Signal durchläuft sechs verschiedene Bearbeitungsstufen:
- Mirror – Spiegelt die Tonhöhe an einem festen Wert
- Spread – Spreizt (oder verrringert) den Abstand von Tönen
- Trans – Transponiert die Tonhöhe
- Chord Mapper – verschiebt die Töne in ein Akkord-Raster
- Scale Mapper – verschiebt die Töne in eine Skala
- Output – verschiebt die Töne in einen Bereich
Alle Bearbeitungsstufen können einzeln Ein- bzw. ausgeschaltet werden.
Bis auf „Output“ können zentrale Parameter in allen Stufen von drei verschiedenen Modulatoren moduliert werden:
Mirror
Mirror spiegelt die Töne um den vorgegebenen Wert „Axis„.
Wenn Axis C#4 ist wird aus einem C4 ein D4, aus einem D4 ein C4.
Axis kann moduliert werden. Das Ergebnis der Modulation wird unter dem Regler angezeigt.
Um Axis einzustellen, wird der Auto-Schalter gedrückt. Beim Loslassen wird Axis auf den Durchschnitt aller Töne gesetzt, die während des Festhaltens eingetroffen sind.
Axis | C#4 | C#4 | C4 | C4 | E3 | E2 |
Input | C4 | D4 | C3 | C2 | A3 | A3 |
Output | D4 | C4 | C5 | C6 | B2 | B1 |
Spread
Mit Spread kann der harmonische Zusammnhang verändert werden, indem die Noten mit dem „Factor“ um die „Axis“ gespreizt werden.
Ein großer Factor entfernt die Noten von der Axis.
Ein Factor kleiner als 1 rückt alle Noten näher an die Axis.
Ein Factor von 1 verändert nichts.
Die Axis kann Moduliert werden. Das Ergebnis der Modulation wird unter dem Regler angezeigt.
Um Axis einzustellen, wird der Auto-Schalter gedrückt. Beim Loslassen wird Axis auf den Durchschnitt aller Töne gesetzt, die während des Festhaltens eingetroffen sind.
Axis | C3 | C3 | C3 | C3 | C2 |
Factor | 2 | 2 | 0.5 | 0,25 | 0,25 |
Input | C4 | D4 | C2 | C2 | C2 |
Output | C5 | E4 | F#2 | A2 | C2 |
Trans
Trans addiert den Wert „trans“ zur Tonhöhe.
Es können positive und negative Werte eingestellt werden.
Der Wert für trans kann Moduliert werden. Das Ergebnis der Modulation wird unter dem Regler angezeigt.
trans | 2 | -3 | 0 |
Input | C3 | C3 | C3 |
Output | D3 | A2 | C3 |
Chord Mapper
Der Chordmapper rückt alle Noten in einen sinvollen musikalischen Zusammenhang.
Alle Noten werden so korrigiert, dass diese zu dem eingestellten Akkord auf dem gewählten Grundton passen.
Die Grafik unterhalb der Parameter zeigt an, wie die einzelnen Noten korrigiert werden.
Grundton und Akkord können von verschiedenen Quellen moduliert werden.
In obigem Beispiel ist der Grundton C eingestellt, welcher durch Modulation auf E verschobben wurde. Alle Noten werden also auf einen I – III – V – VII-Akkord auf dem Grundton E korrigiert.
Input | E | F | F# | G | G# | A | A# | B | C | C# | D | D# |
Korrektur | 0 | -1 | +1 | 0 | -1 | -2 | +1 | 0 | -1 | +1 | 0 | +1 |
Output | E | E | G | G | G | G | B | B | B | D | D | E |
Stufe | I | I | III | III | III | III | V | V | V | VII | VII | VII |
Sowohl der Grundton, als auch der Akkord können von verschiedenen Modulatoren moduliert werden.
Scale Mapper
Der Scale Mapper rückt alle Noten in eine musikalische Skala.
Alle Noten werden so korrigiert, dass diese zur eingestellten Skala auf dem gewählten Grundton passen.
Die Grafik unterhalb der Parameter zeigt an, wie die einzelnen Noten korrigiert werden.
Grundton und Skala können von verschiedenen Quellen moduliert werden.
In obigem Beispiel ist der Grundton C mit einer Dur-Skala eingestellt. Alle Noten werden also auf eine C-Dur Tonleiter korrigiert:
Input | C | C# | D | D# | E | F | F# | G | G# | A | A# | B |
Korrektur | 0 | +1 | 0 | +1 | 0 | 0 | +1 | 0 | +1 | 0 | +1 | +1 |
Output | C | D | D | E | E | F | G | G | A | A | B | B |
Sowohl der Grundton, als auch die Skala können von verschiedenen Modulatoren moduliert werden.
Output
Output vereint zwei Funktionen:
- Grafische Darstellung der Noten im Eingang, die Veränderung durch MidiLeveller und der Noten im Ausgang.
- Alle Noten werden auf einen einstellbaren Bereich eingegrenzt.
In den dunkelblauen Streifen werden die Noten als kleine Vierecke angezeigt. Im oberen Streifen die Noten die an das Plugin geschickt werden. Im unteren Streifen die Noten, die das PlugIn verlassen. Dazwischen zeigen weisse Linien an, welche Noten am Eingang in welche Noten am Ausgang umgewandelt werden:
Mit den Reglern die den hellblauen Streifen überlagern, kann die höchste bzw. tiefste erlaubt Note eingestellt werden. Noten ausserhalb dieses Bereichs werden solange octavtransponiert, bis sie im erlaubten Bereich liegen.Die Notenwerte der beiden Schieber werden im oberen Teil als Text angezeigt.
Die Modulatoren
Die Modulatoren haben einige Gemeinsamkeiten:
- Sie funktionieren analog zu einem Sequnzer der synchron zum Host-Sequencer läuft.
- Die Länge der Sequenz wird durch die Anzahl der Steps (PatternLength) bestimmt.
- Die Abspielgeschwindigkeit der Sequenz wird durch die Länge des einzelnen Steps bestimmt.
- Die Gesamtlänge der Sequenz ergibt sich aus der Länge der einzelnen Steps multipliziert mit der Anzahl der Steps. Die Gesamtlänge wird als „Total Bars“ angezeigt.
Bei jedem modulierbarem Parameter werden die Modulatoren durch Auswahl des entsprechenden Schalters ausgewählt.
Der Wert des Modulators wird dann zum Parameter addiert. Das Ergebnis dieser Addition wird entweder direkt unter den Modulatoren oder neben dem Regler des Parameters als Text angezeigt.
Scale Generator
Der Scale Generator bietet einige nützliche Presets an, die sich lediglich in der Länge als auch der Geschwindigkeit anpassen lassen.
Auf der linken Seite können die Presets ausgewäht werden. Diese sind als Modulator für die Tonhöhen, vor allem des Chord Mappers geeignet.
Durch Auswahl eines Presets wird auch eine passende Anzahl an Steps (PatternLength) eingestellt. Die Länge kann nicht größer gewählt werden als die voreingestellte Länge des Presets.
Sequencer
Es sind zwei identische Sequenzer vorhanden. Diese können durch viele Parameter detailliert eingestellt werden.
Die Parameter von links nach rechts im Detail:
- links oben – Max-Wert: damit kann der größte Wert der Modulation eingestellt werden.
- CLR: Setzt alle Steps auf Null zurück
- RND: Wählt für alle Steps einen Zufallswert aus
- links unten – Min-Wert: damit kann der kleinste Wert der Modulation eingestellt werden.
- Unter der grafischen Darstellung der Steps befindet sich die Positionsanzeige.
- rechts daneben befindet sich die Pegelanzeige für das Ausgangssignal des Sequencers.
- Im oberen teil des rechten Bedienfeldes können die Anzahl (PatternLen) und die Dauer der einzelnen Steps eingestellt werden.
- Mit Delay kann die Seuenz verzögert oder vorgezogen (negative Werte) werden. Daneben kann die Auflösung von Delay gewählt werden.
Snapshot
Unter Snapshot können Presets aufgerufen und gespeichert werden.
In der linken Liste werden gespeicherte Snapshots geladen, in dem die Schalter angeklickt werden.
Zum Speichern wird in der rechten Liste der Speicherplatz gewählt und mit „Store“ gespeichert.
Mit „Rnd“ werden für alle Parameter Zufallswerte eingestellt. Mit „Amount“ kann vorgegeben werden wie stark die Änderung der ursprünglichen Werte durch die Zufallsfunktion ist.
Aufnehmen
Um die mit Midi-Leveller erzeugten Noten weiter zu verarbeiten hat es sich bewährt diese mit einem weiteren PlugIn aufzunehmen. In Logic Pro X hat sich dafür das PlugIn Midi Fx Freeze bewährt.
Im oberen Slot ist Reaktor ausgewählt und darin Midi-Leveller geladen. Im Slot darunter Midi Fx Freeze.
Nachdem die Parameter in Midi-Leveller eingestellt sind, wird Midi Fx Freeze auf Aufnahme geschaltet. Anschliessend kann man die Aufnahme mit Drag und Drop auf eine freie Spur des Sequencers ziehen.
Tips zum Einstellen
Beim Einstellen der Parameter habe ich für mich folgende Vorgehensweise eintwickelt:
- Alle Module außer Mirror einschalten, Modulation überall aus (entspricht Preset 1).
- Im Scale Mapper den Grundton und die Skala entsprechend der anderen Spuren des Stücks einstellen.
- Um eine leichte Variation zu erhalten, können für Trans Werte zwischen -7 und +7 nach Gehör eingestellt werden.
- Für starke Veränderungen kann Mirror dazugeschaltet weden. Dort wird „Auto“ für einige Sekunden festgehalten, um einen sinnvollen wert für „Axis“ zu erhalten. Mit der „Auto“-Taste bei Spread wird ebenso verfahren und anschliessend „Factor nach Gehör eingestellt.
- Um das Ergebnis weniger chaotisch klingen zu lassen, wird im Chord Mapper ein Akkord ausgewählt. Variation erhält man, indem der Grundton des Akkordes vom Scale Generator moduliert wird.
- Während des Einstellens überprüft man regelmäßig die grafische Darstellung in Output. Ausreisser nach oben und unten bekommt man dabei mit den beiden Reglern dort in den Griff.