User manual
USER MANUAL
end of this chapter for a summary of MIDI messages.
Channel messages
Channel messages contain their channel number in the lower four bits of the status byte. A value of 0
corresponds to channel 1, 1 to channel 2, and so on, up to a value of 15 (for MIDI channel 16). When
status bytes are listed as 1011nnnn (binary), the nnnn part refers to the channel part of the status
byte. Similarly, in $Bn, the n refers to the channel part, in hexadecimal.
There are two types of channel messages: mode and voice. Mode messages are used to control the
polyphony of a synthesizer, and to send all notes off commands. Voice messages are those that
control a particular synthesizer voice on a particular channel.
Mode
MIDI allows for several variations in assigning voices to the 16 MIDI channels. These variations are
controlled by channel mode messages. The status byte for channel mode messages is the same as
for control change messages (a channel voice message). The two are differentiated by the data byte
that follows, which is 0-120 for controllers and 121-127 for mode messages.
The mode messages give you control over whether omni is on or off, and whether the unit is
responding in poly (voices assigned polyphonically) or mono (voices assigned monophonically) mode.
Omni determines whether the device is responding to voice messages on a given channel (omni off),
or to voice messages on all channels (omni on). These messages carry an implicit all notes off
command. A separate all notes off mode message is also available.
Some modes let a device respond to more than one MIDI channel at a time. Mode messages are
recognized by a receiver only when sent on the basic channel to which the receiver is assigned,
regardless of the current mode. Since the modes implemented by a MIDI device are dependent on the
actual hardware design, refer to your manual to get a more complete description.
Voice
Voice messages may be received on the basic channel and on other channels—all called voice
channels—that are related specifically to the basic channel, depending on which mode has been
selected.
Voice messages include all the messages that affect a specific instrument voice, such and note on
and note off, pitch bend, modulation, aftertouch, and program number.
System messages
System messages are not encoded with channel numbers. There are three types of system
messages: common, real-time, and exclusive.
Common
System common messages are intended for all units in a system, and include such messages as song
select and tune request.
Real-Time
System real-time messages consist of a single status byte, and are used for timing and start/stop
information. Real-time messages may be interspersed in the MIDI data stream, even within a multibyte
message, without affecting the current status. Real-time messages are usually intercepted or
generated at the MIDI driver level and used for timing information (when clocking externally, for
instance); generally, you will not have to deal with these directly.
Rev 1.2 - Page 76