Avid KeyStudio User Guide26
MIDI CC 0 is the bank select MSB (Most Significant Byte) message. This MIDI message is 7-bit in size
and can be used to select any of 128 banks. This message can be used in conjunction with MIDI CC32
which is bank select LSB (Least Significant Byte): a separate 7-bit message allowing additional selec-
tion of any of another 128 sub-banks. The combination of Bank MSB and LSB messages gives a 14-bit
message that can select any of a possible 16,384 banks. Each bank can in turn contain 128 possible
sounds selected via a separate program change MIDI message. This enables a user to theoretically re-
call over two million programs directly, using only MIDI commands. However, most devices only use
a few different banks, and allow you to access them with either a Bank LSB message or a Bank MSB
message. Please consult your synthesizer’s or software’s documentation for more information on
which type of bank change messages it can process.
You will find many MIDI devices respond to program change commands and many are organized ac-
cording to the GM listing. In General MIDI devices, different sounds are organized in the same way
from device to device. Piano sounds are in their particular place, string sounds are in their place, drum
sounds are in their place, and so on. All GM devices (both hardware and software sound modules) are
clearly labeled as such, so you know that their sounds are organized in the General MIDI structure.
When a GM device receives a MIDI program change, it calls up a type of sound that you expect from
the GM sound set. All non-GM MIDI sound modules call up unique sounds from their memory upon
receiving MIDI program changes. Since the sounds in a non-GM device are not arranged in a partic-
ular order, you need to take a look at the device itself to see which sound you want and at which lo-
cation in the memory it resides. Many VST instruments such as Native Instruments’ FM7 or the synth
modules in Propellerhead Reason are non-GM devices.
NRPN/RPNs
Non-registered parameter numbers (NRPN’s) are device-specific messages that enable you to control
synths and sound modules via MIDI. The MIDI specification defines open parameter numbers to al-
low manufacturers to specify their own controllers. The more common of these are registered by the
MIDI Manufacturer’s Association and are now part of the MIDI specification (hence the term Regis-
tered Parameter Numbers – RPN’s). (See Appendix C, “Additional RPN Messages.”) Each NRPN/RPN
has an associated 2-byte number. The two bytes allow for 128 values each. (An RPN or NRPN message
is made up of two parts: the MSB and the LSB message. Both of these messages together constitute an
RPN or NRPN command.) This allows for 16,384 values in total.
MIDI controllers 98 and 99 represent the NRPN LSB and MSB respectively, while 100 and 101 repre-
sent the RPN LSB and MSB messages (see Appendix B) To transmit an NRPN/RPN message, these LSB
and MSB controller messages are sent along with their user-specified values. A further controller mes-
sage and value needs to be sent to specify the (coarse or fine) value adjustment. This is specified by
controller number 6 (data entry) for coarse adjustments or number 38 for fine adjustments.
A list of NRPN’s is usually given in the user’s manual of any device that receives NRPN messages. It is
always necessary that the NRPN MSB and LSB be sent together. Both will be specified in the device’s
manual.