MIDI CC zu Automation und Automation zu MIDI CC

das leidige Thema: Man möchte den Parameter eines VST(i) per MIDI CC steuern, weiß aber entweder die CC# nicht, oder das VST implementiert gar kein MIDI für den Parameter…

Klar, man könnte ne Automationsspur verwenden, aber das ist m.E. einfach nicht das selbe, als wenn ich MIDI CC-Daten im Kontext mit meinen MIDI-Noten gleichzeitig im Key-Editor bearbeiten könnte.

Zum Beispiel zeichne ich einen MIDI CC Filterverlauf über die Dauer einer Note im Key-Editor ein. Wenn ich diese eine Note im Editor verschiebe, dann werden auch die MIDI CC-Daten mitverschoben (einstellbar). Wenn ich dagegen Automation verwende, dann werden die Automationsdaten NICHT verschoben.

Es wär also schön, irgendeinen Paramater irgendeines Plugins, den man per Automation steuern könnte, aber nicht per MIDI, doch irgendwie per MIDI-CC steuern zu können.

Oder: Wenn ich irgendeinen Parmeter irgendeines Plugins mit der Maus bewege, will ich nicht dass Automationsdaten geschrieben werden, sondern MIDI-CC-Daten… Die können dann leicht mit allen MIDI-basierten Funktion in Cubase, im Kontext mit Noten im Key-Editor bearbeitet werden etc.

Es ist zwar ein wenig umständlich, aber es geht eigentlich ganz einfach:

A) als erstes braucht man einen MIDI Loopback Port. Ich empfehle “loopMIDI”: x32/x64 WinXP/Win7 Kompatibel und unbegrenzte Anzahl Ports möglich.

Wollen wir per MIDI CC den Regler eines VST steuern, der gar nicht per MIDI CC steuerbar ist, dann benötigen wir einen Loopback Port, den nenn ich mal “Project GR In”.
Wollen wir die Reglerbewegungen eines VST, die wir mit der Maus (oder per QuickControl oder einem externen Steuergerät) machen nicht als Automation, sondern als MIDI CC aufzeichnen, dann benötigen wir einen weiteren Loopback Port, und denn nenn ich mal “Project GR Out”.

Im Cubase Geräte-Einstellungs-Dialog sollte man aufpassen, dass diese Loopback Ports nicht im “Alle MIDI Inputs” berücksichtigt sind. Man sollte schon gut aufpassen, dass man sich keine Feedback-Schleife bastelt!

B) Der Trick in Cubase ist jetzt, dass man den Ausgang einer MIDI-Spur mittels der Loopback Ports an einen “Generischen Controller” schickt, bzw. den Ausgang eines Generischen Controllers mittels Loopback Port wieder an eine Midi-Spur…

In Cubase fügen wir dafür im Geräte-Einstellungs-Dialog einen weiteren Generischen Controller hinzu, es können ja mehrere Generische Controller eingerichtet werden.

Der Eingangs-Port für diesen separaten Generischen Controller stellen wir auf “Project GR In”, und den Ausgangs-Port stellen wir auf “Project GR Out”. Wenn wir also von irgendwoher Midi-Daten an den Port “Project GR In” senden (z.B. von einer MIDI-Spur in Cubase selbst), dann landen diese MIDI-Daten im Generischen Controller, mit dem die MIDI-CC-Daten an einen beliebigen VST Parameter geroutet werden können. Und andersrum wird die Änderung irgendeines VST-Parameters mit dem Generischen Controller in MIDI-CC gewandelt und an den Port “Project GR Out” gesendet, und den kann man ja wieder als Eingang für eine MIDI-Spur verwenden und aufnehmen…

Beispiel: einfaches Beispiel: Ihr habt den HALionOne im VSTi-Rack geladen, habt einen MIDI track mit ein paar Noten, der an diesen HALionOne geroutet ist. Jetzt wollt Ihr mittels des Cubase internen EQ im VSTi-Mixerkanal dieses HALionOne einen Filtersweep für jede Note, für die Dauer der jeweiligen Länge der Note haben…

Ihr könnt jetzt ne Automationsspur einrichten für die Frequenz des EQ1-Bands und mühsam die Automationsdaten einzeichnen. Problem ist nur, wenn Ihr nachträglich die Noten verschiebt, dann dürft Ihr manuell die Automation anpassen.

