User manual
_________________________________________________________________________________________________________
CMK-1 Manual (Issue-1)
Page-56 October 20, 2004
CLASSIC MIDI KEYBOARD
CMK-1
APPENDIX B:
MIDI PROTOCOL SPECIFICATION
MIDI Protocol Specification
[2]
MIDI is a convenient method of electronically recording performances and transferring them to a number of audio
devices supporting MIDI software and hardware. MIDI files are smaller than their counterparts in the electronic audio
music category. In the simplest form, MIDI is a sequence of messages that describe the exact steps that a soundcard
plays. The two primary message types are ‘Channel’ and ‘System’.
Channel Messages
Channel Messages apply to a specific MIDI channel and include the MIDI channel number in their status byte.
Note On, Note Off, and Velocity messages are transmitted on any of the sixteen logical MIDI channels. The
message is sent as three data bytes. The first byte termed the ‘status’ byte indicates the Channel number. The
second byte specifies the key number. The third byte specifies the velocity which is the amount of force
applied to a key, or the volume of the key pressed.
Aftertouch is a message that is transmitted to describe the amount of pressure applied to keys after they are
pressed to control aspects of sound production such as vibrato. The message is in the form of one data byte
specifying the pressure value.
Pitch Bend modifies the sound on a given MIDI channel. The message is in the form of two data bytes which
specify the position of the pitch wheel.
Program Change allows the user to control and change the type of instrument being played on a given MIDI
channel. The message is in the form of one data byte.
Control Change allows the user to specify the function of the synthesizer. The message is in the form of two
bytes, the first is a Status Byte indicating the controller number, and the second is a data byte indicating the
control value.
Bank Select expands the number of different instrument sounds that may be selected. A Control Change
message usually precedes a Program Change message allowing 16,384 banks of 128 sounds to be played.
Mapping of the sounds is dependent upon the manufacturer, which have adopted their own standards.
RPN and NRPN are Registered Parameter Number and Non-Registered Parameter Number respectively.
These messages allow expansion of the number of controllers available via MIDI. Registered Parameters are
numbers assigned for functions like control pitch bend sensitivity and master tuning. Non-Registered
Parameters are those which can be assigned by manufacturers to handle other functions.