MIDI, Sequencers, Interactive Performance, Commercial Software, and Digital Recording/Editing

1. MIDI

What is MIDI?

MIDI is an acronym standing for Musical Instrument Digital Interface, and was originally designed for the real-time control of musical devices, and in particular, to facilitate the control of multiple synthesizer set-ups from a single keyboard. The MIDI standard was proposed by Dave Smith (of the Sequential Circuits company) in 1983, and subsequently accepted by all leading synthesizer manufacturers. The MIDI standard implies two components: hardware interconnections, and a protocol for data communication.

MIDI data

MIDI consists of a number of different types of messages which together describe how music is to be (re)produced on a synthesizer. Thus, in addition to information specifying the actual pitch of notes, there is also data for amplitude, and other aspects--such as vibrato--which vary while a note is playing.

MIDI Channels

MIDI note and control data can be sent on any of 16 different channels, and--importantly--synthesizers can be programmed to receive MIDI data only on designated channels. This makes possible the playing of multiple parts each with a different timbre--these timbres either coming from different synthesizers (when in "Poly" mode), or the same synthesizer (in "Multi" mode). Unlike audio channels (which require one cable per channel--eg. 2 cables for a stereo signal), MIDI channels are all transmitted through the same cable; the channel number is identified by the encoding of the data being sent.

MIDI messages

There are numerous types of MIDI message, and to list them all at this stage would probably be more confusing than anything else. The most common MIDI message is the Note-on message (usually paired with a corresponding Note-off message), which does exactly what its name implies. MIDI messages take the form of a sequence of bytes each one consisting of an 8-bit binary number. MIDI data bytes fall into two categories: status bytes, and data bytes. Here is an example of a Note-on MIDI message:
          byte:            10010000    01000000    00010010

          byte type:        status       data        data
The first byte is a status byte, and in fact divides into two 4-bit halves: the first 4 bits (sometimes calles Most Significant Bits, or MSB), 1001, identify the status byte as a Note-on type, and the last 4 bits (sometimes calles Least Significant Bits, or LSB), 0000, identify the channel number, which in this case is equal to channel 1. All data bytes begin with a 0. Here the first data byte identifies the pitch (or keynumber) of the Note-on message, with its 7 LSB; and the second data byte identifies the velocity with which the Note-on is to be struck.

[show slide of Roads, p992]

Other commonly encountered MIDI message types include:

Pro's and Cons of MIDI

AdvantagesDisadvantages
Makes possible the seperation of synthesis device and controller--a single keyboard can play multiple synthesizers, no need for every synthesizer to have a keyboard (eg. rack-mounts) Poor choice of cable--easily damaged, not "professional" in terms of reliability. Cable cannot be longer than 50 ft, and shorter cables are sometimes prone to interference
This has lead to innovation in controller devices--producing, in addition to keyboards, wind controllers (saxophone type), breath controllers, drum pads, guitar controllers etc. Data trasnfer is serial, slow, and with low bandwidth. These factors conspire to make transmission of complex controller information reach the point of overload all to easily. This is called "MIDI choke"
The digital encoding of controller information makes possible a variety of computer applications, such as sequencers, patch editor/librarians etc. Microprocessor delays inside a given device. The microprocessor is what picks up incoming MIDI data, analyses it, then carries out the appropriate task. Since MIDI works in serial, a chord of exactly simultaneously sounding notes, is actually impossible.
With MIDI Time Code (MTC) synchronisation between other types of device, including other musical devices (such as drum machines, FX modules, mixing boards, and tape machines), as well as with video editing and playback devices. MIDI was designed with keyboard input in mind. Input from other devices, particularly where pitch does not operate in discrete steps (eg. string instruments and wind instruments) can easily become cumbersome to encode failfully as MIDI data.

2. Sequencers

Demonstration of some of the capabilities of Opcode's Vision sequencing software.


3. Digital Recording/Editing

Demonstration of some of the capabilities of the Studer Dyaxis/MultiMix system.