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 ChannelsJust 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 aFigure 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.
ComputerMIDI controllerMIDI moduleMIDI moduleMIDI moduleAudio interface with MIDI I/OPowered loudspeakersAudio mixerInstrumentsMicrophonesTable 29-1. Status and Data Byte Interpretation
Status Byte Data Byte 1 Data Byte 2Description Status/Channel # Note # Attack Velocity
Binary Data (1001.0100) (0100.0000) (0101.1001)
Numeric Value (Note On/Ch #5) (64) (89)