Breathcontrollerdaten CC2 in Anschlagdynamik on the fly umwandeln

Wenne eine Note einmal abgefeuert ist kann nachträglich die Velocity nicht mehr verändert werden, also innerhalb einer klingenden Note kann da nix mehr umschalten. Das geht dann nur noch durch CC1 bzw. CC11, wenn das Instrument entsprechende Crossfades programmiert hat (was die allermeisten heutigen Orchesterlibraries haben).

Meine Rede. Velocity ist untrennbar mit Note Ons/Offs verbunden (bei Note Off dann eben Release Velocity, üblicherweise ein Velocitywert 0).
 
Ich glaube, so MIDI-Akkordeon-Spieler schlagen sich mit sowas häufig rum, denen helfen dann auch die besten Multilayer-Patches nicht.

:)
woher weißt Du?
Ich bin so einer.
Und obwohl ich mit den Tasten Velocity erzeugen kann, bin ich darin ungeübt und habe es sehr gern, wenn ich zb. Harfe spiele eine schnurgerade Velicitykurve mit dem Balg erzeugen zu können.

Es macht für mich durchaus Sinn.
In dem Fall wird der Cc auch danach gefiltert um den Ausklang nicht zu beeinflussen.
 

Ich hab' mal im Theater mit 'nem (mittlerweile leider vieeel zu früh verstorbenen) MIDI-Akkordenspieler zusammengearbeitet. Damals ging's gerade mit virtuellen Instrumenten los und wir haben die Möglichkeiten erörtert, wie man da jetzt multigelayerte Samples ansteuern könnte. Logics EXS war da gerade rausgekommen - und der bietet eben als Modulationsziel auch "Sample Select" an. Bei den meisten Patches ist das natürlich auf Velocity als Quelle gesetzt, kann man aber halt auch umschalten. Das haben wir dann versucht, und als Quelle eben die CCs gesetzt, die der Balg aussendet. Dafür musste man aber, damit es halbwegs klappt, das Patch an sich noch mehr oder minder umfangreich umbasteln, indem man großzügige Velocity X-Fades definierte.

Es macht für mich durchaus Sinn.
In dem Fall wird der Cc auch danach gefiltert um den Ausklang nicht zu beeinflussen.

Welcher CC wird gefiltet? Velocity ist doch kein CC...
 
War das Klaus Bruder?


Welcher CC wird gefiltet? Velocity ist doch kein CC...

Na der CC, der als Velocity umgewidmet wird.
Falls es 11 ist, sollte der dann nicht mehr erscheinen weil er sich sonst doppelt und den Ausklang des Klaviers oder der Harfe mit beeinflusst.
Es ist grausam, wenn man die ganze Zeit konstant ziehen muss (oder eben blasen) um den Ton aufrecht zu erhalten. Das sehe ich nur bei Strings oder Bläsersounds ein, aber nicht bei Vibraphon.
 
