Routing a range of 9 notes to a different range on a different output

Ok so I need to do something similar but not exactly the same.

I need to take a range of 9 note on and off message from a pad and route them in the same order to a different range of 9 notes on a different output to match with something else.

Hi and welcome to the Bome Forum!

First, I split this out to a new thread because it is indeed a different request.

The attached should do what you want. I use a single translator and a little trick I learned so I could use one single translator for both note on and off messages.

I look at the first status byte (local variable “oo”) and AND it with 0xe0 (224 decimal). If the result is 0x80 (128 decimal) then it is either a note-on or note-off message and the translator will work with it. If it is not a note message then the translator is bypassed.

Since I have a MIDI thru route set, all other messages are passed through untouched.

I then look at the note range for the second byte (local variable “pp”) to determine if it is in the target input range. If it is not, the again, I abort the translator.

Finally I add 50 to the incoming note range to produce the outgoing note range. I leave the velocity, untouched.

Here are what the rules look like:

// look for notes only
rr=oo&224
if rr!=128 then exit rules, skip Outgoing Action
// determine input range 9 note range
if pp<5 then exit rules, skip Outgoing Action
if pp>13 then exit rules, skip Outgoing Action

// start output range 50 higher than input range
pp=pp+50

Then the outgoing is the same as incoming but with the modified note number.

Transpose-9-notes.bmtp (1.0 KB)

Hopefully this is something close to what you were looking for.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Stevec,

Thank you so much for taking the time at this detailed responses. Im gonna jump into this today and hopefully get it all figured out. Much appreciated

My pleasure!