M-Audio Electronic Keyboard Electronic Keyboard User Manual


 
27
MIDI Messages Explained
< Program & Bank Changes
The original GM MIDI specification allowed for only 128 voices, numbered from 0-127. It is possible to access a different voice by sending a
Program Change.
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. 16,384 available banks can be accessed by sending a 14-bit Bank Change message. The first 7 bits of this message are
sent in a single byte known as the Bank LSB. The last 7 bits are specified by another byte known as the Bank MSB. The BANK LSB is used most
commonly. This allows for 128 Bank Changes, and often there is no need to send a Bank MSB.
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 the use of a Program Change to change the
instrument patch. (The FM7 by Native Instruments is an example of this.)
Bank Changes are used more rarely. 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 the specification of 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 done by pressing the EDIT button followed by the PROGRAM, Bank LSB or Bank MSB key,
and then entering the Program or Bank Change desired.
< RPN/NRPNs
Non-registered parameter numbers (NRPN’s) are device-specific messages that enable the control of synths via MIDI. The MIDI specification
defines parameter numbers to allow manufacturers to specify their own controllers. The more common of these have been registered by
the MIDI Manufacturer’s Association and are part of the MIDI specification (hence the term Registered Parameter Numbers – RPN’s). (See
Appendix F for additional information.)
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
in the MIDI controllers list in Appendix E. To transmit an NRPN/RPN, these two controller messages are sent along with their user-specified
values. An additional controller message 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.
Devices that receive NRPN messages will list NRPNs in the User Manual. It is essential that the NRPN MSB and LSB messages are sent
together. Both will be specified in the device’s manual, but typically only in Hexadecimal format. If this is the case, you may refer to Appendix
C for help translating the value to decimal.
< SysEx
System Exclusive (SysEx) messages were defined in the MIDI specification to allow control of individual devices via MIDI. The format of SysEx
messages allows virtually any function to be performed via MIDI if the receiving device can read and translate the message. This allows
devices to send audio sample memory data, memory dumps, controller settings, and much more. It also allows the controllers of one device
to be controlled by another.
It is not possible to program your own specified SysEx message into the Ozonic. However, several useful SysEx messages are pre-programmed
into the keyboard. They can be accessed by assigning the appropriate MIDI CC to a controller (see Appendix B).
A SysEx message is not transmitted on any specified channel. All SysEx messages contain a Device ID, which is used to single out devices to
respond to the SysEx message. All other devices are ignored. If you are using a SysEx message on the Ozonic, the Global Channel is ignored.
When you press the Channel Assign key, you will enter a Device ID instead. This is indicated by the fact that the LED displays a 3-digit number,
not a 2-digit number proceeded by a “c.”
Device IDs run from 00 to 127. 127 is the default device number setting on the Ozonic. This setting transmits the SysEx message to all
devices.
It is not possible to program the controllers of the Ozonic with your own SysEx messages, there are software applications that can receive a
MIDI input signal and transmit a different, user-specified message. You can program your SysEx messages into the translator software, and
then translate the incoming data from the keyboard to your SysEx, depending on the controller you are using.