Unable to filter MIDI by channel


I am a new user of Bome MIDI translator Pro.

I would like Bome MIDI to filter all MIDI messages of any kind from a channel to send them to a dedicated port. It includes all notes ON/OFF, channel controlers, program changes, etc...

I am very surprised I cannot do that using a simple user option in the subtype of a midi message. I used to do it with MIDIOx with no effort.

Is there a simple way to do this without missing a kind of message ? Maybe a translator with : - raw midi/Sysex message type - midi message : "pp qq rr" to capture only the first bytes - rules : extract channel number to filter (I may include too many cases) ss=pp%16 if ss!=10 then exit rules, skip Outgoing Action - outgoing send midi message with content=pp qq rr

Does the content=pp qq rr send the full midi message in all cases with following parameters ? Do I have to create multiple translators for any length or type of message ?

It is hard for me to understand how to process this case. Could you help me ?

If you turn off your default MIDI routes and the only create translators for messages you want to send through, you can do this. You can set input to pp qq rr and then evaluate the channel . For instance MIDI channel 3

// mask channel


if tt==2 then exit rules, skip outgoing action

Or you can only let channel 3 through

if tt ==3 then exit rules, execute outgoing action

Outgoing Raw pp qq rr

If the outgoing action is executed, yes all variable defined in the outgoing action will be sent.

MIDI CC , program changes and Note messages are 3 bytes so you can do that with a single translator.

Any MIDI message with a different number of bytes, yes, you will have to check for all incoming bytes for the incoming action.

Steve Caldwell

Bome Q&A Moderator and

Independent Bome Programming Consultant/Specialist



Thanks Steve !

My pleasure, except I forgot that program change is only 2 bytes.