Wie Parametersprünge unterbinden, die sich aus der MIDI-Auflösung ergeben?

J
JochenCX3
Registrierter Benutzer
Zuletzt hier
14.04.24
Registriert
16.09.05
Beiträge
122
Kekse
490
Tach zusammen,

aus meinem Synthesizer-VST kann ich in meinen Ohren herrliche Filtersweeps erzeugen, wenn sie innerhalb des Plugins z.B. über die Hüllkurve gesteuert werden. Wenn ich ähnliche Filtersweeps aber manuel steuern will, indem ich die Cutoff-Frequenz des Filters einem Drehknopf meines Controllerkeyboards zuweise und langsam an diesem schraube, höre ich je nach Einstellung deutlich, dass die MIDI-Auflösung von 127 Schritten ein richtiges Gleiten des Filters verhindert. Statt dessen wird aus einem Filtergleiten quasi eine Filtertreppe. Ich kann zwar den Regelbereich des Drehknopfes für die Cutoff-Frequenz in meinem VST-Host nach belieben begrenzen und damit diesen Effekt entsprechend minimieren, aber damit beschränke zugleich die Möglichkeit auf die ganze Filterbandbreite mit dem gleichen Drehknopf zugreifen zu können.
Gibt es dafür eine Lösung? Z.B. ein Plugin, welches ich vor mein Synthesizer-VST schalten kann oder ein VST-Host, der dies kann? Ich benutze VST-Host von Hermann Seib.

Bis dahin
 
Eigenschaft
 
Nein, das funktioniert so erstmal nicht. 127 Schritte sind 127 Schritte.

Die einzige Möglichkeit, die es gibt, ist ein höher aufgelöstes MIDI-Signal zu benutzen, wie z.B. Pitchbend. Pitchbend hat eine Auflösung von 10-12bit und nicht 7bit.
Auf diese Möglichkeit wird oft in DAWs zurückgegriffen. Eine Mackie Control z.B. sendet Pitchbend auf verschiedenen Kanälen, um die Fader einer DAW möglichst genau zu steuern.
 
Wäre es nicht möglich, zwischen Controller und VST-Instrument die 127 Steps mit einem zwischengeschalteten "Software-Helferlein"so zu interpolieren, dass daraus etwas "smoothere" Übergänge / feinere / weniger hörbare Steps werden?

:gruebel:
 
Wie sollte das funktionieren? Wenn du 127 auf 4096 interpolierst, hast du doch die gleichen Probleme.

Eventuell kann man mit zwei CCs arbeiten, indem man diese miteinander multipliziert. Ob es da allerdings ein Plugin gibt, weiß ich nicht. Beispiel:

CC100 - Wert 1 + CC101 - Wert 1 = 1
CC100 - Wert 1 + CC101 - Wert 127 = 127
CC100 - Wert 2 + CC101 - Wert 100 = 200
CC100 - Wert 2 + CC101 - Wert 127 = 256

Könnte kompliziert werden. Eventuell hilft auch ein Blick in das Thema HighRes-Velocity, wo ebenfalls mit CCs gearbeitet wird. Pianoteq unterstützt das ja.
 
Danke für eure Überlegungen. Ich habe bei meinem Moog-Modular-VST jetzt ein Sample-and-Hold-Baustein verwendet, um das Problem zu lösen. Ist zwar lästig, dies bei meinen verwendeten Bühnensounds jeweils einzustellen, klappt aber.

Falls doch jemand noch andere Lösung weiß, bin ich neugierig diese zu erfahren.
 
Wie sollte das funktionieren? Wenn du 127 auf 4096 interpolierst, hast du doch die gleichen Probleme.
Nicht unbedingt. Die Sprünge hört man ja am ehesten bei Filterfahrten. Da hilft eine Interpolation und Tiefpaßfilterung durchaus (spiel mal ein Glissando mit und ohne Portamento ;) ).

Mir wäre jetzt nur kein Plugin bekannt, was das macht - und man muss sich irgendwann entscheiden, ob man auch bei sehr langsamen Änderungen die Stufen wegbügeln möchte, oder ob die Interpolation auch bei sehr schnellen Drehs möglichst schnell folgen soll...
 
Grundsätzlich ist erst mal zu unterscheiden, ob das Plugin die MIDI-CCs selbst interpretiert, oder ob der Plugin-Host, also die DAW, die MIDI-Daten in Plugin-Parameterautomation umwandelt. Wenn du MIDI-Learn für die Zuweisung MIDI-CC->Paramter in der GUI des PLugin selbst durchgeführt hast, ist höchstwahrscheinlich ersteres der Fall. Wenn du dagegen die Paramterautomation der DAW verwendest und dieser den MIDI-Cc zugeiwsen hast, eher letzteres. Im zweiten Fall hängt es dann davon ab, wie groß die Auflösung des entsprechenden Parameters (Filter-Cutoff) ist. Das hängt von der Implementierung des Plugins ab, der VST-Standard gibt dem Entwickler da Freiheit. Meistens sind Parameter aber als float oder double Datentypen implementiert, so dass man damit auf jeden Fall eine höhere Auflösung als die 7 Bit bei einfachen MIDI-CCs hat. Wie oben schon gesagt, wenn der MIDI-Controller nur einen einfachen MIDI-CC mit 7 Bit Auflösung sendet, hilft das aber erstmal nichts, der Host müsst dann die Parameterwerte zwischen den empfangenen MIDI-CC-Werten interpolieren. Wenn die DAW die Steuerung von Parameterautomation mit high-resolution CCs oder NRPNs erlaubt, hätte man dagegen eine Auflösung von 14 Bit.

M.W. ist die Interpolation von MIDI-Werten bei Plugin-Softwareentwicklung allerdings durchaus üblich.
 

Ähnliche Themen


Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben