Changing midi note to another midi note

how to convert midi note to another midi note but has different value?
my midi note format is came from yamaha dtx700 module and has 6 digits on it when captured by my vst in its midi monitor tab (and i dunno what it means refer for each digits)but its only show as two digits in midi learn tab. plz appologized my english, hope u able to understand it n give us some enlighment. thanks.

Hi, if you hook up to MT Pro, and monitor incoming, you should see what it is sending.

It will look something like 9x yy zz Where x, y an zz are each 0-9 or A-F.

the 9 represents a note-on message
the x is the MIDI CH number 1-16 (0-9 or A-F)
The yy is the note number which would be between 00 and 7F
The zz would be the note velocity which would also be between 00 and 7F

So to change note 0 on MIDI CH 1 with velocity 127 (7F hex)

90 00 7F

To note 1 on MIDI CH 1 with velocity 127

90 01 7F

For incoming, it would be

90 00 qq

In outgoing it would be

90 01 qq

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

looks like i have to add one more midi conversion from a single midi note.
I tried to make two translator rom a single midi input, my goal is to have two output (one is midi note identically same as input, an d the other is MIDI CC). but my log windows is still showing only one input and one output…where did i miss???
Or maybe we is it possible to have one midi note with midi CC on it??
Plz help…thanks b4

Could you post your project example file. I will look and let you know.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Ok…here it is Steve… DTX-1.bmtp (1.3 KB)

OK, assuming your note is coming in in MIDI CH10 since you say it is a drum. I have set up input as
99 pp qq
The first 9 is note on, the second 9 is for MIDI CH10. If you need a different MIDI channel, change it.
MIDI CH 1-9 = 0-8 MIDI CH 10-16 - 9 a b c d e f

You had aa as an input which is an MIDI Aftertouch message on MIDI CH 11, “aa” cannot be used
as a variable.

You had the preset outputting to 3 MIDI ports so I just set it to send to just one (Bome MIDI Translator Virtual 1).

Let me know if this does the trick.

DTX-1-sjc.bmtp (1.2 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Thak for ur help steve…but it still wont work as i expcted.
but now thers two output on it…i assumed output no.1 is midi note n output n 2 is MIdi CC right?
but in my vst it capture different mdi cc, every time i hit the pad. it should be always CC16.
How can i fix it?thanks

In the rules of the CC translator change them to read


Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Ok, thanks.
one more question steve…can we use the output from one bome preset as an input for another preset???

some kind of loopback i assumed. Thanks

No, however you can capture the input in a global value and then the output action could be a timer. The timer could read the global variable and then do something else for an outgoing action.

sory …i cant get it???
So is it…in the first preset i should create a new translator that set timer as outgoing? (whats the incoming?)
i te 2nd preset i create a new translator that set timer as incoing and set outgoing as midi note as final result thats send to my vst?
is it right?

If you can describe what outgoing step you want to pass as incoming to another translator, could you explain exactly what you are trying to do? Why not just create a new translator with a different outgoing action?

Ok Steve…let me explain :
my xp80 doestn have the positional sensing…so anywhere i hit it…it always trigger one articulation only which is always center.
i think it can be solve with hardware upgrade. but after i look in their website…its a matter of technoloy patent i guess…which is uncontrolable for me.
So i try to solve it by manipulatng midi send (midi note). At first i thought by giving a midi CC will solve the case…but it wasnt sensitive enough…
So try to manipulated using midi note +midi CC=new midi note.
thats why i need loopback methode…CMIIW ,thanks

OK, however I’m still not sure what you want to manipulate so I just put some examples here.
Translator 0 is the original incoming message and outoing note
Translator 1 captures the incoming note number into ga and velocity into gb and fires a timer “do stuff”
Tranlslator 2 does nothing. I just use it for documentation purpos
Translator 3 adds 5 to the incoming note number (stored in ga) and sends it out on MIDI CH 1
Translator 4 sends a CC of the incoming velocity (stored in gb) with an outgoing veloicty of 127

You can add as many translators as you like with the incoming trigger of timer “do stuff”. You can even add varying output delays on these translators if you want.

DTX-1-sjc-2020-12-29.bmtp (2.2 KB)

I hope this helps!

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

ok thanks steve… ill modified latesr… btw how to write in rules if var between x and y?

Hi, you can set incoming variables. like oo pp qq
Then in rules you can modify them like this


Then you can use the same variable for output or


If you want to use a different variable for output.
There are 10 local variables (can be duplicated without name collision across different incoming triggers) and 360 globa variables (which are static and can be shared among translators.

The user manual (F1 or help) describes their naming convention for each type.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: