Evolution
Program & Bank Changes Explained
The original GM MIDI specification catered for only 128 voices, numbered from
In order to expand on the GM set of voices, Bank changes were devised. Each bank contains 128 patches, that can be accessed using a program change. There are 16,384 banks available, accessible by sending a
You will find almost all MIDI devices respond to the program change, but some that do not conform to the GM set of voices use the program change message for other purposes. Many VST instruments have adopted this approach, allowing you to use a program change to change the instrument patch. The FM7 by Native Instruments is a good example of this.
Bank changes are more rarely used, although they do exist. Bank changes are useful in manufacturer’s extensions to the MIDI specification, such as Roland’s GS specification and Yamaha’s XG specification. Both of these require you to specify a Bank change, in order to access the extra voices and effects that these specifications provide.
Sending Program, Bank LSB and Bank MSB data is made simple using the
RPN/NRPN’s Explained
Numbers – RPN's). (See Appendix F.)
MIDI controllers 98 and 99 represent the NRPN LSB and MSB respectively, while 100 and 101 represent the RPN LSB and MSB. This can be seen from the MIDI controllers list in Appendix D. To transmit an NRPN/RPN, these two controller messages are sent along with their
This is specified by controller number 6 (Data entry) for coarse adjustments or number 38 for fine adjustments.
12