Das geht alles viel leichter, wenn man den Frequenzverlauf des EQ1-Bands als MIDI CC im Key-Editor zusammen mit den Noten bearbeiten könnte. Da könnte man dann auch Noten verschieben, MIDI-CC wird automatisch mitverschoben, die Bearbeitung fällt viel leichter, weil eben im Kontext mit den Noten gearbeitet wird etc…

Also: Entweder Ihr benutzt den gleichen MIDI-track und Part, in dem die Noten für den HALionOne stecken für die CC-Daten die an den EQ gesendet werden sollen. Dann benutzt Ihr einen MIDI SEND Effekt in dem MIDI-track und stellt den Ausgang des Sends auf “Project GR In” und wählt einen MIDI-Kanal. (eventuell vorhande CC-Daten werden dann sowohl ans VSTi geschickt UND an den Generischen Controller. Wenn das VSTi auf diesen MIDI CC reagiert, die jar gar nicht für das VSTi gedacht sind, sondern für den EQ, dann sollte man natürlich entweder per Transformer in einem MIDI Insert die MIDI-CC-Daten die nicht für das VSTi gedacht sind filtern und den MIDI SEND Effekt auf “pre Fader” stellen!

Oder man macht eine weitere MIDI-spur auf, mit der man dann quasi das “Instrument Kanal EQ des HALionONE” spielt. In diesem Fall stellt man den Ausgang dieses zweiten MIDI-tracks einfach auf “Project GR In” und einen MIDI-Kanal und hat dann zwei Parts. Da diese im Key-Editor ja zusammen bearbeitet werden können stellt das die einfachste Möglichkeit dar.

Also, dann entscheidet Euch nur noch für eien MIDI CC-Nummer, stellt die in der Controller-Spur ein und zeichnet Euren Frequenzverlauf für das EQ1-Band ein. Blendet den Part mit den Noten mit ein, dann seht Ihr genau wann eine Note beginnt, wann sie endet et…

Wenn Ihr fertig seid, dann geht in die Geräte-Einstellungen, wählt den hinzugefügten Generischen Controller und stellt Ihn entsprechend ein:

Oben stellt Ihr ein, welche MIDI-Daten der Generische Controller empfangen und/oder übertragen soll. stellt z.B. das “Bedienelement” “HALionONE EQ1 freq” ein, dass MIDI-CC #1 auf Kanal ch# (der selbe, wie Ihr oben beim Ausgang auf “Project GR In” eingestellt habt) empfängt und überträgt. Oder benutzt einfach die “Lernen”-Funktion, in dem Ihr die MIDI-Spur mit den MIDI-CC Daten Solo stellt und den Part abspielt :wink:

Unten stellt Ihr ein, welches Bedienelemt in Cubase dieser MIDI CC dann steuert, und da wählt Ihr einfach den Mixer, den HALionONE Kanal, in diesem dann die EQs und da den Parameter “EQ1 frequ”

ét voilà: Wenn Ihr alles richtig gemacht habt, dann steuert Ihr jetzt mit MIDI cc#x auf MIDI channel#y am Port “Project GR In” die Frequenz des EQ1-Bands im HALionOne-Kanal.

Und außerdem sind Änderungen an der Frequenz des EQ1-Bands als MIDI cc#x-Daten auf MIDI channel#y über Port “Project GR Out” verfügbar, können aufgenommen werden etc…




Blöd ist nur, wenn Ihr VOR dem HALionOne Kanal eine Mixer-Spur einfügt oder löscht. Damit verschieben sich nämlich die Kanäle und der generische Controller steuert dann den falschen Mixer-Kanal an.
(Vielleicht fällt jemanden ja was ein, wie man die Kopplung MIDI-CC <-> Parameter im Genrischen Controller “statischer” machen könnte, so dass es keine Auswirkung mehr hat wenn Kanäle eingefügt oder gelöscht werden…?)

Im übrigen könnten man so mit einer MIDI-Spur in Cubase, das ganze Cubase fernsteuern, oder all seine Arbeiten in Cubase auf einer MIDI-Spur aufzeichnen… :wink:

Super Danke!!!
Spitze Anleitung!
:mrgreen:

mir ist jetzt dazu was eingefallen.

ich gehe jetzt SO vor:

Ich hab die Spuransicht im Projektfenster eh geteilt. (oben sind Tempotrack, Arranger-Spur, Marker-Track, unten meine eigentlichen Spuren.
Oben hab ich jetzt eine Ordnerspur angelegt, die “Project GR” heißt, und 16 MIDI-Spuren enthält (“Project GR ch#01” - “Project GR ch#16”). Dieser Ordner und seine Midispuren sind immer die ersten Spuren im Projekt.

Dann hab ich mir eine Generic Remote eingerichtet. Diese empfängt auf dem Loopback MIDI port “Project GR playback”, und sendet auf dem Loopback MIDI port “Project GR record”.

oben richte ich mir 8 Steuerelemente “Project GR ch#01 cc#20” bis “Project GR ch#01 cc#27” ein, die MIDI CC daten für die CC#20 - #27 auf MIDI ch#01 empfangen und übertragen (flags setzen).

Unten bestimme ich, dass das Steuerelemente “Project GR ch#01 cc#20” im Mixer-Kanal “Project GR ch#01” den QuickControl-Parameter1 steuert, der “Project GR ch#01 cc#21” steuert in diesem Kanal den QuickControl-Parameter2 und so weiter.

Und das ganze mache ich für 16 Kanäle. Jeweils 8 MIDI CC (20-27) pro Kanal (01-16) steuern die QuickControl-Parameter (1-8) des Mixerkanals Project GR ch#(01-15)

Egal wie ich jetzt Spuren erzeuge, oder lösche, oder umsortiere, die ersten 16 MIDI-Kanäle in der GR bleiben die selben.

In diesen 16 Kanälen richte ich mir dann ganz bequem in den QuickControls die Parameter irgendeines Plugins ein, dass ich per MIDI steuern will.

Zum Beispiel im “Kanal Project GR ch#01” das QuickControl1 steuert nen Cutoff-von nem Filter.

Auf irgendener MIDI-Spur zeichne ich ne MIDI-CC-Kurve (oder in C6 jetzt auch Note Expression Daten) für CC#20 und sorge dafür dass diese Daten entweder im Ausgang der MIDI-Spur, oder per MIDI-Send-FX an den Kanal ch#01 des Ports Project GR playback" geroutet sind. Damit steuert dieser MIDI CC#20 QuickControl1 auf Kanal Project GR ch#01, und diese QuickControl ja wiederum meinen Cutoff.

Ich kann per QuickControl-Einstellungen, ohne ständig in der Generic Remote rumwurschteln zu müssen ganz einfach irgendeinen Parameter einstellen, denn ich dann mit nem CC#20-27 auf dem richtigen MIDI Kanal des “Project GR playback” ports steuern kann.

Und aufnehmen natürlich.

Lustig: Die QuickControls können ja wieder anderen “echten” externen MIDI-Controllern zugwiesen sein :wink: Ich kann also damit die QuickControls beliebig als MIDI oder als Automation aufzeichnen und wiedergeben und gleichzeitig mit irgendeinem Controller physisch fernsteuern.

Der generische Controller bleibt für alle Projekte der gleiche, der steuert ja pauschal nur die QuickControls, keine VST-Parameter, die sich von Projekt zu Projekt unterscheiden.

Etc.

Ich glaub, das ist die beste Lösung. Und sobald man das Schema raus hat, macht es echt Spaß mal eben fix irgendeinen Parameter auf die QuickControl zu legen (geht ja recht fix jetzt in C6, aber auch schon in C5) und den dann pro Note (per Note Expression in C6, oder per Controller-Lane) per MIDI-CC zu steuern!

Big Big Thnx!!!

im Anhang:
ein Generischer Controller
für einen MidiLoopBack(Treiber /zB.: loopMidi)auf
ein Spurarchiv welches Spuren mit den QuickControls für den Generischen Controller enthält.



Einfach Midi-Out einer gewünschten Midi-Spur auf den MIDIloopBack port (der als Eingang bei den “Generischen Controller” verwendet wird) hängen und mit der CC-Nummer wählen welchen QuickControl (vom Spurarchiv CC Nummer = Spur zb.: cc7 = Spur"0-7" [=1. Spur ganz oben]) man verwenden will, anlernen…

Lg
QC.zip (43.9 KB)