View Full Version : Medien-Explorer / Midi Programmchange Befehle Filtern
framus2
11-15-2015, 04:34 AM
Hallo
ich möchte gerne beim Vorhören von Miditracks im Medien-Explorer, die manchmal vorhandenen Programmchangebefehle ausfiltern, um ungewollte Soundwechsel während des vorhöhrens zu verhindern.
Nach dem importieren in den Editor ist es ja kein Problem mehr die Daten zu löchen.
Einen entsprechenden Midifilter, der vor das PlugIn zu schalten ist, habe ich nicht gefunden.
In den Programmeinstellungen bin ich auch nicht fündig geworden.
Eventuell habt Ihr ja schon einen Lösungsweg für mich.
Vielen Dank im Voraus für Eure Mühe
Franz-Willi
Das müsste mit der Filterfunktion im MIDI-Editor (Filter-Button oben links) – oder mit dem "ReaControlMIDI" Plugin funktionieren. :)
framus2
11-15-2015, 10:02 AM
Hallo Julo,
Danke für Deine Antwort.
Doch leider bringen beide Vorschläge keine Lösung. Die Mididaten aus dem Explorer kann man scheinbar nicht durch einen Filter beeinflussen!
Ich stehe tatsächlich vor einem Rätsel!?🤔
Franz Willi
Die Program Changes werden mit dem Projekt bzw. der exportierten MIDI-Datei gespeichert. Sie können im Medien-Explorer, der ja nur ein "Abspiel-Tool" ist, nicht mehr nachträglich aktiviert oder deaktiviert werden. Das geht nur im MIDI-Editor.
Wenn Program Changes nicht mehr im Medien-Explorer wirksam sein sollen, müssen sie VOR dem Speichern deaktiviert bzw. gefiltert werden. Darauf bezieht sich die Filterfunktion im MIDI-Editor. :)
framus2
11-15-2015, 04:17 PM
Hallo Julo,
Du hast recht!
Es ist für mich auch überhaupt kein Problem die entsprechenden Befehle im Editor zu löschen, nach dem ich mich für ein Midifile entschieden habe.
Es ist nur sehr unpraktisch, aus einer großen Anzahl von Mididateien, zb. von WA-produktion, schon im voraus die Programmchange-Befehle aus den Files löschen zu müssen um Sie danach im Medien Explorer mit verschiedenen Sounds eines VSTs ohne ständiges umschalten auf den ersten Sound der entsprechenden Bank hören zu können.
Das macht in meinen Augen den Medien Explorer in Sachen Midi deutlich unflexibel.
Ich bin froh von Cubase nun auf Reaper umgestiegen zu sein, da ich mittlerweile sehr begeistert von Reaper bin.
Aber eben weil ich Denke das Reaper eine so gute DAW mit so vielen Möglichkeiten und Funktionen ist, verwundert mich das oben genannte Problem doch sehr.
Ich hoffe Du verstehst was ich meine und danke Dir für Deine Mühe.
Franz-Willi
nofish
11-15-2015, 04:29 PM
Wenn du einen Track selektiert hast spielt der Medien-Explorer über den selektierten Track ab meine ich.
Wenn du dann in diesem Track vor dem Synth der angesteuert wird einen MIDI-Filter hängst der program changes ausfiltert müsste das doch eigentlich funktionieren oder ? (kann's grad nicht testen)
edit:
Program changes rausfiltern sollte z.B. mit dem midiNotchFilter hier funktionieren:
http://www.thepiz.org/plugins/?p=pizmidi
framus2
11-15-2015, 05:01 PM
Hallo nofish,
Danke für Deinen Tip. Aber genau das funktioniert nicht, jedenfalls nicht bei mir.🤔
Eventuell habe ich ja auch die falschen Einstellungen in dem Midi Filter gemacht. Ich habe jedenfalls eine Menge Einstellungen probiert.
Franz-Willi
nofish:Wenn du einen Track selektiert hast spielt der Medien-Explorer über den selektierten Track ab meine ich.
Wenn du dann in diesem Track vor dem Synth der angesteuert wird einen MIDI-Filter hängst der program changes ausfiltert müsste das doch eigentlich funktionieren oder ?
^^
Einfach unten stehendes Script, als JS-FX (!vor dem VSTi)oder was auch immer im -Plugin Chain- einfügen.
Alle Programm Wechsel (alle Kanäle)
und SysEX Daten(bis zu einer Länge von 128 Byte per -0xF0>0xF7-
werden ausgefiltert.
(natürlich auch während des Vorhörens über den Reaper MediaExplorer)
Programm&SysEx Filter.jsfx
desc:Programm & SysEx Filter V.001 16-11-15
in_pin:none
out_pin:none
// slider Braucht kein Mensch ^^
@init
MidiBuffer = 1000; // Array Adresse
MidiBufferLen = 128; // Array Laenge
status=0; // 0
@block
while ((recvlen = midirecv_buf(offset,MidiBuffer,MidiBufferLen)) > 0)
(
recvlen > 3 ?
(
Status=0; //Dummy und SYSEX Filter
)
:
(
status=MidiBuffer[0] & 0xF0;
status==0xC0 ?
(
status=0; //Dummy Filter Programm Change Alle Kanaele
)
:
(
midisend_buf(offset,MidiBuffer,recvlen); // Sende alles andere
)
)
);
framus2
11-16-2015, 02:48 AM
Hallo ELP,
vielen Dank für Deine Hilfe.
Ich bin begeistert, es hat funktioniert! Wo hast Du das gelernt?
Danke an alle für Eure Hilfe!
Franz-Willi
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.