Midi Notation
The MIDI protocol is a music description language in binary form.
Each action of musical performance is assigned a specific standardised
binary code or 'instruction'. Because MIDI was designed originally for
keyboards many of the actions are percussion oriented. To sound a note
in MIDI language you send a "Note On" message. Assigning that note a
"velocity" determines how loud it plays. Other MIDI messages include
selecting which instrument to play, mixing and panning sounds, and
controlling various aspects of electronic musical instruments. From the
moment the MIDI 1.0 Standard was finalized in the early 1980s it was
clear that certain matters had been overlooked. There was no
specification for the way patch numbers were assigned to particular
instruments, at least not until Roland proposed an addendum to MIDI 1.0
called General MIDI (or GM) in the late 1980s. By creating a stand
'patch bank' the user could be certain that each of the 128 patches
produced the sound specified, whether it might be a Grand Piano (patch
1) or a Nylon String Guitar (patch 25).
There were also deviances in regards to Note Number mapping. For
example, some manufacturers mapped middle 'C' to MIDI Note Number 60
(see the diagram below). However, others mapped it to Note Numbers 72 or
48. Another shortcoming in the specification was that the MIDI
standards do not designate octaves. The standard merely designates
'middle C' as being note number 60. Two octave designations have been
devised. One version of the MIDI system uses C3 to designate 'middle C'
(MIDI note 60, 261.626 Hz). That means that the octave designation for
MIDI note "0" would be "-2" or notated as C-2. A second version uses the
lowest note available to the MIDI system (MIDI note 1, 8.176 Hz) to
designate Octave "0" with the notation of C0. In this system, 'middle C'
(MIDI note 60, 261.626 Hz) is octave 5 with the notation of C5.