Musical Instrument Digital Interface
MIDI is an electronic communications protocol, primarily designed to allow electronic musical instruments to communicate with each other. At its simplest level, it allows a controller (eg a keyboard, a drum pad etc) to send note, note velocity, note-on, and note-off information to a sound module. Other features allow the user to send (eg) continuous controller information (such as the position of a fader or joystick) or to send a full system configuration dump.
Electrically, midi is a serial communications protocol, running at 31,250 baud in a current loop configuration. The standard connector is a 5-pin 180 degree DIN Connector, with pins 4 and 5 being utilised. The receive end is opto-isolated.
The spec states that the maximum transmission distance for midi data is 15m, however this is generally accepted to be a conservative figure.
While the main application for MIDI is in music performance, it can also be found in certain aspects of show control and in some simple lighting control applications.
MIDI Show Control
MIDI Show Control is a protocol for sending commands between show control devices to allow synchronised effects and/or to reduce the number of operators needed to run a show.
An example would be in a pantomime where a genie needs to appear in a flash of light, with a synchronised sound effect and puff of smoke. Traditionally this would have taken three operators and some practice, however with midi show control it is straightforward to do and requires just one operator..
The note-on and note-off messages sent from one MIDI device to another. One curious querk of this, is that if for any reason (interference, dodgy cables etc.), a note-off message goes missing, the note can play forever. For this reason, some keyboards have a MIDI Panic button, which sends a series of note-off messages in quick succession, to clear everything down in case this has happened.
MIDI as audio
MIDI is also able to carry a timecode signal (similar to SMPTE Timecode) which can be used to synchronise devices in the system. Some Lighting Desks can use this timecode signal to trigger the cue stack.