More on MIDI Technology
Much in the same way that two computers communicate
via modems, two synthesizers communicate via MIDI.
The information exchanged between two MIDI devices is
musical in nature.
MIDI information tells a synthesizer, in its most basic
mode, when to start and stop playing a specific note.
Other information shared includes the volume and modulation
of the note, if any.
MIDI information can also be more hardware specific.
It can tell a synthesizer to change sounds, master volume,
modulation devices, and even how to receive information.
In more advanced uses, MIDI information can indicate
the starting and stopping points of a song or the metric
position within a song.
And how is this achieved?
The basis for MIDI communication is the byte. Through
a combination of bytes a vast amount of information
can be transferred. Each MIDI command has a specific
byte sequence. The first byte is the status byte, which
tells the MIDI device what function to perform. Encoded
in the status byte is the MIDI channel.
MIDI operates on 16 different channels, numbered 0 through
15. MIDI units will accept or ignore a status byte depending
on what channel the machine is set to receive. Only
the status byte has the MIDI channel number encoded.
All other bytes are assumed to be on the channel indicated
by the status byte until another status byte is received.
Some of these functions indicated in the status byte
are Note On, Note Off, System Exclusive (SysEx), Patch
Change, and so on. Depending on the status byte, a number
of different byte patterns will follow. The Note On
status byte tells the MIDI device to begin sounding
a note. Two additional bytes are required, a pitch byte,
which tells the MIDI device which note to play, and
a velocity byte, which tells the device how loud to
play the note. Even though not all MIDI devices recognize
the velocity byte, it is still required to complete
the Note On transmission.
The
command to stop playing a note is not part of the Note
On command; instead there is a separate Note Off command.
This command also requires two additional bytes with
the same functions as the Note On byte. Most people
are confused at first by this approach to Note On and
Note Off, but after further thought they realize the
necessity of the structure.
Another important status byte is the Patch Change byte.
This requires only one additional byte: the number corresponding
to the program number on the synthesizer. The patch
number information is different for each synthesizer,
and the standards have been set by the International
MIDI Association (IMA). Channel selection is extremely
helpful when sending Patch Change commands to a synthesizer.
The SysEx status byte is the most powerful and least
understood of all the status bytes because it can instigate
a variety of functions. Briefly, the SysEx byte requires
at least three additional bytes. The first is a manufacturer's
ID number or timing byte, the second is a data format
or function byte, and the third is generally an "end
of transmission" (EOX) byte.
Previous Lesson : When
was MIDI born?
Next Lesson : MIDI in and outs
This
column has been setup to help you learn more about sound
technologies. Dr. Rajpal, an expert in the field, looks
after this new section.
Pls
send in your questions to :
akash@sudeepaudio.com
|