MIDI Channels and Channel Modes
In this article, we will talk about MIDI Channels (finally) and Channel Mode Messages (as opposed to Channel Voice Messages, which we have written about earlier).
Let’s start by explaining what a channel is.
In one physical MIDI connection – regardless of whether it’s a cable or a wireless Bluetooth or Wi-Fi transmission – there are 16 channels which are separate, independent information streams. A channel is like a virtual path which streams MIDI events. It’s virtual because it is only information contained within the MIDI messages themselves, so it is only a part of the data assigned to most MIDI events.
This virtual separation has many benefits. First of all, when one physical MIDI instrument (a synthesizer, sampler, or an external sound module) has many virtual instruments / patches, each of them can play simultaneously, triggered e.g. from several different controllers, or even from one keyboard virtually divided in half. Each controller “transmits” through a different channel and triggers the sound of a different instrument. These are so-called “multitimbral” devices. To make this possible, each program should be assigned to a different channel. One virtual instrument is on one channel, and the next one is on another.
This applies to all Channel Voice Messages, i.e. triggering the sounds themselves by Note On/Off messages, controlling these sounds by CC or Pitch Bend and After‑touch, and patch changes on a given channel by Program Change.
All these (and several other) types of messages can be sent on any channel, e.g. using foot controllers available in our store.
Some instruments allow you to freely define which sound is assigned to which channel, others do not. It is worth mentioning here that in the General MIDI specification, channel 10 is reserved only for percussion sounds.
Channel Mode Messages
Sometimes there is a need to change the behaviour of a MIDI device with one switch, i.e. the way it reacts to incoming MIDI messages. This is what Channel Mode Messages are for.
They are the same as the Control Change type, but they send values for controller numbers 120-127.
I will explain all 8 of them NOT in order of the controller numbers, which I hope will make it easier to understand them.
All Sounds Off and All Notes Off messages – as you might have guessed, these messages turn off all sounds currently emitted from the instrument. The main difference between them is that All Notes Off allows all notes to fade naturally (as if this was done by releasing the key), and All Sounds Off turns off/mutes the sounds instantly.
The next two messages are Reset All Controllers and Local Control On/Off. The first of these causes that all controller values are reset to their default values. The second one is interesting because it assumes that a given physical instrument has its own keyboard (usually it does, but an external sound module and a computer don’t have it). When the value of this message is 0, such a built-in keyboard is cut off and the instrument responds only to MIDI messages coming through external connections (wired or wireless). The value of 127 restores control to the built-in keyboard.
The existence of this message shows that the MIDI controller and sound module are separate entities, even if they are integrated in one device.
The Mono Mode On (Poly Off) and Poly Mode On (Mono Off) messages determine how the device should react when more than one Note On message is received at the same time on a given channel (they are never really received at the same time, but with a minimum delay of ~1ms). In the “Poly” mode, these notes are played simultaneously.
In the real world, polyphonic instruments are e.g. a piano or guitar.
In “Mono”, only one note can be played at a time. If more notes are received (almost) simultaneously, usually the last one is played.
Examples of real monophonic instruments are e.g. most wind instruments or the human voice.
The last 2 messages Omni Mode Off and Omni Mode On are problematic and not very intuitive because different manufacturers implement them in different ways. Although they only contain information about a specific channel (like any CC message), they apply to multiple channels. In conjunction with the previous two Mono and Poly modes, there are 4 configurations that are not always easy to interpret correctly. Generally - when Omni mode is On, the instrument will respond to the incoming MIDI data on all channels. When Omni mode is Off, it will only respond to MIDI messages on one Channel.
In one of the upcoming articles I will describe the different types of physical connections, sockets and plugs that are used in MIDI.