M-Audio 88 manual Midi Messages Defined, Program and Bank Changes

Page 36

34 User Guide

Oxygen 88

10: MIDI Messages Defined

Program and 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 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 for 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

Bank MSB

 

Bank LSB

 

Program

 

 

 

 

 

to expand the number of accessible sounds. However, to avoid

 

 

 

 

Program 0

reaching the new limit of the resulting 16,384 possible sounds (128

 

 

 

 

 

 

 

 

Program 1

banks x 128 programs) accessible using a bank change combined

 

 

 

 

 

 

 

 

Program 2

with a program change, another layer of banks was added. The

 

 

Bank LSB 0

 

Program 127

result is a system of 128 banks that can contain 128 sub-banks in

 

 

 

 

 

 

 

Program 0

each of them, which, in turn, can contain 128 sounds (programs).

Bank MSB 0

 

Bank LSB 1

 

Program 1

 

 

 

 

 

Program 2

Bank change messages are useful when calling up sounds from a

 

 

Bank LSB 2

 

Program 127

large library that may exist in a particular sound module or software

 

 

 

 

Program 0

synthesizer. For example, devices that are built according to the

 

 

Bank LSB 127

 

Program 1

 

 

 

Program 2

GS specification from Roland or the XG specification (Appendix E)

 

 

 

 

Program 127

from Yamaha 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

 

 

 

 

Program 0

message is 7-bit in size and can be used to select any of 128

 

 

 

 

Program 1

 

 

 

 

Program 2

banks.

 

 

 

 

 

 

Bank LSB 0

 

 

 

 

 

 

Program 127

This message can be used in conjunction with MIDI CC 32 which is

Bank MSB 1

 

 

 

Program 0

 

Bank LSB 1

 

Program 1

bank select LSB (Least Significant Byte): a separate 7-bit message

 

 

 

 

 

 

Program 2

allowing additional selection of any of another 128 sub-banks. The

 

 

Bank LSB 2

 

Program 127

combination of Bank MSB and LSB messages gives a 14-bit

 

 

 

 

 

 

 

Program 0

message that can select any of a possible 16,384 banks. Each

 

 

Bank LSB 127

 

Program 1

bank can in turn contain 128 possible sounds selected via a

 

 

 

Program 2

 

 

 

 

 

separate program change MIDI message. This enables a user to

 

 

 

 

Program 127

theoretically recall over two million programs directly, using only

 

 

 

 

 

MIDI commands. However, most devices only use a few different

 

 

 

 

 

banks, and you can often ignore the LSB message.

 

 

 

 

Program 0

 

 

 

 

 

Program 1

You will find many MIDI devices respond to program change

 

 

 

 

Program 2

 

 

Bank LSB 0

 

 

commands and many are organized according to the GM listing. In

 

 

 

Program 127

 

 

 

 

General MIDI devices, different sounds are organized in the same

Bank MSB 2

 

Bank LSB 1

 

Program 0

 

 

Program 1

way from device to device. Piano sounds are in their particular

 

 

 

 

 

 

Program 2

place, string sounds are in their place, drum sounds are in their

 

 

Bank LSB 2

 

Program 127

place, and so on. All GM devices (both hardware and software

 

 

 

 

 

 

 

Program 0

sound modules) are clearly labeled as such, so you know that their

 

 

 

 

Bank MSB 127

 

Bank LSB 127

 

Program 1

sounds are organized in the General MIDI structure. When a GM

 

 

Program 2

 

 

 

 

 

device receives a MIDI program change, it calls up a type of sound

 

 

 

 

Program 127

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 particular order, you need to take a look at the device itself to see which sound you want and at which location in the memory it resides. Many VST instruments such as Native Instruments FM7 or the synth modules in Propellerheads Reason are non-GM devices.

You can send Program Change, Bank LSB and Bank MSB messages directly from Oxygen 88.

Please consult the documentation for your sound module, DAW or software instrument for further information.

Image 36
Contents Oxygen 88 User Guide Oxygen 88 Features IntroductionMinimum System Requirements Setup Windows Installation InstructionsMac OS X Installation Instructions Host Software ConfigurationInstallation DAW ConfigurationDirectLink DAW Support Controls and Connectors Top PanelModulation Wheel Pitch Bend WheelOctave/Transpose Buttons Track ButtonsLED Screen Function Buttons Sliders Slider ButtonsZone Buttons Transport Buttons13. On/Off Switch Power SocketKnobs Velocity-sensitive KeyboardExpression Pedal Input Midi Out PortUSB Port Cancel Advanced Keyboard FunctionsControl Select Control Assign, Data 1, Data 2, Data Channel AssignGlobal Channel ProgramBank LSB Bank MSB PanicVelocity Curve Drawbar Mode Memory DumpDevice ID StoreNumber Keys Enter KeyZone Keys Zone VoiceZone Program Zone LSBZone MSB Zone Range Zone Channel Zone OctaveZone Midi Channel Zone Transpose Advanced Programming Functions Key Parameter Value Setting Trigger Values for the Buttons or the Sustain Pedal Number MMC Command Assigning MMC Control to ButtonsAssigning a Note to a Button 28 User Guide Oxygen Programming a Button to Increment/Decrement a Midi CC value Programming a Button to Increment/Decrement a Program Change Reversing the operation of Knobs or Sliders Limiting the Range of a Knob or Slider Oxygen User Guide  Restoring the Factory Settings SysEx Messages and Device IDNon-Volatile Memory Midi Messages Defined Program and Bank ChangesRPN/NRPN 36 User Guide Oxygen Fine 66Fine Coarse88 38 User Guide Oxygen SysExTroubleshooting  Oxygen 88 suddenly stopped workingMidi Data Standard Midi Control Numbers Midi CCsAssignable Midi CCs Sliders and KnobsButtons and Pedals Useful Midi Data Baritone SaxMidi Note Numbers DirectLink Transport Control AssignmentsHexadecimal Conversion Chart Hexadecimal Value Decimal ValueRoland GS & Yamaha XG Nrpn Messages General Midi Reverb and Chorus TypesReverb Types Chorus TypesTechnical Info Documentation FeedbackDisposal of Waste Equipment by Users in the European Union Technical Support USA Product Information