Old thread, but I just got a keylab61.
I'd hoped to use it some with older tone modules (Like Fantom XR) away from the studio/computer.
All the way back General MIDI 2, program changes require 21 bits of information to comply with the GM and GM2 standards.
CC0 = MSB
CC32 = LSB
PC = Program Change
I can find no practical way at all to send the LSB effectively to units such as my Roland Fantom XR!
If there isn't room on the screen for a future firmware without redesigning far too much of the interface, it is possible to use a 14bit bank command and convert it to the proper MSB/LSB controllers internally on transmission.
The formula is MSB * 128 + LSB
Hence, one could have a single 14bit parameter for dialing in the bank change.
Example:
By GM2 standards, one calls the Grand Piano with:
CC0 = 121
CC32 = 0
PC = 0
In 14bit format it'd be:
121*128+0 = 15488
Because it's a pretty large number, instead of forcing the user to sit there and turn the wheel for hours to 'scroll' to the proper bank, it'd probably be helpful to use the code that allows 'naming' patches to enter the values, as one can scroll from character to character to get each digit of the bank in.
The 14bit thing is just an idea should it happen to make things a little easier with the firmware. If the user must scroll to the proper value, then it'd be much easier to just keep it as two different CCs.
So, it's pretty important to have some way to get the LSB in there, or bank changes are USELESS for almost anything other than Arturia's own Audio Lab.
GM compliant instruments expect CC0, CC32, and a PC. Some can stay in a single bank fine with just a PC, but almost all of them NEED the LSB over CC32 to choose different banks! Out of the several I've owned, CC0 on its own is useless. It's ignored if not directly followed by a CC32 event, THEN a PC event.
With my PC connected it's not a big deal. I have dozens of bits of software that can make things work. If there is no PC in the situation, it really is something of a mess.