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

Page 31

Oxygen Series

User Guide 3

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

 

 

 

 

Program 1

synthesizer. For example, devices that are built according to

 

 

Bank LSB 127

 

 

 

 

Program 2

Roland’s GS specification or Yamaha’s XG specification (Appendix

 

 

 

 

Program 127

E) 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

 

 

 

 

Program 0

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

 

 

 

 

Program 1

 

 

 

 

Program 2

 

 

 

 

 

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

 

 

Bank LSB 0

 

Program 127

 

 

 

 

Program 0

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

Bank MSB 1

 

 

 

 

Bank LSB 1

 

Program 1

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

 

 

 

 

 

 

Program 2

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

 

 

Bank LSB 2

 

Program 127

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

 

 

 

 

Program 0

bank can in turn contain 128 possible sounds selected via a

 

 

Bank LSB 127

 

Program 1

separate program change MIDI message. This enables a user to

 

 

 

Program 2

 

 

 

 

 

theoretically recall over two million programs directly, using only

 

 

 

 

Program 127

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

 

 

 

 

 

banks, and you can often ignore the LSB message.

 

 

 

 

 

You will find many MIDI devices respond to program change

 

 

 

 

Program 0

 

 

 

 

Program 1

 

 

 

 

Program 2

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

 

 

 

 

 

 

Bank LSB 0

 

 

General MIDI devices, different sounds are organized in the same

 

 

 

Program 127

 

 

 

 

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

Bank MSB 2

 

Bank LSB 1

 

Program 0

 

 

Program 1

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

 

 

 

 

 

 

Program 2

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

 

 

Bank LSB 2

 

Program 127

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

 

 

 

 

 

 

 

Program 0

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

 

 

 

 

Bank MSB 127

 

Bank LSB 127

 

Program 1

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

 

 

Program 2

 

 

 

 

 

that you expect from the GM sound set. All non-GM MIDI sound

 

 

 

 

Program 127

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 your Oxygen Series keyboard.

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

Image 31
Contents Oxygen Series What’s in the Box IntroductionMinimum System Requirements Setup Oxygen Series FeaturesWindows XP and Windows Vista Installation Instructions Host Software Configuration Mac OS X Installation InstructionsDAW Configuration InstallationDirectLink / DAW Support Modulation Wheel Controls and ConnectorsTop Panel Pitch Bend WheelOctave / Transpose Buttons Track ButtonsLED Screen Function Buttons Slider Buttons SlidersTransport Buttons KnobsBack Panel Advanced Keyboard Functions Cancel Oxygen 49 and 61 onlyControl Select Channel Assign Control Assign, Data 1, Data 2, DataGlobal Channel Panic ProgramBank LSB Bank MSBVelocity Curve Drawbar Mode Oxygen 49 and 61 onlyDevice ID Oxygen 49 and 61 only Memory DumpNumber Keys StoreEnter Key Advanced Programming Functions Key Parameter Value Setting Trigger Values for the Buttons or the Sustain Pedal Assigning MMC Control to Buttons Number MMC CommandAssigning a Note to a Button Oxygen Series User Guide  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 Series User Guide  SysEx Messages and Device ID Restoring the Factory SettingsNon-Volatile Memory Program and Bank Changes Midi Messages DefinedOverview RPN/NRPNsCheck your 3rd Party Documentation for a RPN/NRPN List Fine SysEx  Oxygen keyboard suddenly stops working TroubleshootingTechnical Info Warranty Terms Warranty Registration Documentation Feedback Warranty Terms and RegistrationAppendix a Standard Midi Control Numbers Midi CC’s AppendixSliders and Knobs Appendix B Assignable Midi CCsButtons and Pedal User Guide Oxygen SeriesPiano Bass Reed Synth Effects Appendix C Useful Midi DataMidi Note Numbers Appendix D DirectLink Transport Control AssignmentsHexadecimal to Decimal Conversion Chart Appendix E Hexadecimal Conversion ChartChorus Types Appendix F Roland GS & Yamaha XG Nrpn MessagesAppendix G General Midi Reverb and Chorus Types Reverb TypesAudio