MIDI (Musical Instrument Digital Interface) is a protocol of serial communication that is use to connect different audio devices to produce music.
MIDI interface give digital information to the devices, they interpret it reproducing the musical sequence at the same time. There are no files with audio recorded, it’s just coded information that is traduced in sounds.
The interface came out at the end of the 70’s. The analog synthesizers were started to use for the popular music of those days, it was easy to connect them one each other using the voltage. The problem arrived with the electrical synthesizers, it was impossible to connect and mix them, each one was different.
So MIDI was create as a language to help all this devices to connect each other. Dave Smith, president of Sequential Circuits, propose the first idea for the MIDI language to the Audio Engineering Society in the 80’s. The first model came out on 1982. Nowadays is still used for music production but in a different way, not just to connect synthesizers.
The MIDI technology has a lot of applications, starting with the most logical and important one, instrument control; instrument can communicate one each other. For composition, MIDI audio signals are sounds, so we can create music based on that. It can be use also as file sharing, game music, synthesis and sampling…
There are three different kind of devices:
- Controllers: The devices that create and generate the MIDI messages. The most typical and frequent used is a Keyboard, but there are all kind of devices such as guitars, flutes…
- Instruments: A MIDI instrument contains ports to send and receive MIDI signals, a CPU to process those signals, an interface that allows user programming, audio circuitry to generate sound, and controllers. This can be devices such as: Synthesizers, Samplers, rum machines…
- Connectors: Their work is to connect the controllers and the instruments. In this group of devices we can find the Cables, the MIDI Thru box, interfaces…
MIDI protocol includes hardware specification that consist in three different plugs: In, Out and Thru.
The device which sends the signal, for example a Keyboard, is connected to the MIDI Out plug. By the other hand , the device that receives the data is connected through MIDI In plug, this could be a synthesizer. This way, the synthesizer takes the information and produces the sound through its audio outputs. The MIDI Thru connector resend the information which is received in MIDI In plug to the other devices, that way it’s possible to connect different devices at the same time and all of them get the same information. It also deletes the delay of information.
Apart of these plugs, other kind of hardware has been used for this type of data. The most common is USB, in the lasts years this type of plug for a MIDI connections has become increasingly common. The same happen with FireWire, it starts to use on digital video cameras and now standard MIDI devices can communicate with each other through FireWire Connection without any computer. Other alternative hardware transports are: XLR connectors, Ethernet and Wireless MIDI.
MIDI messages are made by 8-bit words (bytes). There are two kinds of bytes “status bytes” (starting by 1) and “data bytes” (starting by 0), each one of those are used for different purposes. The status bytes are use to give mechanical information such as turn on a note. The data bytes give the musical information, they told us which note is it.
(status) 1001xxxx (note on)
(data) 00111100 (value of 60 that is a (do central) “C3“)
(status) 0xxxxxxx (velocity which you press the key)
We can split up the status bytes in two different groups: “channel messages”, which are sent on only one channel and can be heard only by devices receiving on that channel, or “system messages”, which are heard by all the devices.
A MIDI system has sixteen independent channels in which can send information. The channels are numbered 1-16, but in binary code, they correspond at the numbers 0-15. Though this 16 channels we can control the different devices that we have connected, before start we have to give to each device a number of channel just for a better organitzation.
In the MIDI system there are a different ways of operation. It can be “monophonic”, in which just one sound can be played at the same time, and “polyphonic”, in which different sounds can be played together. And we can split up this two in “Omni on” and “Omni off”, in the first one we don’t accept channel information but in the second one.
The most common message is “Channel message”, it’s types are: – Note on – Note off – Pitch-Bend – Program change – Aftertouch – Polyphonic Aftertouch – Control change.