Old 06-20-2010, 01:26 AM   #1
webGandalf
Human being with feelings
 
Join Date: May 2010
Posts: 7
Default Midi Note Off ausfiltern

Hallo zusammen

Ich suche nach einem Weg innerhalb eines Midi-Tracks das "Note Off" Event auszufiltern. Mir ist bewusst, dass das bei bspw. bei Syntis gefährlich sein kann. Wenn aber Sampels von einer Drum abgefeuert werden sollen, kann dies notwendig werden weil die Drum gleich nach dem "Note On" Event den "Note Off" hinterher schickt.

Im Moment mache ich das, indem ich MIDI-OX vorschalte und dort das "Note Off" Event ausfiltere und auf einen Virtuellen Midi-Port route. Ich würde das aber gerne direkt mittels einem FX im entsprechenden Track innerhalb von Reaper machen.

Gibt es da eine Möglichkeit? Alle Midi-Filter die ich finde sind nur auf reine Tonhöhen anwendbar und nicht auf Events.

Grüsse Dieter
webGandalf is offline   Reply With Quote
Old 06-20-2010, 04:04 AM   #2
gofer
Feeling human with beings
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,439
Default

Man könnte sicherlich ein JS plugin stricken das Note-Offs (und Note-On velocity=0) rausfiltert, aber üblicherweise würde man dem Sampler sagen dass er das betreffende Sample im sogenannten "One Shot" Modus abspielen soll. Das heisst, dass das Sample nicht von einem Note-Off abgebrochen wird, sondern bis zum bittren Ende durchgespielt wird.
Das ist wesentlich ungefährlicher als Note-Offs komplett rauszufiltern. Ich kenne keinen Sampler der das nicht kann. Normalerweise ist es ein Abspielparameter auf Sample-Basis.
In Cockos' ReaSamplomatic heisst es "Obey note-off messages".
gofer is offline   Reply With Quote
Old 06-20-2010, 04:09 AM   #3
Mich
Human being with feelings
 
Join Date: May 2009
Posts: 1,265
Default

Diese JesuSonic Script File sollte tun was du willst:
Code:
desc:No note off

@block

while(
  midirecv(offset,msg1,msg23) ?
  (
    (msg1&$xF0) != $x80 ?
          midisend(offset, msg1, msg23) : 1;
  );
);
Mich is offline   Reply With Quote
Old 06-20-2010, 04:18 AM   #4
webGandalf
Human being with feelings
 
Join Date: May 2010
Posts: 7
Default Meine Lösung

Herzlichen Dank Ihr beide.

Ich verwende DigiDrum Pro welches leider keinen "On Shot" Modus kennt. Habe mich deshalb vorhin selber an ein JS Script gewagt - Mein erstes

Herausgekommen ist jetzt das folgende:
Code:
desc:"Note Off" Events will filter out for the Track

slider1:0<0,2,1{-,All Notes Off}>PANIC: All Notes Off

@init

@slider
  slider1 == 1 ? (
    panic = 1;
  );

@block
  while (
    panic == 1 ? (
      midisend(ts,$xB0,123|(0*256));
      midisend(ts,$xB1,123|(0*256));
      midisend(ts,$xB2,123|(0*256));
      midisend(ts,$xB3,123|(0*256));
      midisend(ts,$xB4,123|(0*256));
      midisend(ts,$xB5,123|(0*256));
      midisend(ts,$xB6,123|(0*256));
      midisend(ts,$xB7,123|(0*256));
      midisend(ts,$xB8,123|(0*256));
      midisend(ts,$xB9,123|(0*256));
      midisend(ts,$xBA,123|(0*256));
      midisend(ts,$xBB,123|(0*256));
      midisend(ts,$xBC,123|(0*256));
      midisend(ts,$xBD,123|(0*256));
      midisend(ts,$xBE,123|(0*256));
      midisend(ts,$xBF,123|(0*256));
      slider1 = 0;
      panic = 0;
    );
  );

  while (
    midirecv(ts,msg1,msg23) ? (
  
      statusHi = (msg1 / 16) | 0;
      statusLo = msg1 - (statusHi * 16);     

      data2 = (msg23 / 256) | 0;
      data1 = msg23 - (data2 * 256);
      
      statusHi != 8 ? (
        data2 != 0 ? (
          midisend(ts,msg1,msg23)
        );
      );
    );
  );

@sample
Scheint zu funktionieren...
Und sollte es doch einmal passieren, dass dieses Script am falschen Ort eingesetzt wird und es zu Endlostönen kommt habe ich gleich noch versucht eine Panic-Funktion einzubauen. Bei mir scheint sie zu funktionieren. Ich hoffe das trifft auf alle Situationen zu, die ich mit diesem Script verursachen könnte.

Wenn da jemand noch einen Fehler findet bin ich natürlich für hilfe Dankbar.
Andernfalls ist jeder dem das dient herzlich eingeladen es selber zu verwenden.
webGandalf is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 10:31 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.