[linux-audio-dev] MIDI bank select MSB + LSB

Alexandre Ratchov alex at caoua.org
Sat Dec 9 02:01:49 UTC 2006

On Fri, Dec 08, 2006 at 01:28:23PM +0100, Christian Schoenebeck wrote:
> Hi everybody!
> I wonder what's the common behavior for a synth/sampler regarding MIDI bank 
> select messages. You might know that MIDI has splitted bank indeces into two 
> values MSB (coarse) and LSB (fine) value. So the "optimal" behavior would be 
> a device / sequencer to send a MSB and a LSB bank select message to change 
> the current bank. But many older keyboards for example won't do that. I've 
> heard most of them only send MSB bank selects, while few others send only LSB 
> bank selects. Is that true?


i haven't seen such a keyboard sice around 1995. I dont think that
any recent midi keyboard uses MSB only (or LSB only) bank

> If yes, how should you handle that on synth/sampler side? Because you know, 
> using just MSB messages would only allow to switch between the following set 
> of banks:
> 	{ 0, 128, 256, ... , 16256 }
> while using just LSB messages would only allow to switch between the following 
> set of banks:
> 	{ 0, 1, 2, ... , 127 }
> So should a synth stick with that behavior or should it detect if a device 
> either only sends MSB bank selects or only sends LSB bank selects and then 
> actually remap MSB-only selects to a set of:
> 	{ 0, 1, 2, ... , 127 }

Keyboards that only support "MSB only" mode (or "LSB only" mode)
are just too limited and there is no workaround that will "just
work" with both modes. AFAIK, there is no standard way to detect if
a device will use MSB, LSB or both. According to midi standard the
bank number is (LSB + 128 * MSB), so the "Both" mode is the correct
one to use. That's also what most users would expect.


-- Alexandre

More information about the Linux-audio-dev mailing list