1102 Chapter 29
A status byte is used to identify what type of MIDI
function is to be performed by a device or program. It’s
also used to encode channel data (allowing the instruc-
tion to be received by a device that’s set to respond to a
specific channel). A Data byte is used to associate a
value to the event that’s given by the accompanying
status byte.
The most significant bit (MSB), the leftmost binary
bit within a digital word within a MIDI byte, is used
solely to identify the data’s particular function. The MSB
of a status byte is always 1, while the MSB of a data byte
is always 0. For example, a 3 byte MIDI note-on mes-
sage (which is used to signal the beginning of a MIDI
note) in binary form might read as shown in Table 29-1.
Thus, a 3 byte note-on message of (10010100)
(01000000) (01011001) will transmit instructions that
would be read as “Transmitting a note-on message over
MIDI channel #5, using keynote #64, with an attack
velocity (volume level of a note) of 89.”
29.2.1 MIDI Channels
Just as a public speaker might single out and communi-
cate a message to one individual in a crowd, MIDI mes-
sages can be directed to communicate information to a
specific device or series of devices within a MIDI
system. This is done by imbedding a channel-related
nibble (4 bits) within the status byte, allowing data to be
conveyed to any of 16 channels over a single MIDI data
cable line, Fig. 29-2. This makes it possible for perfor-
mance or control information to be communicated to a
Figure 29-1. Example of a typical MIDI system with the MIDI network connections being shown in solid lines and audio
connections shown using dotted lines.
Computer
MIDI controller
MIDI module
MIDI module
MIDI module
Audio interface with MIDI I/O
Powered loudspeakers
Audio mixer
Instruments
Microphones
Table 29-1. Status and Data Byte Interpretation
Status Byte Data Byte 1 Data Byte 2
Description Status/Channel # Note # Attack Velocity
Binary Data (1001.0100) (0100.0000) (0101.1001)
Numeric Value (Note On/Ch #5) (64) (89)