More on MIDI
MIDI stands for Musical Instrument Digital Interface. It’s a communications protocol for computers and synthesizers that was developed in 1983 through the collaboration of several major electronic instrument manufacturers. By linking different MIDI devices together by MIDI cables, you have great flexibility: a key you strike on one MIDI instrument (the keyboard controller) can produce sound from a second MIDI instrument—or several other MIDI instruments; a note played by a person can be precisely recorded and reproduced by a computer; and a computer can play many MIDI instruments at once in perfect synchronization. This topic covers some sophisticated aspects of MIDI that may help you to understand Finale better.
A MIDI signal, or event, is transmitted in a burst of two or three bytes (pieces of computer data in numeric form). The first byte of every event is called the status byte, because it identifies by number the kind of event being transmitted—a note being struck, the pedal being released, and so on—and what MIDI channel it’s being sent on. The other bytes are called data bytes, because they tell the computer or MIDI instrument which MIDI device (of the type described by the status byte) is being operated, and by how much its status has changed. For example, when you strike a note, the data bytes produced describe which note you played and how hard you struck the key.
Here are some of the various MIDI events described by the status byte and what kind of information is conveyed by the corresponding data bytes.
MIDI event described by status byte | Parameters described by data bytes |
Note On (pressing a key) | MIDI key number and key velocity |
Note Off (releasing a key) | MIDI key number and release velocity |
Polyphonic Aftertouch (channel pressure) | MIDI key number and amount of pressure applied |
Controller | Controller number and its value (see next table) |
Patch Change | Patch number |
Monophonic Aftertouch (channel pressure) | Amount of pressure applied after note is struck |
Pitch Bend | Position of pitch wheel |
System Codes | Variable |
In a few Finale dialog boxes you’ll see sets of three text boxes containing numbers preceded by a dollar sign. These three boxes contain hexadecimal notation for the three bytes in a MIDI event: from left to right, the status byte and the two data bytes. If you
While the events in the table above are described by MIDI status bytes, there’s another class of status bytes called System status bytes that are independent of any particular MIDI channel. They include MIDI Sync data; Sequencer Start, Stop, and Continue commands; System Exclusive data (unique to each synthesizer); and other synchronization and system-exclusive data.
In this manual you’ll frequently encounter the term MIDI controller. Controller data is usually produced by a MIDI device that affects the MIDI notes you’re playing—pedals, pitch and modulation wheels, breath controllers, and so on. There are some useful controllers that are settings more than they are devices: MIDI volume level, tremolo depth, and right/left stereo pan are examples. In the table below, the most common MIDI controllers are listed along with their controller numbers. Armed with these controller numbers, you can use Finale’s Expression or MIDI tools to add this kind of data to the playback of your scores.
Controller number | Controller |
1 | Modulation Wheel (or Lever) |
2 | Breath Controller |
4 | Foot Controller |
5 | Portamento time |
7 | Main volume |
8 | Balance |
10 | Pan |
11 | Expression Controller |
64 | Sustain |
65 | Portamento |
66 | Sostenuto |
67 | Soft Pedal |
91 | External Effects Depth |
92 | Tremolo Depth |
93 | Chorus Depth |