Midi messages in-depth, Program & bank changes – M-AUDIO KEYRIG 49 User Manual

Page 16

Advertising
background image

|

15

KeyRIg 49 User Guide

MIDI Messages In-Depth

11

Program & Bank Changes

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 grew to be more sophisticated and contain more sounds, bank change messages were included
in an updated MIDI specification to allow for more than 128 sounds to be accessed.

The language MIDI uses to communicate between
musical instruments only allows for program
change commands 0-127, for a total of 128
possible programs (127 programs + program
“0” = 128 programs total). Because of 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) within them

Bank change messages are useful when calling
up sounds from a large library that may exist in a
particular sound module or software synth For
example devices that are built with Roland’s GS
specification or Yamaha’s XG specification require
you to specify a bank change in order to access the
extra voices and effects 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. 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 can
select any of a possible 16,384 banks. Each bank

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

"ANK

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

0ROGRAM

Advertising