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 part of the appendix 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 backspace over the dollar sign, however, you can enter normal (decimal notation) numbers instead of hexadecimal notation; Finale will translate your numbers into hexadecimal notation automatically. (Note that most times you see the MIDI data text boxes like this, you’ll also see a Listen button. The Listen button lets you play the MIDI event being requested; Finale translates the key, pedal, or controller you play into hexadecimal notation automatically.)

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.

Often in the Finale manual you’ll 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.

 

Controller number

Controller

Controller number

Controller

1

Modulation Wheel (or Lever)

64

Sustain

2

Breath Controller

65

Portamento

4

Foot Controller

66

Sostenuto

5

Portamento time

67

Soft Pedal

7

Main volume

91

External Effects Depth

8

Balance

92

Tremolo Depth

10

Pan

93

Chorus Depth

11

Expression Controller

 

 

 

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.

 

image\btn_Table_of_Contents64.gif