Hi everyone, new BMT user here
First, I’d like to apologize because it’s going to be a very long post, I hope to make it as clear and detailed as possible.
I’m really enjoying the software so far, I read the whole manual, watch the video tutorial series and I read a lot of different forums to help me with BMT and all of them have been of great help so thank you to all the community. I’m below a novice level and I still managed to do everything I ever wanted to do with my gear thanks to BMT and to all the community on the forum.
Nevertheless, I’m facing a problem to which I still haven’t found a solution yet. For a little bit of context, I’m using a Novation Zero SL MKII as my main controller to control my Roland JV-1080 sound module (it mainly uses Sysex and not CC) via BMT. I managed to program my Novation to control my Roland JV-1080 with all of the parameters I was wishing for such as envelope, fx, levels, tone select and a whole bunch of other stuff.
The only parameter I still can’t figure out how to program through Bome is the Wave bank selection because its sysex is a little different.
For example, here’s how I successfully programmed my Novation Zero SL MKII to control the attack parameter of the Roland JV-1080 via BMT :
Firstly, I route the midi ports accordingly from my JV-1080 to my Novation in the Midi Router section then I create a new translator with the following parameters :
Incoming section :
I select Midi Message and Control Change
I tick the Capture Midi box
I touch my Novation Zero SL MKII encoder so BMT can read the incoming CC message
In the dialog box below, I click on the one that says « Control change on ch… set ‘pp’ to »
In the Value field below, I select «Any value » and I tick the box that says « Set variable to » and I choose ‘oo’
Outgoing section :
I select Midi Message and Raw Midi/ System Exclusive
I tick the Capture Midi box
I touch the desired parameter on the Roland JV-1080 so BMT can read the outgoing sysex message
In the dialog box below, I click on the sysex message
Then, I modify the last values of the sysex message by replacing those with ‘oo’ and ‘pp’ variable. Here ‘oo’ corresponds to the parameter value of the sysex message and the ‘pp’ variable corresponds to the checksum.
For example, an outgoing sysex that looks like this : F0 41 10 6A 12 03 00 10 6E 11 6E F7 with 6E being the attack value and 6E being the checksum will be modified to F0 41 10 6A 12 03 00 10 6E oo pp F7.
I now have to create a rule otherwise my Roland JV-1080 will read an error message because of the checksum not being calculated according to the value increase. I now have to create the following rule :
Rule :
// 03 00 10 6E
pp=0+0x03
pp=0+0x00
pp=0+0x10
pp=0+0x6E
// oo
pp=pp+oo
// calculate the remainder of pp/128
pp=pp%128
// substract the remainder from 128
pp=128-pp
if pp==128 then pp=0
All of it helped me make my whole setup work perfectly. Now for the not so fun part. My Roland JV-1080 has a wave parameter that let me browse through each waves that make up a sound, for example, piano waves, acoustic guitar waves etc… There are 255 waves in each of the 2 banks, making up a total of 510 waves. I’d like to browse through these waves using one of the encoders on my Novation Zero SL MKII.
Here’s how the sysex system works for this parameter : the 13th value always starts at 00 and gradually go up to 0F. When the value exceeds 0F it always goes back to 00 but it increment the 12th value to 1 step. For example :
Here are the first 16 waves :
F0 41 10 6A 12 03 00 10 01 00 01 00 00 6B F7
F0 41 10 6A 12 03 00 10 01 00 01 00 01 6A F7
F0 41 10 6A 12 03 00 10 01 00 01 00 02 69 F7
F0 41 10 6A 12 03 00 10 01 00 01 00 03 68 F7
F0 41 10 6A 12 03 00 10 01 00 01 00 04 67 F7
F0 41 10 6A 12 03 00 10 01 00 01 00 05 66 F7
F0 41 10 6A 12 03 00 10 01 00 01 00 06 65 F7
F0 41 10 6A 12 03 00 10 01 00 01 00 07 64 F7
F0 41 10 6A 12 03 00 10 01 00 01 00 08 63 F7
F0 41 10 6A 12 03 00 10 01 00 01 00 09 62 F7
F0 41 10 6A 12 03 00 10 01 00 01 00 0A 61 F7
F0 41 10 6A 12 03 00 10 01 00 01 00 0B 60 F7
F0 41 10 6A 12 03 00 10 01 00 01 00 0C 5F F7
F0 41 10 6A 12 03 00 10 01 00 01 00 0D 5E F7
F0 41 10 6A 12 03 00 10 01 00 01 00 0E 5D F7
F0 41 10 6A 12 03 00 10 01 00 01 00 0F 5C F7
F0 41 10 6A 12 03 00 10 01 00 01 00 00 6B F7
F0 41 10 6A 12 03 00 10 01 00 01 00 00 6B F7
Then the following 16 waves :
F0 41 10 6A 12 03 00 10 01 00 01 01 00 6A F7
F0 41 10 6A 12 03 00 10 01 00 01 01 01 69 F7
F0 41 10 6A 12 03 00 10 01 00 01 01 02 68 F7
F0 41 10 6A 12 03 00 10 01 00 01 01 03 67 F7
F0 41 10 6A 12 03 00 10 01 00 01 01 04 66 F7
F0 41 10 6A 12 03 00 10 01 00 01 01 05 65 F7
F0 41 10 6A 12 03 00 10 01 00 01 01 06 64 F7
F0 41 10 6A 12 03 00 10 01 00 01 01 07 63 F7
F0 41 10 6A 12 03 00 10 01 00 01 01 08 62 F7
F0 41 10 6A 12 03 00 10 01 00 01 01 09 61 F7
F0 41 10 6A 12 03 00 10 01 00 01 01 0A 60 F7
F0 41 10 6A 12 03 00 10 01 00 01 01 0B 5F F7
F0 41 10 6A 12 03 00 10 01 00 01 01 0C 5E F7
F0 41 10 6A 12 03 00 10 01 00 01 01 0D 5D F7
F0 41 10 6A 12 03 00 10 01 00 01 01 0E 5C F7
F0 41 10 6A 12 03 00 10 01 00 01 01 0F 6B F7
Then it’ll keep going like this with the next 12th value being 02, then 03 etc… and it ends at F0 41 10 6A 12 03 00 10 01 00 01 0F 0E 4E F7.
The same process repeats with the second bank of waves with now the 11th fixed value not being 01 anymore but 02 so for example : the first wave of the first bank being F0 41 10 6A 12 03 00 10 01 00 01 00 00 6B F7 and the first wave of the second bank being F0 41 10 6A 12 03 00 10 01 00 02 00 00 6A F7.
Can you guys help me, I’m pretty sure it has to do with the rules tab but I have no idea what to write in it, I simply want to be able to browse through these waves using my Novation Zero SL MKII encoder (CC)
I really hope that you will be able to help me out, thanks a lot everyone,
Best regards,
Fred