Channel mode messages are intended to control the overall function of ALL voice channels of an instrument. The MIDI 1.0 Specification intended 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. This means that you may have a number of the same model of instrument 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 any and 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).
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)|
(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)|
There are four OMNI-MONO/POLY modes combinations:
|1||ON||POLY||Messages are received from all channels and assigned to all voices|
|2||ON||MONO||Message are received from all channel and control one voice monophonically|
|3||OFF||POLY||Messages are received only on a specified channel, but are assigned to all voices|
|4||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. This is equivalent to the PANIC button and many synths.
LOCAL CONTROL (on/off) is designed to separate the MIDI-generating 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. DAW's and other MIDI sequencers have settings for MIDI Patch Thru that may route the note you are playing on the keyboard back to the instrument to be played, so with LOCAL CONTROL on, you will hear a sort of flanged sound from the two notes, both local and returning from your DAW, and this will also rob your instrument of half its polyphony, as each note you play uses two voices. Normally, LOCAL CONTROL is best set on the instrument itself, not through MIDI.