Chapter Three: MIDI
1. How does the MIDI system work? Page 7
Channel Mode Messages
Channel mode messages are intended to control the overall function of ALL voice channels of an instrument. The MIDI 1.0 Specification intends that instruments be designed to operate only under one mode at a time. Channel mode messages use controller #'s 122-127 and are sent on an intended instrument's basic channel. An instrument's programmable parameter set should include a basic channel setting. For example, on a Kurzweil K2600, the basic channel is set by pressing MIDI->RECEIVE->Basic Channel. This means that you may have a number of the same model instruments tuned to different basic channels, paying attention only to the channel mode messages sent on their particular basic channel.
The four types of channel modes are called OMNI, MONO/POLY, ALL NOTES OFF and LOCAL CONTROL. OMNI, if set ON, instructs all instrument voices to respond to all received channel voice messages regardless of what channel they are sent on. This would be equivalent to your TV set displaying all cable channels simultaneously.
MONO/POLY modes change the polyphonic capabilities of a single voice or multiple voices (see below). A new NOTE ON message in MONO mode ends the previous note and begins the new note. You may wish to set your synth to MONO mode if you want to use a patch with portamento (a gliding or glissando between notes).
A channel mode message looks like this:
1011nnnn 0ccccccc 0vvvvvvv where n=basic channel, c=controller #'s 122-127 and v=action for that mode (on/off). The full implementation is:
|Status Byte||Data Byte 1||Data Byte 2 (& 3)||Description|
|1011nnnn||01111010 (122)||00000000 (0) = off
01111111 (127) = on
|1011nnnn||01111011 (123)||00000000 (0)||All Notes OFF|
|1011nnnn||01111100 (124)||00000000 (0)||Omni Mode OFF (all notes off as well)|
|1011nnnn||01111101 (125)||00000000 (0)||Omni Mode ON (all notes off as well)|
0mmmmmmm (m=number of channels*)
|Mono Mode ON (poly mode off, all notes off as well)|
|1011nnnn||01111111 (127)||00000000 (0)||Poly Mode OFF (Mono Mode OFF, all notes off as well)|
* A special case when M=0 instructs the instrument to assign one note to each of its voices, starting with the Basic Channel through 16,
There are four OMNI-MONO/POLY modes combinations:
|ON||POLY||messages are received from all channels and assigned to all voices|
|ON||MONO||message are received from all channel and control one voice monophonically|
|OFF||POLY||messages are received only on a specified channel, but are assigned to all voices|
|OFF||MONO||messages are received only on a specified channel, but are assigned to a specified number of monophonic voices|
ALL NOTES OFF is useful for sequencing programs, where missed messages may leave a note 'hanging' or sounding indefinitely because it missed it's NOTE OFF command.
LOCAL CONTROL (on/off) is designed to separate the keyboard function of a synth/sampler from its sound-producing capability. This is useful when you want only notes returning from a computer to cause the instrument to sound, avoiding a common problem of doubled notes. Notes and other data are still send to the MIDI OUT port. Normally, this is best set on the instrument itself, not through MIDI.