... Im wesentlichen habe ich ja EastWest und Kontakt Zeugs im Einsatz. Ich habe halt keine Lust jedesmal zu versuchen die Patches umzuprogrammieren (in Kontakt habe ich es Mal versucht und bin gescheitert. ...

Zu EastWest kann ich nichts sagen. Aber zumindest für Kontakt gäbe es die simple Lösung, einmal ein Multi-Script zu erstellen, was dann allen Kontakt-Instrumenten vorgeschaltet werden kann. Kontakt bringt schon einige Factory-Scripts mit, die in die Richtung gehen, z.B. "Change Velocity" oder "Transformer". Der Programmcode ist relativ einfach zu verstehen, und auf der Basis könnte man wahrscheinlich mit beherrschbarem Aufwand Dein Wunsch-Script programmieren.
Transformer.jpg
 
Na der CC, der als Velocity umgewidmet wird.

Aber man kann doch gar keinen CC in Velocity umwandeln. Das geht allein schon aufgrund der MIDI-Spezifikation nicht (bzw. macht es keinen Sinn, da Note On zwingend einen Velocity-Wert beinhaltet).

(War übrigens nicht Klaus Bruder)
 
Das hat er ja schon.
Es ging um noch weiter vorn in der Kette.
 
Der Programmcode ist relativ einfach zu verstehen, und auf der Basis könnte man wahrscheinlich mit beherrschbarem Aufwand Dein Wunsch-Script programmieren.

Ja, aber nicht CC2 in Velocity. Also zumindest nicht so, dass es etwas bringt.
In der MIDI-Sprache besteht ein Note On Befehl zwingend aus einem Velocity-Wert (so wie Note Off üblicherweise aus einem Velocity = 0 Wert besteht). Man kann den natürlich modifizieren. So wäre vielleicht ein Script denkbar, dass sagt "wenn CC2 höher als 64, erhöhe bitte alle Velocities um Faktor X". Ich habe keine Ahnung, ob das wirklich geht, ist aber nicht relevant. Denn unterm Strich bleibt, dass der Velocity-Wert nur ein einziges Mal gesendet (bzw. vom Empfänger auch nur einmal überhaupt verrechnet) wird, das ist bei Note On. @ModulationMatrix schrieb das ja schon, wenn die Note erst einmal gesendet ist, würde selbst wenn es funktioniert, ein gesendeter Velocity-Wert nichts am Ausklang ändern - bzw. würde der einfach die Note neu triggern.
 
[/QUOTE]

Stellt euch vor, ihr spielt nen Flügelsound einer Ballade und alle Midievents in Sachen Anschlagdynamik sind bei 127, egal wie man spielt. Ist grausig unnötig und ineffektiv.

[/QUOTE]

im einem solchen Fall erfolgt die Bearbeitung der velocity per Stiftwerkzeug: schneller, einfacher, genauer.
 
Doch das geht, hast Du doch selbst gemacht damals?

Nein, habe ich nicht. Wir haben die Balg CCs anstelle von Velocity zum Umschalten der Layer benutzt. Das ist aber was ganz anderes.

Nochmal: Die MIDI-Spezifikation gibt es nicht her, dass aus diesem Vorhaben irgendetwas Sinnstiftendes resultiert. Selbst *wenn* die Umwandlung klappen sollte, so ist ein Velocity-Wert immer auch identisch mit einem Note-On (bzw. bei Wert 0 identisch mit einem Note Off). Ich wüsste im übrigen auch von keinem einzigen Tool, was Velocitywerte ohne weitere Noteninformationen sendet.
 
im einem solchen Fall erfolgt die Bearbeitung der velocity per Stiftwerkzeug: schneller, einfacher, genauer.

Naja, ich glaube, es ging schon um das direkte Spielen. Aber ändern tut das auch nix. Wenn man schon ein Keyboard hat, dass nur fixe Velocitywerte sendet (kann eigentlich nur was in Richtung Orgel oder Akkordeon sein), dann muss man sich, wenn man auch beim Einspielen Dynamik haben will, mit CCs zufrieden geben. Bei 'ner Orgel gibt's dafür das Gaspedal, bei einem Akkordeon den Balg.
 
Aber schätzungsweise geht es @mazze nur um percussive Sounds, man muss doch an die entsprechenden Samples herankommen, also muss auch der CC in Velocity übersetzt werden.

Von perkussiven Sounds war ja bisher nicht die Rede - da halte ich einen Breath Controller aber eh für eine seltsame Sache.
Und für Sustain-Sounds ist es eben äußerst fragwürdig, ob das was bringt, denn wirklich komplett übergangsloses Zonenswitching gibt's in den meisten Fällen einfach nicht.

Was ich mich die ganze Zeit übrigens frage, @mazze: Willst du die Sachen denn dann gar nicht per Keyboard einspielen? Denn wenn doch, dann sehe ich nicht, was das Steuern per Breath Controller für Vorzüge liefern soll.

Und noch eine Anmerkung, vermutlich schon Grund genug, warum dieser Ansatz zum Scheitern verurteilt ist:
Wenn du eine MIDI-Note sendest, dann wird der Velocitywert da frei Haus mitgeliefert, selbst dann, wenn du die Ausgabe auf "fixed" einstellst. In der Praxis sähe das dann eben so aus, dass du eine Note anschlägst und dann damit den Velocitywert für den Notenstart lieferst. Wenn du jetzt danach in deinen Breath Controller bläst, wird das mit an Sicherheit grenzender Wahrscheinlichkeit ein anderer Wert sein. Das ist ja schon mal nicht wünschenswert - wenn es denn überhaupt klappt, denn abgesehen davon wird sich dann auch ohnehin nix ändern, da das MIDI-Format Velocity eben *nicht* als Continuous Controller vorsieht, sondern als einen Wert, der unverrückbarer Teil der Noteninformation ist. Und das ist pro gespielter Note eben genau *ein* fixer Wert. Sprich: Selbst dann, wenn es dir gelingen sollte, CC2 in Velocity umzuwandeln, wird während einer ausklingenden Note exakt nichts passieren. Velocity *braucht* zum Transport zwingend eine Note. Und umgekehrt wird eben auch per MIDI-Definition zwingend ein Velocity-Wert mit jeder Note ausgesendet. Das heißt dann eben auch, dass, selbst wenn du erst in das Dingens reinpustest und dann eine Note spielst, der Velocitywert quasi überschrieben wird.
Aus genau diesen Gründen kann und wird das nicht über Velocity funktionieren. Und aus genau diesen Gründen bieten das Eingangsumwandler auch nicht an.

Vielleicht mal hier gucken:
https://de.wikipedia.org/wiki/Musical_Instrument_Digital_Interface#Nachrichtentypen
Zum "Note On" Befehl steht da exakt das, was ich soeben schrieb. Da wird einfach der Velocitywert mitgesendet. Mir ist im übrigen auch kein Filter bekannt, mit dem man das eliminieren könnte. Man kann Velocities zwar modifizieren (andere Kurven, "fixed") aber nicht eliminieren, weil es eben untrennbarer Bestandteil der Note On Information im MIDI-Format ist.
Lieber Uwe,

danke für deine Hinweise und Azsführungen Ich will einfach Blasinstrumente realistisch einspielen. Interessant, dass das dich nicht so einfach ist. Mit der Akai Aria Engine und Garritan geht es. Da kann ich laut und leise spielen und auch das Timbre ändert sich. Mir gefallen aber nicht alle Garritan Sounds. Die midispur einfach auf ein anderes VSti routen bringt nichts. Da werden Lautstärke und Timbre nicht berücksichtigt.
 
Ich will einfach Blasinstrumente realistisch einspielen. Interessant, dass das dich nicht so einfach ist. Mit der Akai Aria Engine und Garritan geht es. Da kann ich laut und leise spielen und auch das Timbre ändert sich.

Ja, das kann ja alles sein. Aber der Mechanismus dahinter ist ein ganz anderer. Das EWI erzeugt erst einmal eine Notenvelocity auf Basis des Anstoßes, der Rest des Atems wird dann als CC ausgegeben. Und entsprechend vorkonfigurierte Sampler-Patches gehen dann eben mit beidem um. Aber das muss zwingend direkt beim Empfänger passieren.
 
Ich will einfach Blasinstrumente realistisch einspielen. Interessant, dass das dich nicht so einfach ist. Mit der Akai Aria Engine und Garritan geht es. Da kann ich laut und leise spielen und auch das Timbre ändert sich.

Ja, das kann ja alles sein. Aber der Mechanismus dahinter ist ein ganz anderer. Das EWI erzeugt erst einmal eine Notenvelocity auf Basis des Anstoßes, der Rest des Atems wird dann als CC ausgegeben. Und entsprechend vorkonfigurierte Sampler-Patches gehen dann eben mit beidem um. Aber das muss zwingend direkt beim Empfänger passieren.
Ja. Und ich suche die Universallösung, die es wohl nicht gibt. Dachte so ein netter MidiWizard verzaubert den Input mundgerecht für alle VSTi und der kleinste Nenner ist Mal die Velocity.
 
Ja. Und ich suche die Universallösung, die es wohl nicht gibt. Dachte so ein netter MidiWizard verzaubert den Input mundgerecht für alle VSTi und der kleinste Nenner ist Mal die Velocity.

Aktuell geht das eben aufgrund der MIDI-Spezifikation nicht. Und ob sich hinsichtlich genau der Problematik mit MIDI 2.0 etwas ändert, wüsste ich nicht, würde es aber bezweifeln. Wobei der Standard ja auch schon um MPE erweitert wurde. Aber das sind für mich auch eher nachvollziehbare Dinge. Kannst ja mal gucken, ob bei MIDI 2.0 was dabei ist:
https://www.midi.org/specifications-old/category/midi-2-0-specifications-v1-1
 
Ansonsten, als Lösung für jetzt: Wie @ModulationMatrix (u.a) schon schrieb, bieten mittlerweile fast alle Sample Libraries irgendeine Option, das Timbre (oder auch nur ganz schnöde die Lautstärke) mehr oder minder weitgehend in Echtzeit zu beeinflussen, in den meisten Fällen per CC1 oder CC11. Für die beiden müsstest du dir dann halt Eingangsumwandler bauen, was aber ein Klacks ist und sich per Preset ja auch nochmals einfacher gestaltet. Für die initiale Velocity brauchst du aber, so wie's aussieht, nach wie vor einen entsprechenden Tastendruck - das ist sicherlich bedauerlich, denn wenn man schon so'n Breath Controller hat, wäre es natürlich schick, auch die Anfangsvelocity damit steuern zu können- Vielleicht gibt's ja sogar Breath Controller, die das können, aber auch die müssten dann erstmal einen Input von deinem MIDI-Keyboard bekommen bzw. müsste das im Rechner von einem Zusatzprogramm gemerged werden.
 
... Und ich suche die Universallösung, die es wohl nicht gibt. Dachte so ein netter MidiWizard verzaubert den Input mundgerecht für alle VSTi und der kleinste Nenner ist Mal die Velocity.

Das Problem ist. dass die Blaswandler-CC-Daten zu völlig anderen Zeiten gesendet werden als die Note-on/off-Daten.
Der Transformer von Cubase kennt (bisher) leider keine Variablen als Zwischenspeicher.
Es gibt im Transformer-Befehlsvorrat zwar das Ereignis "Letztes Event", mit dem zurückliegende Controller-Signale ausgewertet werden können. und daraufhin die Velocity eines nachfolgenden Notensignals verändert werden kann. Aber halt nur mit Festwerten oder festen Multiplikatoren, siehe mein erster Beitrag.

Wenn Du mit Kontaktinstrumenten arbeitest, wäre eine im Multibereich platzierte Scriptlösung denkbar, die für alle Instrumente angewendet werden könnte, siehe oben. HALion besitzt ebenfalls eine Scriptengine, die allerdings wieder auf einer anderen Sprache basiert (Lua).
 
Das Problem ist. dass die Blaswandler-CC-Daten zu völlig anderen Zeiten gesendet werden als die Note-on/off-Daten.
Der Transformer von Cubase kennt (bisher) leider keine Variablen als Zwischenspeicher.

Das wäre natürlich interessant, sowas zu haben. A la "warte mit der Notenausgabe, bis beide Daten eingetrudelt sind". Quasi ein selbstgebautes EWI. Würde aber, selbst wenn die CCs dann die Velocity des Keyboards ersetzen würden, nicht wirklich hinhauen, denn im Verlauf des gehaltenen Tons will man dann ja auch noch per Luftdruck das Timbre variiieren. Dafür müsste dann immer zwingend der Breath Controller vor dem Notenwert eintreffen, sodass nach Umwandlung in Velocity der weitere Luftstrom wieder ungehindert als CC läuft.
 
Sascha ich verstehe die Unterscheidung nicht.

Du hast einen aktuellen Cc von 76.
Folglich wird die aktuell getriggerte Note in Velo 76 gestartet.
Nebenbei gibt es entweder keine zusätzlichen Controller, weil der eigentliche Controller umgerechnet und eliminiert wird (für Percussives) oder er bleibt bestehen und beeinflusst die folgende Sustain Lautstärke. (Strings usw.)

Was so nicht funktioniert ist die nachträgliche Überblendung verschiedener Layers. Aber es ist auch auf diese Weise nicht sinnlos und schon garnicht unmöglich.

Die Skripte und Bome Translator machen das doch?
 

Oft gelesene Themen

Zurück
Oben