A Beginner's Guide To MIDI

Member of the Music HyperBanner !

So Where Does The Computer Fit Into All This Then?
Although the original idea was to allow one keyboard to control a number of sound sources (in the form of other synthesisers or M.I.D.I. modules) it wasn't long before computers started to be incorporated into the M.I.D.I. chain.
It was bound to happen, since M.I.D.I. involves instruments communicating by using a string of binary digits, and the one thing that computers can do is store and manipulate binary digits.
Although there are all sorts of computer programmes designed to store and manipulate M.I.D.I. data, the most common is the Sequencer. This is a programme which records and manipluates M.I.D.I. instructions, commonly called Events. Note that a M.I.D.I. sequencer doesn't record sounds (although the issue is getting somewhat confusing with the arrival of programmes which integrate M.I.D.I. sequencing with Hard Disk Recording).
The most popular sequencer program across the P.C., Atari and Macintosh computer platforms is Cubase, published by Steinberg. However, I choose to use Logic, published by Emagic. Just click on the icon below if you want to see why.

Ok. so, remembering that the sequencer only records the instruction eminating from a M.I.D.I. instrument will enable you to avoid one of the most common difficulties afflicting M.I.D.I. newbies. Here's the scenario:

Fledgling M.I.D.I. musician Jon-Mitchell Jam-Jar buys himself a computer, complete with a M.I.D.I. sequencer. Having read up on some of the classic synthesisers of the past 20 years he equips himself with a Yamaha DX7. He hooks up the M.I.D.I. cables correctly, and boots up his sequencer. He's ready to go.
He starts by recording a hypnotic repetitive bass part which he's very happy with. He now wants to add a string part over the top. He changes the sound on the DX7 so that its now playing a lush approximation of the London Symphony Orchestra, but ...... Oh No! The bass part is now being played by violins. "I've recorded my bass part into the computer" he says, "but its not playing back properly".

Of course, now that you know what a M.I.D.I. sequencer actually is you'll realise the mistake he's making. The computer and sequencer are simply recording M.I.D.I. instructions and not the sounds produced by the keyboard. When the sequencer plays the recorded data back it re-transmits the instructions, just as the original keyboard would when it was played in the first place.
The computer is doing the job of a mechanised keyboard player. In fact, in many ways it is simlar to the old pianolas, or player-pianos, which played music according to holes punched in a roll of paper. The sequencer punches the computerised equivalent of holes in the paper. Without the sound producing mechanism the holes are just ....uhm... holes. If Jon wants a bass sound and a string sound playing at once he'll either need two modules/synthesisers, with one sound each, or a device that is capabale of playing more than one sound at once, on more that one M.I.D.I. channel (more of this in a bit).

There are a couple of things to notice from the diagram above. Firstly, the master keyboard is connected so that it can send M.I.D.I. data to the computer, but is no connection to its M.I.D.I. In. This means that the computer can't "play" the master keyboard. This is a common scenario since many master M.I.D.I. keyboards are in fact "dumb", featuring no sound generating hardware themselves, but rather being devoted solely to producing M.I.D.I. instructions. The alternative is to use a genuine synthesiser for both roles.
The second thing to note is that the computer only has two M.I.D.I. connections. One is the M.I.D.I. In which receives instructions from the master keyboard. The other is a M.I.D.I. Out/Thru, which covers both functions. This is because when the master keyboard is being played it is necessary to retransmit the instructions arriving at the M.I.D.I. In to the following modules, but when the M.I.D.I. data is being replayed from the sequencer the computer itself needs to originate the data.