|
MIDI - By Paul Doornbusch
MIDI, or Musical Instrument Digital Interface, is a standard for digital
communication between digital devices that is geared towards the real-time
needs of traditional music. It is important to remember that it is not
the audio that is being passed around, but only the control data messages.
The messages can be as simple as ‘play the note C3 now until I tell
you to stop’, to more complex messages such as, ‘adjust the
pitchbend of note E4 up 5 more places’. Roland and Sequential Circuits
were two of the first and main manufacturers to develop the initial MIDI
standard so that synthesisers could be patched together. Roland developed
the first MIDI interface for a computer, allowing computer control of
a synthesiser.
MIDI specifies 16 separate logical MIDI Channels. These are only channels
in the logical sense; all messages for all channels travel along the same
piece of wire. Therefore, with a single MIDI cable you can control up
to 16 different instruments at once. It can do this because MIDI instruments
typically only “listen” on one channel at a time (unless it
is a poly-timbrel instrument). For example, you might have a computer
(as a sequencer) sending MIDI information to a number of instruments listening
on different channels, if you change the channel the data is transmitted
on, another synthesiser (or machine) will act on the command messages.
It is important to remember is that both the sending device (eg, the computer)
and the receiving device (eg the synthesiser) must be set to the same
MIDI Channel, or no sound will result. MIDI messages typically take the
form of ‘Note On’, ‘Note Off’ or ‘Controller
Change’.
There are two types of MIDI messages: Channel messages and System messages.
A Channel message includes a Channel number within the message and it
is received and understood by devices which are set to respond to messages
on that particular Channel, and ignored by devices set to a different
Channel. The most basic Channel message is a Note On message. When you
press a key on a synthesiser keyboard, a Note On message is sent out with
the specific key number and channel encoded within it. When you release
the key, a corresponding Note Off message is sent. Other information can
be carried by a Channel message, such as Velocity, Volume, Pitch Bend,
Aftertouch and Controller.
A System message is meant to be received and understood by all devices
that are connected, regardless of their Channel setting. These messages
control synchronisation between devices, as well as special manufacturer-specific
modes of operation. A System message can have a manufacturer and device
code embedded within it so that only a specific device will respond to
the message.
A Program Change message causes any devices tuned to the same Channel
to change internal settings corresponding to the number sent. On many
synthesisers, this causes a change in patch (or instrument sound). MIDI
specifies a range of 128 Program Change numbers. Most synthesisers do
not have the same sound on the same patch number. General MIDI is a specification
to overcome this, specifying which sounds should be on which channels.
This is to make it easier to play standard MIDI files across different
synthesisers and achieve an acceptable result.
A MIDI cable is a cable with a 5-pin DIN connector on each end, with
the centre three pins connected through to the other end. There are three
MIDI connectors: MIDI IN, MIDI OUT and MIDI THRU. MIDI IN is for receiving
MIDI messages from other devices, MIDI OUT is for sending messages to
the devices connected, and MIDI THRU sends a copy of the messages received
via MIDI IN all other devices.
MIDI is useful for musical instruments as it is not very difficult to
convert analog electrical information from sensors to MIDI information.
From there is a relatively trivial matter to send this information into
a computer and make use of it in some software, for example to control
a sound synthesis engine. However, MIDI can have some severe limitations,
particularly when used for digital instrument control for new music. Primarily,
these are a maximum resolution of 127 steps (7-bit), a structure based
on equal temperament and limited bandwidth. OpenSound Control is a network
protocol which overcomes these limitations and which is becoming more
popular with instrument builders. It is also possible to send MIDI information
over faster transports, such USB, ethernet and Firewire interfaces. However,
this only overcomes one of MIDI’s limitations.
|