Filtering 2-Byte, 3-Byte and note range

When it comes to MTP Rules, I am still a dummy …
I know how to filter incoming events, but not how to process them in Rules.

Can you please explain the process for:

  1. Every 2-Byte message on MIDI channel 13 is valid.
  2. Every 3-Byte message on MIDI channel 13 is valid.
  3. Every note on MIDI channel 2 with velocity 1 in the number range 60-65 is valid.

(should go into 3 different Translators)

Hi Peter,

The attached should work. Preset 1 “Process MIDI” has the translators you are looking for.

1.0 handles the 2 byte messages and 1.1 handles the 3 byte messages. The rules are the same but the incoming and outgoing are different because they are a different length. I use local variables so that the translators do not interfere with eachother.

Here are the rules:

// look at control byte (mask upper nibble)
rr=oo&15
// Check for MIDI channel 13
// zero based so CH 13 = 12
if rr!=12 then exit rules, skip Outgoing Action


Translator 1.2 handles the note-on messages on MIDI CH 2.

Since there are no MIDI thru paths, nothing else will get through, even note-off on MIDI CH2.

Preset 0 just handles general project initiation and housekeeping.

Fither-messages-2026-07-24.bmtp (2.9 KB)

Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz

Ah, I see.

The mask rr=oo&15 was the key, and I’d also forgotten that I need to exclude (exit) what I don’t want, rather than include what I do want.

For the notes, I was thinking of note number 60-65 in the rules, but that was easy to change.

It works well, thank you!

My Pleasure!

Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz