Steuerung von U-he Plugins mit OB-6 via Reaper MIDI Plugin
Das Problem: Die fehlenden anfassbaren Knöpfe
Einer der wesentlichen Gründe, warum ein Hardware-Synthesizer mehr Spaß macht als ein Software-Synthesizer, sind aus meiner Sicht die Knöpfe. Es fühlt sich einfach viel besser an, Klangparameter mit den gewohnten, fest zugeordneten Drehreglern oder Tasten zu ändern, als mit der Maus virtuelle Knöpfe auf dem Bildschirm anzuzielen und sie dann mit Drehung des Jogwheels oder anderen Mechanismen zu ändern. Auch die Bedienung mit „generischen“ Hardware-Drehreglern wie z.B. den 8 Endlosdrehreglern bei NKS finde ich weniger befriedigend.
Plugins wie z.B. u-he Repro hören sich zwar toll an, aber die Unmittelbarkeit beim Knöpfe-Drehen fehlt.
Die schnelle Lösung
Aber die Lösung ist ja eigentlich schon da, wenn man mindestens einen mmodernen Hardware-Synthesizer hat: die meisten Plugins bieten eine „MIDI Learn“ Funktion, und die meisten halbwegs modernen Hardware-Synthesizer können ihre Reglerbewegungen als MIDI CC senden.
In meinem Fall stand ein DSI OB-6 schon da, und so fing ich erst mal an, die typischen Knöpfe (Cutoff, Hüllkurven, …) mit der „MIDI Learn“ Funktion in das u-he Repro Plugin zu integrieren.
Die Mängel
Nur schade: Nur die Hälfte der Bedienelemente (Knöpfe und vor allem Taster) lassen sich mappen, weil die anderen keine MIDI CCs senden. Und auch bei den gesendeten MIDI CCs gibt es oft Probleme, weil die Skalierung der möglichen Werte anders ist. Im Extremfall wird für einen Schalter von der Hardware 0 oder 1 gesendet. Die Software erwartet aber 0 und 128 (oder größer).
Die umfassendere Lösung
Man kann aber beim DSI OB-6 einstellen, dass statt der üblichen MIDI CCs die flexibleren, aber selten von Plugins erkannten MIDI NRPNs gesendet werden. Dann senden (nahezu) alle Reglerbewegungen Daten an den Computer.
Weitere Hürde
Nur schade: Die meisten Plugins, auch die von u-he erkennen keine NRPNs. Also aussichtlos …
Und wie ich sie überwand
Seit einiger Zeit hatte ich die DAW Reaper installiert. Mir gefiel die Philosophie, die Flexibilität und das für Hobby-Musiker vorteilhafte Preismodell: Es gibt nur eine Volllversion (alle Features), und für die meisten von uns kostet sie nur 60 Dollar. Zur Philosophie und Flexibilität gehört auch, dass der Benutzer eigene MIDI Plugins programmieren kann (neben einer Vielzahl an mitgelieferten und im „Reaper Stash“ frei verfügbaren Plugins und Skripte).
Also setzte ich mich an den Computer und nutzte meine Programmierkenntnisse, um ein MIDI Plugin in der relative primitiven Programmiersprache EEL2 zu schreiben. MIDI oder Audio Plugins können mit Reaper als „JSFX“ mit EEL2 programmiert werden. (Zur Automatisierung der Reaper-Bedienung bietet Reaper neben EEL2 auch Lua und – mit Einschränkungen – Python an; das läuft unter dem Oberbegriff „ReaScript“.)
Das Ergebnis: Mapping aller OB-6 Bedienelemente
Nach etlichen Abenden war ich am Ziel:
DSI OB-6 sendet NRPNs
Reaper MIDI Plugin wandelt die NRPNs in CCs um (und wendet einige Zaubertricks an, die mit Programmierung möglich sind – siehe nächster Abschnitt)
In u-he Repro (oder Diva) nimmt eine von mir erstellte, sehr umfangreiche „MIDI Assignment Table“ die Steuerungsinformationen entgegen
und gibt sie an die Sound Engine und die Oberfläche weiter
Die Zusatzfunktionen
Da ich mich nun schon in die Programmiersprache und die ziemlich flexible u-he MIDI Assignment Table eingearbeitet hatte, habe ich gleich noch einige Zusatzfunktionen eingebaut:
Man kann am OB-6 mit dem (zweckentfremdeten) „Arp Octaves“ Taster zwischen drei Modi für die Regler umschalten: Normal (Parameter springt bei der ersten Ansteuerung), Relativ (Parameter reagiert sofort ohne Springen, aber es steht auf einer Seite zunächst nicht der volle Regelbereich zur Verfügung) und Fein (feinere Auflösung).
Shift-Funktion (mit „Arp on/off“), um z.B. den dritten Oszillator oder zweiten LFO in Diva, oder die rechte Sektion in Hive bedienen zu können
Spezielle Mappings, um z.B. die LFO Wellenformen im Plugin mit größtenteils gleicher Logik wie beim OB-6 steuern zu können
Spezielle Mappings für Zusatzfunktionen, z.B. stellt der „Pan Spread“ am OB-6 direkt die 8 entsprechenden „Voice Panning Tweaks“ bzw. Trimmers im Repro-5 bzw. Diva ein. Und mit dem „Filter Velo Sensitivity“ Schalter beim OB-6 kann man in zunächst 16 Abstufungen die entsprechende Sensitivität im Plugin einstellen.
Hier kann man die Sachen kostenlos runterladen
Ich hab das dann alles vor etwa einem Jahr veröffentlicht:
hier bei KVR für Repro und Diva,
und später hier im Forum sequenzer.de für u-he Hive und TAL Plugins.
Und was ist mit anderen Hardware-Synthesizern?
Wenn jemand einen DSI Prophet-6 hat, und etwas programmieren kann, könnte er die Skripte relativ einfach dafür anpassen. Ich vermute, die allermeisten NRPN-Controller sind gleich. Für die speziellen Mappings und besonderen Zusatzfunktionen muss man sich vermutlich dort mehr Gedanken und Arbeit machen, wo die Bedienelemente OB-6 und Prophet-6 inhaltlich voneinander abweichen.