[linux-audio-dev] MIDI... know how to do bank/patch changes on yamaha Motif Rack?

Stephen Cameron smcameron at yahoo.com
Mon Jul 17 02:58:43 UTC 2006

--- Rui Nuno Capela <rncbc at rncbc.org> wrote:
> You're probably missing the required Bank Select control changes (MSB
> CC#=0 and LSB CC#=32) which should precede the proper Program Change
> message. This is standard MIDI specification, not specific to your
> device, and its perfectly stated on the manual page you mentioned.

I'm sure the manual is fine for someone who already knows how
these things work.  For me, it left something to be desired.
A few examples would have been a great help.  

For the benefit of, well, of probably nobody, maybe
myself when I forget this and have to figure it out
again, I will record what I found out anyway.

The Motif has a couple parameters under the Utility/MIDI menu on the
front panel.  There's a setting for the channel on which to recieve
basic messages.  Set this to 1.  (That means it will recieve them
on channel 0, not 1, oddly enough.)  There are settings for BankChange
and Patch Change.  Make sure they are "on".

The manual fails to mention what the Bank Change message is
(probably because it is "standard MIDI stuff.")  It is 0xB0
(or 0xBn, where n is the channel the device receives basic 
messages on.)

It requires TWO bank select commands to select a bank.  One
to set the MSB, and one to set the LSB.  You can't set them
both with one command (which is what I was trying to do that
didn't work.)

0xB0 0x00 0xf3  // 0xB0 0x00 means "set bank MSB"  0xf3 is the 
                // value to set it to.

0xB0 0x20 0x01  // 0xB0 0x20 means "set bank LSB" 0x01 is the
                // value to set it to.

0xC0 0x01       // Patch change to preset 0x01 of the previously 
                // selected bank MSB/LSB.

That's what a halfway decent explanation looks like, provided
my current understanding is correct. (It's correct enough that
my program works now.)


-- steve

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the Linux-audio-dev mailing list