Status
D7----D0 |
Data Byte(s)
D7----D0 |
Description |
Channel Voice
Messages |
1000cccc |
0nnnnnnn
0vvvvvvv |
Note Off event.
This message is sent when a note is released (ended).
(nnnnnnn) is the note number.
(vvvvvvv) is the velocity. |
1001cccc |
0nnnnnnn
0vvvvvvv |
Note On event.
This message is sent when a note is depressed (start).
(nnnnnnn) is the note number. |
1010cccc |
0nnnnnnn
0vvvvvvv |
Polyphonic Key Pressure (Aftertouch).
This message is sent when the pressure (velocity) of a previously
triggered note changes.
(nnnnnnn) is the note number.
(vvvvvvv) is the new velocity. |
1011cccc |
0nnnnnnn
0vvvvvvv |
Control Change.
This message is sent when a controller value changes. Controllers
include devices such as pedals and levers. Certain controller numbers
are reserved for specific purposes. See Channel Mode Messages.
(ccccccc) is the controller number.
(vvvvvvv) is the new value. |
1100cccc |
0ppppppp |
Program Change.
This message sent when the patch number changes. (ppppppp) is the
new program number. |
1101nnnn |
0ccccccc |
Channel Pressure (After-touch).
This message is sent when the channel pressure changes. Some velocity-sensing
keyboards do not support polyphonic after-touch. Use this message
to send the single greatest velocity (of all the current depressed
keys).
(ccccccc) is the channel number. |
1110nnnn |
0lllllll
0mmmmmmm |
Pitch Wheel Change.
This message is sent to indicate a change in the pitch wheel. The
pitch wheel is measured by a fourteen bit value. Center (no pitch
change) is 2000H. Sensitivity is a function of the transmitter.
(llllll) are the least significant 7 bits.
(mmmmmm) are the most significant 7 bits. |
Channel
Mode Messages (See also Control Change, above) |
1011nnnn |
0ccccccc
0vvvvvvv |
Channel Mode Messages.
This the same code as the Control Change (above), but implements
Mode control by using reserved controller numbers. The numbers are:
Local Control.
When Local Control is Off, all devices on a given channel will
respond only to data received over MIDI. Played data, etc. will
be ignored. Local Control On restores the functions of the normal
controllers.
c = 122, v = 0: Local Control Off
c = 122, v = 127: Local Control On
All Notes Off.
When an All Notes Off is received, all oscillators will turn off.
c = 123, v = 0: All Notes Off
(See text for description of actual mode commands.)
c = 124, v = 0: Omni Mode Off
c = 125, v = 0: Omni Mode On
c = 126, v = M: Mono Mode On (Poly Off) where M is the number
of channels
(Omni Off) or 0 (Omni On)
c = 127, v = 0: Poly Mode On (Mono Off)
(Note: These four messages also cause All Notes Off)
|
System
Common Messages |
11110000 |
0iiiiiii
0ddddddd
..
..
0ddddddd
11110111 |
System Exclusive.
This message makes up for all that MIDI doesn't support. (iiiiiii)
is a seven bit Manufacturer's I.D. code. If the synthesizer recognizes
the I.D. code as its own, it will listen to the rest of the message
(ddddddd). Otherwise, the message will be ignored. System Exclusive
is used to send bulk dumps such as patch parameters and other non-spec
data. (Note: Real-Time messages ONLY may be interleaved with a System
Exclusive.) |
11110001 |
|
Undefined. |
11110010 |
0lllllll
0mmmmmmm |
Song Position Pointer.
This is an internal 14 bit register that holds the number of MIDI
beats (1 beat= six MIDI clocks) since the start of the song. l is
the LSB, m the MSB. |
11110011 |
0sssssss |
Song Select.
The Song Select specifies which sequence or song is to be played. |
11110100 |
|
Undefined. |
11110101 |
|
Undefined. |
11110110 |
|
Tune Request.
Upon receiving a Tune Request, all analog synthesizers should tune
their oscillators. |
11110111 |
|
End of Exclusive
Used to terminate a System Exclusive dump (see above). |
System
Real-Time Messages |
11111000 |
|
Timing Clock.
Sent 24 times per quarter note when synchronization is required
(see text). |
11111001 |
|
Undefined. |
11111010 |
|
Start.
Start the current sequence playing. (This message will be followed
with Timing Clocks). |
11111011 |
|
Continue.
Continue at the point the sequence was Stopped. |
11111100 |
|
Stop.
Stop the current sequence. |
11111101 |
|
Undefined. |
11111110 |
|
Active Sensing. Use of this
message is optional. When initially sent, the receiver will expect
to receive another Active Sensing message each 300ms (max), or it
will be assume that the connection has been terminated. At termination,
the receiver will turn off all voices and return to normal (non-active
sensing) operation. |
11111111 |
|
Reset.
Reset all receivers in the system to power-up status. This should
be used sparingly, preferably under manual control. In particular,
it should not be sent on power-up. |