Table of Contents
- 20.1. Introduction
- 20.2. MIDI protocol specifications
- 20.3. MIDI system configurations
- 20.4. MIDI Messages
- 20.5. General MIDI
The term MIDI is an acronym for Musical Instrument Digital Interface. It is a communication protocol[43 ] which was invented in 1983 and which allows to drive musical equipment by means of a controlling device. We will see how in practice this protocol allows us to control a whole set of instruments at the same time, making them work together in synchrony. Let's have an overview of how the system works by using a keyboard with a computer-controlled MIDI interface[44 ] as our example. The computer has a software which is capable of "recording"[45 ] the impulses coming from the keyboard, and even stores the instants in time at which they arrive; this means we can play a tune on the keyboard and "record" it on the computer. It's very important to understand that the computer doesn't record the sound coming from the keyboard, but rather, it records the codes that correspond to the notes being played and their time-references. In the reproduction phase the computer sends the codes it stored in the previous phase to the keyboard which in turn interprets them as if a musician had actually played those notes in that moment. The protocol hasn't changed since the day it was created (although it has undergone quite a few expansions) and this allows very old devices to be able to communicate with modern machinery, which can therefore happily still be used. Throughout this section we will be taking a detailed look at MIDI protocol and the contexts in which it is used. From now on, as our reference, we will always consider a keyboard as our MIDI device (since keyboards encompass all the functions we will be describing), even though all the principles we will explore are applicable to any device that has a MIDI interface.
Nowdays, MIDI devices are often driven by computers, so the part of the MIDI protocol regarding the physical layer (cables, connectors) has changed towards the USB standard. In others words, the MIDI connection is made by USB cables and connectors, while the application layer (MIDI messages) has remained unchanged.
[43 ] A protocol is a body of specifications that defines all aspects of communication between two entities. By entities we mean any device that is capable of communicating with other devices in the ways defined by the communication protocol. In our case the two entities that communicate with each other could be a keyboard and a computer controlling it.
[44 ] An interface acts as a translator between two devices. It converts the signals generated by a device into a format that is intelligible for the device that receives and elaborates them. The type of data that reaches the interface is binary: electric impulses representing values 0 and 1, grouped, if necessary, into blocks of 8, 16 or more bit. A serial interface transfers the bits one by one whereas a parallel interface transfers groups of n bits at a time and is therefore far quicker at transferring data. However, greater transfer speed also means more complex circuitry, which ultimately means... it is more expensive.
[45 ] This operation is carried out by means of softwares called sequencers