What is MIDI?

MIDI, which means:

Musical Instrument Digital Interface,

is a digital communications protocol. In August of 1983, music manufacturers agreed on a document that is called "MIDI 1.0 Specification". Any device that has MIDI capabilities must adhere to this specific data structure to ensure that all MIDI devices are capable of working together. This protocol is a language that allows interworking between instruments from different manufacturers by providing a link that is capable of transmitting and receiving digital data. It is important to remember that MIDI transmits commands, but it does not transmit an audio signal.

The MIDI specification includes a common language that provides information about events, such as note on and off, preset changes, sustain pedal, pitch bend, and timing information. The specification has been updated more recently with specific data structures for handling sample dumps, MIDI time code, general MIDI and standard MIDI files.



MIDI information is transmitted through a MIDI cable that has DIN-type male plug connectors with five pins. Two of the pins are used to transfer digital binary information (MIDI Code). One of the pins issues a steady stream of five volts, while the other pin alternates between 5 volts and 0 volts to represent binary information (on and off). The third pin is a ground and the remaining two pins are currently not in use.


 

 

 The MIDI data is sent down the cable one bit at a time as a stream of information, which is called a serial interface . A parallel interface allows the information to be sent down separate wires so that the message reaches the device at the same time, making it faster than a serial interface. Computer chips communicate via a parallel interface.

 


 The serial interface was chosen by MIDI manufacturers because it is less expensive and more efficient than a parallel interface. The speed of a MIDI serial interface is 31,250 bits per second . There are 10 bits needed for every MIDI digital word or 3125 messages per second . Snap your finger and think about how many many events could be transmitted during that time. Consequently, the serial interface speed is more than adequate for most music applications.


MIDI Tidbits

Here's a short partial glossary of MIDI Terms. We recommend a great little book called Tech Terms #2729 for anyone involved in computer music.
AD/DA:
Analog to Digital converters receives a voltage or current and output a number. DA does the reverse.
Bank:
can be used to select alternate sets of 128 instrument voices.
Channel:
all MIDI note on events have a channel number from 1 to 16. Thus playing more than 16 simultaneous instruments requires the use of banks (multiple MIDI interfaces)
Controller:
creates MIDI events. Can be a keyboard, drum pads, guitar, accordion (yes!), saxophone, mouse, etc.
Event:
typical MIDI events are Note On, Note Off, Pitch Bend, Aftertouch.
GM:
General MIDI, a standard definition of instument patchs assignments that allows MIDI songs to play on different systems without modification
GS:
General Synthesizer, Roland's extension to GM, defines additional instruments and effects (chorus, echo)
Interface:
Unit used to connect various parts of a MIDI system, such as computers, keyboards, sound modules, synch units, etc. Interfaces can be installed on a computer bus, or connected to a serial (Mac) or parallel (PC printer) port.
MIDI Type 0:
Type 0 files have all data on ONE time ordered track. (1 of 3 defined file types)
MIDI Type 1:
Type 1 have multiple tracks
MIDI Type 2:
Type 2 are pattern files. (rarely seen)
MTC:
MIDI Time Code
Sequencer:
record and playback MIDI data. Sequencers can be dedicated hardware units or computer software.
SMPTE Time Code:
Society of Motion Picture and Television Engineers format for synchronization of video and audio. Several subformats exist. Sound Card:
fits in a PC slot. Most consumer cards have a synthesizer section, a set of stereo AD/DA converters and a MIDI interface jack on a joystick port. Connected one to a set of powered speakers or a stereo, and you can record and playback both MIDI and audio.
Sound module:
a box that creates sounds when triggered by MIDI events.
Synthesizer:
also creates sounds. Usually also has a keyboard attached.
Sysex Event:
System Exclusive events are specific to each hardware manufacturer. Sequences usually send Sysex data before playing notes to properly initialize the hardware.
XG:
Extended General MIDI, Yamaha's extension to GM, defines additional instruments and effects (reverb, chorus, variation)

General MIDI

Standard MIDI Files