This forum is read-only. Please post new topics in our Q&A forum.

Bank Change Messages

General discussion about MIDI Translator

Moderators: florian, DvlsAdvct

Post Reply
User avatar
sjcaldwell
Power User
Posts: 167
Joined: Tue Sep 20, 2016 11:05 pm

Bank Change Messages

Post by sjcaldwell » Thu Dec 22, 2016 4:19 pm

Hi,

I looked on the forum before posting but maybe I missed it. If so, I apologize in advance.

With BMT when you select bank change it sends CC0, CC32 and Program message. LSB MSB and PC. This is fine, however it seems
that there is no parameter to use for MSB so I have to send raw midi messages if I want to change MSB. Is there a reason BMT is set
up that way? It would be nice if there would be an optional parameter for MSB and if left unchecked would send only LSB.

It is a bit of a nit, but would like this added to BMT wish list for some future release. In the meantime I will use raw midi data.

User avatar
florian
Bome Software: Founder
Posts: 2435
Joined: Thu Apr 28, 2005 10:09 pm
Location: Munich, Germany
Contact:

Re: Bank Change Messages

Post by florian » Wed Dec 28, 2016 4:16 pm

Hi sjcaldwell,
sorry for the late reply (all that christmas business...:) ). MT Pro's Bank Change action tries to simplify matters by treating the bank space as one single number range from 0 to 16383:
BankChange.jpg
BankChange.jpg (12.39 KiB) Viewed 826 times
Therefore it is MSB and LSB combined, and you can, e.g. switch to bank 13000 directly.

Do you think we should also give the option to alternatively specify the bank number in MSB and LSB separetely?

Thanks,
Florian

User avatar
sjcaldwell
Power User
Posts: 167
Joined: Tue Sep 20, 2016 11:05 pm

Re: Bank Change Messages

Post by sjcaldwell » Wed Dec 28, 2016 4:51 pm

No I think we are OK. I didn't know that you combined MSB and LSB into a single number. Good to know and now that I know, it will simplify things considerably.

Are MSB and LSB Each counted as 7 bits in the combined number or do you put 2 8 bit values together and discard the high bit of each byte?

Maybe if you could better explain by telling me if I want MSB 1 and LSB 0 whether I would use 256 or 128?

0100 = 256 - High bit of each discarded
0080 = 128 - MSB uses bit 8

User avatar
florian
Bome Software: Founder
Posts: 2435
Joined: Thu Apr 28, 2005 10:09 pm
Location: Munich, Germany
Contact:

Re: Bank Change Messages

Post by florian » Mon Jan 30, 2017 6:29 am

Hi sjcaldwell,
again, sorry for the late reply. We've piled a pretty long backlog...

For calculation, we only use 7-bit arithmetic, so you need to multiply/divide by 128:

MSB=bank / 128
LSB=bank % 128

bank=(MSB*128) + LSB

Best,
Florian

Post Reply