First project - trying to move on from MidiPipe

I’m trying Midi Translator demo for the first time. I want to remap a number of of midi notes to different notes.

So far it looks like I have to create a Translator entry for every note I want to remap. But also I need to duplicate it and create a note off too?

I tried using a Variable that would capture whatever note was processed and just turn off the note that way but so far that hasn’t worked.

Any tips for a newbie?

Hi and welcome to the Bome community!

Well that is one way to do it, but I prefer to use less translators and more rules.

In the below example I look at any incoming message and then with rules determine if it is a note message. If it is, I transpose it up one octave (unless it is already the highest octave).

I use raw MIDI to do this, so I only use one translator and it is good for either note-on or note-off

For input I use raw midi ‘oo pp and qq’ which are local variables.
For output I use raw midi ‘oo tt and qq’ which are also local variables.

Here are the rules:

// Look for note on or note off
// AND with 0xE0 and if it is 0x80 then it is a note-on or note-off
// Note a note message, exit
if rr!=0x80 then exit rules, skip outgoing action
// higest note
//Map note number transpose up one octave
if pp<rr then tt=pp+12
// Otherwise just send it
if pp>=rr then tt=pp

Then I set up a MIDI router to let all other MIDI message pass through untouched.


I set up my aliases as follows for testing.

You can learn more about aliases from this tutorial.

I set my device selection at the preset level.

For more information about device selection, see this tutorial.

If you want more complex rules, you can use a series of if statements instead of my formula. For instance:

// set default if all rules below are not true
// override 
if pp=23 then tt=45
if pp=24 then tt=51
// etc

Transpose-Notes.bmtp (1.2 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: