By Craig Anderton | Wed, 01 Sep 2010
Cheat Sheet delivers concise, explicit
information on specific recording/audio-related
subjects. This installment
describes MIDI basics for those raised
on audio, but who now want to work with MIDI.
MIDI DEFINED
MIDI means Musical Instrument Digital
Interface, and is a special-purpose computer
language devoted to music. Consider
MIDI as a catch-all name for the
process of sending digital control messages
from one device (such as a
footswitch, keyboard, sequencer, etc) to
another device (e.g., a synthesizer). This
can happen over a physical cable or
within a computer.
THE MIDI INTERFACE
This is a physical device that communicates
with your computer so your host
program can send MIDI data to, and
receive MIDI data from, the physical
world. There are two main interface
types. One includes hardware 5-pin DIN
MIDI in and out connectors that hook up
to hardware MIDI devices. The other
dispenses with physical connectors and
sends/receives MIDI data via USB (or
more rarely, FireWire), so you don’t need
a dedicated MIDI interface as long as
your computer has a spare port.
MIDI THRU CONNECTORS
A MIDI Thru connector complements
the in and out connectors. It re-transmits
the incoming data at the MIDI in,
which can then feed another MIDI-compatible
device.
HOW MIDI
RECORDING WORKS
The MIDI language expresses various
aspects of a musical performance,
such as the notes that are played,
their dynamics (called “velocity”),
pitch bend wheel changes, and more.
When you play (for example) a synthesizer,
its MIDI out transmits data that
quantifies all aspects of your performance.
The computer records this
data, which you can then play back
through the computer interface’s MIDI
out, and use to drive either the synthesizer
you played or any other MIDIcompatible
synthesizer. This instrument
will reproduce the performance
exactly as you performed it.
ADVANTAGES OF
RECORDING MIDI DATA
INSTEAD OF AUDIO
You can change a MIDI note’s pitch,
dynamics, start time—almost any aspect
of the performance—with a host
program’s MIDI editing capabilities. This
makes it very easy to correct mistakes;
for example, it’s very difficult to do
something like change one note inside a
chord when dealing with audio, but it’s
simple with MIDI. MIDI also makes it
easy to change an instrument’s sound,
because all you need to do to is send
the MIDI data to a different instrument,
or different sound within the same
instrument. Also, MIDI-driven tracks handle
pitch transposition and tempo
changes better than digital audio,
because you’re changing the data being
fed to notes—not the timbral quality of
the notes themselves.
MIDI LANGUAGE
STRUCTURE
MIDI groups information in multi-byte
“sentences” or “messages” of one or
more “words.” Status words identify a
particular function, such as note on,
note off, pitch wheel change, and so on.
Data words provide data on the function
identified by the status word, such as
which note is on and/or how much the
pitch wheel has changed.
MIDI CHANNELS
MIDI can send and receive data over 16
different virtual channels; each channel
can carry unique data and drive its own
polyphonic MIDI instrument. This is sent
over a single MIDI cable or connection
as MIDI transmits information, not audio.
MIDI sends this data serially—each word
is sent consecutively. Tagging each
piece of data with a channel identification
number (ID) allows programming a
particular MIDI instrument to look only
for data with that particular channel ID.
MIDI MODES
Two common MIDI modes determine
how devices respond to channelized
data. Omni mode accepts data coming
in over any channel. Regardless of
the channel ID, an instrument or track
in Omni mode will attempt to act on
any incoming data. Poly mode
receives only messages intended for a
specific channel. Thus, two MIDI
receivers set to receive different channels
could monitor the same data stream,
but be controlled independently of
each other.
MIDI PORTS
When MIDI was invented, 16 channels
seemed like a reasonable number. However
as instruments evolved, this clearly
wasn’t enough. Some MIDI interfaces
include several MIDI ports, each of which
can carry 16 channels. For example, an
interface with four ports could deliver
data on 4 x 16 = 64 MIDI channels.
MIDI PROGRAM
CHANGE COMMANDS
These allow changing an instrument
sound on the fly, even in the middle of a
phrase if necessary, by calling up a different
program (e.g., guitar sound
instead of piano). MIDI originally
provided for 128 MIDI program change
messages. Later, a Bank Select message
was added that allows selecting up
to 16,384 banks of 128 programs each.
MIDI CONTROLLER
MESSAGES
These messages translate the position of
pedals, knobs, levers, switches, and
other physical “controllers” into digital
MIDI data that can be recorded into a
computer sequencer, then played back
to vary a particular parameter within an
individual program (delay feedback, filter
frequency, vibrato amount, etc.). These
messages usually digitize the physical
controller motion into 128 discrete values
(0–127).
CONTROLLER
MESSAGE NUMBERS
MIDI “tags” each continuous controller
message with an ID from 0 to 127. Don’t
confuse this with channel IDs; each
channel can support up to 128
controllers, so (for example) a Controller
7 message appearing over Channel 2 is
independent from a Controller 7 message
appearing over Channel 3.
MIDI TIMING AND
SYNCHRONIZATION
MIDI also includes messages that
define tempo (therefore allowing easy
tempo changes), synchronization
among multiple pieces of MIDI gear,
and transport control.