The Myths Of MIDI
MIDI has been with us for almost a decade, yet most users still labour under Misconceptions about what it actually can and cannot do. Paul D. Lehrman explodes some of the more common myths about MIDI.
For many people, MIDI is magic. Even though on a scale of technological abstruseness it comes far below, say, the formulae for determining the impact of 1992 on the price of cucumbers, to many of the less-technically-oriented musicians who use MIDI, it is pretty mysterious stuff. History teaches us that where there is mystery, there arises mythology: attempts to explain the unexplainable. So naturally as MIDI has become more popular a lot of myths about it, which many people accept as gospel, have also become popular. Like other myths, many MIDI myths have at least some basis in fact, while some are entirely fanciful or, worse still, the product of some misguided soul. Let's look at a dozen of them, and try to explain what they mean and where they came from.
Myth 1) Daisy-chaining MIDI devices using MIDI Thru jacks causes delays.
This is one of the most cherished and oft-repeated of MIDI myths. Supposedly, a MIDI signal is delayed by about 3 milliseconds between a device's MIDI In and its MIDI Thru jack. Daisy-chaining several devices multiplies the delay, to the point where the last synthesizer in the chain could be playing a beat behind all the others. In fact, the delay in a properly-designed MIDI device between the In and Thru jacks is of the order of 3 microseconds, which is the amount of time it takes an opto-isolator (a photocell-based electronic component used to buffer the signal at every MIDI In jack) to fire. You should therefore be able to chain about 100 MIDI devices before a delay equivalent to a single MIDI byte would be encountered (and a delay shorter than 3 bytes is totally inaudible.)
The origin of this myth is interesting. One American magazine claims it grew out of a 1986 misprint, which was then taken as gospel by the MIDI community, but I think it's a little more complex than that. Devices which use 'software Thrus', such as sequencers (either computer-based or standalone) will impose delays on signals going through them, and these can indeed be as high as 3 milliseconds. Since the first popular MIDI sequencers used this design, much of the basis of the myth may have come from this fact.
By itself this delay should not be objectionable (and today's sequencers can easily compensate for it at the editing stage), but if you were to daisy-chain five of these sequencers together, and tried to play through them all, you would no doubt experience significant delays. Fortunately, there's no earthly reason why anyone would want to do this.
The irony of this myth is that daisy-chaining many MIDI synths does cause problems, but they're of a different nature. The MIDI signal is a stream of 0s and 1s — logical 'ons' and 'offs'. The ons and offs are supposed to be all the same length, but for various reasons after passing through several opto-isolators and stages of logic circuitry, the on-time of the signal will start to shorten. After a certain point, it is so short that the device reading it will actually miss it, and a '0' (which is the meaning of a logical on bit) will be misinterpreted as a '1' (logical off). This can create all sorts of unspeakable horrors, like missed notes and controller moves, things coming out on unexpected channels, or weird noises emanating from synths that you thought were supposed to be quiet. At what point does it occur? It varies widely, depending on circumstances. Some folks think you shouldn't daisy-chain more than three devices in critical applications, while others say you can get away with as many as 10. Because the problem (unlike subtle timing delays) is so obvious, you will hear it right away if it occurs in your setup, and solving it is merely a matter of shortening the chain.
Myth 2) MIDI cables can only be 15 feet long.
Actually, the MIDI spec says MIDI cables should be limited to 15 meters, but in many cases you can go longer than that, if you use high-quality cable. I've seen runs of close to 100 feet with no problems, but if you really need to run a MIDI line that far, you might consider using one or more Thru boxes in the middle, or a LAN (local area network) such as Lone Wolf's Media Link. Excessively long runs can cause signal distortion, and bits may be missed by the receiving device, with the results described above.
Myth 3) 5-pin DIN hi-fi cables can be used as MIDI cables.
Yes and no. According to the spec, pins 1 and 3 of a MIDI jack (the outside pins), and therefore conductors 1 and 3 of a MIDI cable, should not be connected at all. A DIN hi-fi cable has those conductors wired. If all the devices in your MIDI system follow the rules, there should be no problem. However, if one device uses the extra pins for any kind of signal (the Atari ST, for example, uses them for MIDI Thru), and another device uses the pins for a different kind of signal (there have been reports of boxes that use the pins to carry power supply voltages), a hi-fi cable will get you in big trouble. In addition, while five-pin DIN hi-fi jacks have always been flush-mounted with the chassis, many manufacturers are now recessing their MIDI jacks. DIN hi-fi cables with particularly thick connectors on the end will often not fit into recessed MIDI jacks.
Myth 4) Special high-quality cables make MIDI go faster.
It shouldn't be long before someone tries to sell you "Mutant MIDI HyperCables, featuring separate conductors for the 1s and 0s, to keep those pesky bits from getting mixed up!" There may be some validity to the claims that the makers of super-cables for audio and speakers are making (although I still count myself among the sceptical), but in the case of digital data like MIDI, either the cable does the job or it doesn't. There's not much of a gray area. There's also no conceivable way for a cable to slow down a MIDI signal. If a cable is exceptionally poor, then the signal can get distorted, and we know what happens then. For short runs, pretty much any old two-conductor shielded cable will do. If you need longer ones, use good-quality balanced mic cables. Anything fancier than that is a waste of money.
Myth 5) MIDI only sends 24 Clocks per quarter note, so there's no point in designing a sequencer with a better resolution than that.
"The delay in a properly-designed MIDI device between the In and Thru jacks is of the order of 3 microseconds, which is the amount of time it takes an opto-isolator to fire. You should therefore be able to chain about 100 MIDI devices before a delay equivalent to a single MIDI byte would be encountered."
This one has caused more head-scratching over the years than any of the others, because it seems to make sense. Actually, the number of MIDI Clocks sent per quarter note over a MIDI cable, and the resolution of a sequencer have absolutely nothing to do with each other. A MIDI Clock is a specific MIDI command: the bytes F8, in hexadecimal notation. This command is generated by a sequencer, or by a box reading timing signals off of a tape (SMPTE or FSK, for example), which is known as a 'master'. The commands are received by a 'slave', which can be a drum machine or a(nother) sequencer, which in turn generates MIDI notes and/or controllers — or in the case of drum machines, sounds — based on its own internal patterns or sequences. (This means, by the way, that if a drum machine is simply playing MIDI notes coming from a sequencer, and is not using its own internal patterns, you shouldn't send it any MIDI Clocks.)
The Clocks are sent 24 times per quarter-note, and they serve to make sure that the tempo at which the slave is playing its data is exactly the same as the tempo at which the master is playing. If the master speeds up, slows down, or stops, so does the slave. 24 parts per quarter (ppq) is good enough resolution for tempo following.
Now, MIDI is an 'asynchronous' protocol, which means that a byte can be sent down a MIDI cable at any time — it doesn't have to wait for a particular division of a quarter note or some other arbitrary 'time slice'. So the potential resolution of MIDI, at least when it comes to single events, is actually infinite. A sequencer, however, cannot have infinite resolution because it can only do things like send out MIDI bytes when its own internal clock goes 'tick'. You can't tell a computer, "1/3 of the way through the next clock cycle, do this"; you must say, "On the next clock cycle...". The resolution of a sequencer, which is the number of slices it divides its quarter notes into internally — in other words, how finely the sequencer will divide up time when it comes to determining exactly when a particular MIDI event occurs — is dependent in part on this. If the device's internal clock is very fast, its resolution can be very high. If it's slower, its resolution will be limited.
An even bigger factor in determining resolution is how hard the sequencer's designer wants the program to work. A sequencer that breaks beats into a thousand parts has to perform much more accurate calculations than one which breaks beats into mere hundreds. Therefore, sequencer resolution has nothing to do with the MIDI spec, but is strictly a function of the hardware and the designer's wishes. There are sequencers with resolutions from 24 to 1,024 parts-per-quarter note (ppqn), although most offer resolutions between 96 and 480.
Before you go out looking for a 16 Mega-ppqn sequencer, note that there is a practical limitation to how fine a sequencer's resolution can be. Although the start time of a single MIDI event is totally arbitrary, there are restrictions on how fast MIDI events can be sent in sequence. Because a MIDI command normally requires 30 bits, and MIDI runs at 31,250 bits per second, it is in practical terms capable of resolving successive MIDI events only to about the nearest 1/1000th of a second, which translates to about 480 ppqn at 120 beats per minute. Any resolution greater than that would serve no purpose.
A further problem is that the response time of many synthesizers is far from instantaneous: it typically takes a couple of milliseconds for a note to sound after a MIDI command is received, and sometimes much longer. To make matters much worse, many synths' response time is inconsistent, so no matter how accurately you send the data, the timing of the music will be at least slightly fuzzy. In real-world situations, therefore, an infinite resolution sequencer is, literally, a waste of time.
Myth 6) Hardware sequencers have better timing than software sequencers because they have higher/lower (choose one) resolution, or because they don't have to spend CPU time drawing screens.
An onerous sort of a myth, mostly because it has been shamelessly expounded in some particularly obnoxious ads (in the US) by a manufacturer who should know better. Unless a sequencer is designed extremely poorly, or it is running on a very slow computer, the limiting factor on its performance (as discussed above) is MIDI itself and the receiving devices, not the hardware platform generating the data. Any software sequencer designer with half a brain knows that when it comes to choosing between generating MIDI data with accurate timing or updating the screen quickly, the music must always take priority. That's why, when you play a sequence in some enormously complicated programs, the screen often moves like molasses. It may seem to you that the program is slowing down, but in reality the timing of the music is completely unaffected.
Myth 7) You can record MIDI on tape.
If MIDI were an audio signal, it would be essentially a 31.25kHz square wave. No audio tape deck can record that. Which is not to say that people haven't tried to put MIDI on tape, using techniques like frequency-shift keying or real-time data compression, and under some specialised circumstances these can work. But as a general rule, it's not something you should try at home.
On the other hand, you can record MIDI Clocks on tape, and use that to synchronise a sequencer or drum machine to audio on other tracks of the same tape. The Clocks themselves are not recorded, but are instead converted into frequency shifts of a steady tone, ie. each time a Clock occurs, the frequency changes briefly. Since there are only 24 Clocks per quarter note, and the designer of such a system can choose any frequency he wants for the tone (2,000Hz with a 500Hz shift, for example, would work just fine), this is well within the capabilities of any audio deck. And before you start writing your nasty letter, yes, you can put a MIDI sequence onto a computer disk and then back that disk up onto streaming tape. So in that way you can record MIDI on tape. But not in real time. And like a fascinating fellow from Montreal once told me, "Real time is not negotiable".
"Unless a sequencer is designed extremely poorly, or it is running on a very slow computer, the limiting factor on its performance (as discussed above) is MIDI itself and the receiving devices, not the hardware platform generating the data."
Myth 8) MIDI Time Code makes Clocks and Pointers obsolete.
Although their uses overlap, MIDI Time Code (MTC) and MIDI Clocks and Song Position Pointers (sometimes collectively called 'MIDI Sync') are two distinct entities, and both have a place in the modern MIDI studio. MTC, which is based on 'real' (ie. clock on the wall) time, is used primarily to synchronise sequencers, audio edit-list programs, and computer-based hard-disk recorders to an external source generating SMPTE timecode, such as audio or video tape. A sequencer locked to SMPTE and MTC can store all of its starting time ('offset') and tempo change ('tempo map') information as part of each sequence, rather than relying on an external SMPTE-to-MIDI sync convertor, in which offsets and tempo maps must be programmed and stored separately. This makes adjusting timings within a sequence to fit taped sounds or images much easier and more precise.
MIDI Sync, which is based on musical tempo, is the best choice for locking together two or more MIDI devices that play at the same tempo, such as two sequencers, or a sequencer and an external drum machine (playing its internal patterns). Can you use MIDI Time Code for this kind of application? Yes, but there are potential problems. When it is reading MIDI Time Code, a device has to interpret the incoming MTC number and translate it continuously into tempo information. There will always be slight errors caused by the need for the device, which does not boast infinite arithmetical precision, to round off when making its calculations.
These errors are compensated for with a special checking algorithm that keeps events from drifting too far, by slowing down or speeding up playback when an error is discovered. If the algorithm is a good one, the changes are smooth and very tiny, and the procedure is inaudible. However, if two devices reading the same timecode round off numbers differently, and/or have different compensation algorithms, the music they produce will drift, relative to each other, back and forth. The drift may be small, but it may be audible in the form of phasing, flamming, or shaky grooves. MIDI Clocks on the other hand are a completely unambiguous way of making sure that tempos are locked up tight. There is no rounding off, and under most circumstances no room for error.
Consequently, MTC and MIDI Sync can easily exist side-by-side. If you have two sequencers which you want to follow tape simultaneously, lock one to MTC, and then have it transmit clocks and Song Position Pointers to the other.
Myth 9) MIDI Choke is very common.
MIDI choke is what happens when the data density on a MIDI cable gets too high, and the events start shoving each other around so that chords become arpeggios and grooves turn into hiccups. MIDI is so slow that this happens all the time, right? Well, I teach college courses in MIDI composition, and every year when I start a new class, I try to demonstrate MIDI choke for them. Every year, I'm amazed at how much data needs to be piled up before problems become audible. Unless you are creating huge orchestrations, with gobs of polyphonic aftertouch on every note and breath controller on every channel, you really should encounter MIDI choke fairly rarely.
The most common cause of unexpected MIDI choke is inadvertently recording aftertouch (formally known as Channel Pressure) on every track of a sequence (remember, the Yamaha DX7 always sends out aftertouch, even if the instrument is set up not to respond to it). So check your tracks for unwanted aftertouch before you go screaming about how slow MIDI is.
Another cause is excessive quantisation — MIDI, remember, is a serial protocol, which means that events happen one after another. So, if you tell your sequencer to play 200 different notes at exactly the same time it will, metaphorically, laugh in your face and, literally, issue forth some ungodly smear of data. You'll have to make choices as to which events come first, and adjust the tracks accordingly by slipping events slightly in time. Your sequencer will thank you for it, and your music will play back much more consistently. Quantising controllers adds to the problem, and it is usually unnecessary. A sustain pedal command (controller 64) doesn't care whether it occurs as soon as a note is played, or a few milliseconds later, as long as the note is held that long.
Yet another cause of MIDI choke is excessive use of controllers. If you record lots of pitch bend and mod wheel data on 16 different tracks, and play them all back simultaneously, you could run into trouble. Most good sequencers now have 'controller thinning' functions, which lower the data density of controller-heavy tracks. Used carefully, these functions can be undetectable: with many sounds, for example, a mod wheel movement from minimum to maximum that only contains 16 discrete MIDI events will sound exactly the same as a similar movement that contains 128 events (ie. all the values from 0 to 127), but the data density will be only one-eighth as high. If none of these solutions work, and you're still hearing the MIDI stream choke, you will probably have to start using a sequencer that addresses multiple MIDI ports so you can put different synthesizers on their own MIDI cables.
Myth 10) You need to use two ports on your computer if you're using MIDI Time Code.
"Every year when I start a new class in MIDI composition, I try to demonstrate MIDI choke for them. Every year, I'm amazed at how much data needs to be piled up before problems become audible."
The MIDI spec suggests that MIDI Time Code not be on the same MIDI cable as other MIDI data, but that doesn't mean that it has to be on a separate computer port. When your computer communicates with its MIDI interface — through its serial port, cartridge slot, or whatever — it often does so at a rate much higher than MIDI's. Therefore, the information in that data stream can contain the equivalent of several MIDI streams multiplexed together. If the software and hardware are set up properly, a single computer connection can handle normal MIDI data and MIDI Time Code at the same time. As an example, look at Mark of the Unicorn's MIDI Time Piece. This device, in its slower configuration, communicates with the Macintosh at 1MHz, which is 16 times MIDI's data transfer speed. It has no trouble handling eight discrete MIDI output cables, as well as a MIDI input and MIDI Time Code, on a single serial cable.
One caveat, however, is that there are some Macintosh applications which force you to use two separate ports for incoming musical data and MIDI Time Code. This is a decision on the part of the software designers, and is not part of the MIDI Time Code spec. As these applications become compatible with Apple's MIDI Manager, which itself is capable of configuring the ports in any way the user desires, this problem should disappear.
Myth 11) You can sync a tape recorder to a sequencer using MIDI Time Code.
"Use MIDI to control your tape deck!" scream the ads. So that means if your sequencer puts out MIDI Time Code, your 8-track can slave to it, right? Wrong. Here's the way that a "MIDI-controlled" tape deck works. The tape has SMPTE timecode striped onto one track. The sequencer sends out specific MIDI commands (usually over System Exclusive, but that may change if certain additions to the MIDI spec currently under discussion are adopted) which tell the tape deck to start, stop, fast forward, rewind, or drop into record. When the tape is moving, however, the SMPTE timecode on the tape is the master, and the sequencer follows it.
Why is it done this way? Because getting a computer to play the miniature games of catch-up it has to do when you run it from an external clock is a whole lot easier and cheaper (it's a software problem) than building a mechanical device that will do the same thing for a tape transport. Technically speaking, and contrary to conventional wisdom (which is Myth 11a, one I personally plead guilty to repeating once upon a time), MIDI Time Code is accurate enough to lock a tape transport to. Already we have hard disk audio systems that lock to MTC, and someday we may see mechanical audio or video transports that do the same (although the technical problems involved in building such a deck are not trivial). For the time being, however, until we see a significant evolutionary change in the way audio and video systems integrate, it's not really necessary. At present, SMPTE is in far more common use than MTC in all aspects of audio and video production, and it is not that difficult (and no longer that expensive) to deal with. MTC has great potential, but much of that potential is still a little ways off.
Myth 12) Music made with MIDI has to sound mechanical.
The fact that much MIDI music does sound mechanical doesn't mean it has to. MIDI is actually a very well designed spec for music; there's nothing intrinsically mechanical sounding about it. However, too many MIDI users are lazy, or don't know any better, and they let their sequencers do all their work for them. Since all that sequencers know is mathematics, and they have no sense of aesthetics, naturally the stuff they produce is often going to be of interest only to other machines.
To avoid this, follow some good-sense musical rules. Don't enter music in steptime; instead, slow down the tempo and play in real time. When you play the music back at normal tempo, it'll sound much better. Similarly, don't quantise unless you have to, and use 'fuzzy' (less than 100%) quantisation wherever you can. Use controllers, pitch bend, and aftertouch to give life to notes after you play them, and to create more musical-sounding phrases. While you play and listen, tell yourself you're physically handling an instrument, like a violin or a clarinet, rather than just pushing down keys.
Above all, listen critically. Don't take your tools for granted, and don't let them take you for granted either. If more of us use our talent and taste to make MIDI music sound human, this myth, too, shall pass.
Special thanks to all the folks on PAN and the CompuServe MIDI Forum in the US, UK, and Europe, who contributed ideas to this article, and to Nigel Redmon.
Paul D. Lehrman is a Boston, USA-based composer, author, and teacher, and a member of the Executive Board of the MIDI Manufacturers Association. He denies the rumours that he himself is a myth.
Feature by Paul D. Lehrman
Previous article in this issue:
Next article in this issue:
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!