User guide

Chapter 7: MIDI Messages Defined
45
Axiom User Guide
Chapter 7: MIDI Messages Defined
Program and Bank Changes Messages Explained
When the MIDI standard was first established, it enabled the user to access only 128 different sounds using
program change messages (0 – 127). As MIDI devices became more sophisticated and contained more sounds,
bank change messages were included in an updated MIDI specification allowing access to more than 128
sounds. The language MIDI uses to communicate between musical instruments only allows program change
commands 0 – 127, for a total of 128 possible programs (127 programs + program “0” = 128 programs total).
Due to inherent limitations of the MIDI communication protocol, the number of directly accessible programs
(using program change messages) cannot easily be expanded beyond 128. Thus, a system of banks, with 128
sounds in each, has been created that enables manufacturers to overcome the 128-sound MIDI limit.
128 banks with 128 sounds in each bank is the basic
principle used to expand the number of accessible
sounds. However, to avoid reaching the new limit of
the resulting 16,384 possible sounds (128 banks x 128
programs) accessible using a bank change combined
with a program change, another layer of banks was
added. The result is a system of 128 banks that can
contain 128 sub-banks in each of them, which, in turn,
can contain 128 sounds (programs).
Bank change messages are useful when calling up
sounds from a large library that may exist in a
particular sound module or software synthesizer. For
example, devices that are built according to Roland’s
GS specification or Yamaha’s XG specification require
you to specify a bank change in order to access the
extra voices that these devices provide. 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.
A list of Roland GS and Yamaha XG NRPN numbers
can be found in Appendix F, “Roland GS & Yamaha XG
NRPN.”
This message can be used in conjunction with MIDI
CC 32 which is bank select LSB (Least Significant Byte):
a separate 7-bit message allowing additional selection
of any of another 128 sub-banks. The combination of Bank MSB and LSB messages gives a 14-bit message that
Axiom factory preset 16 is already configured with NRPN
controls for Yamaha XG and Roland GS synthesizers.
Bank MSB 0
Bank MSB 127
Bank LSB 127
Bank MSB 2
Bank LSB 0
Bank LSB 1
Bank LSB 2
Bank LSB 127
Bank LSB 0
Bank LSB 1
Bank LSB 2
Bank LSB 127
Bank LSB 0
Bank LSB 1
Bank LSB 2
Bank MSB 1
Bank MSB Bank LSB Program
Program 127
Program 0
Program 1
Program 2
Program 127
Program 0
Program 1
Program 2
Program 127
Program 0
Program 1
Program 2
Program 127
Program 0
Program 1
Program 2
Program 127
Program 0
Program 1
Program 2
Program 127
Program 0
Program 1
Program 2
Program 127
Program 0
Program 1
Program 2
Program 127
Program 0
Program 1
Program 2
Program 127
Program 0
Program 1
Program 2