Music News
Get Connected - MIDI Part 1 -- Sunday, March 14 2004By: Ken MacKenzie As promised, this month we are here to discuss MIDI. On a day to day basis, people tend to primarily bring me questions regarding MIDI problems. Be it connections between synthesizers or sequencers, or computer interface and setup issues, MIDI has been a bit of a hill to climb for keyboard and other instrument players alike. What we are going to try to do in this first part of covering MIDI is give a little bit of the history, look at the facts and specs, and finally, clear up a few confusion areas that we see on a regular basis. Despite the problems people have, MIDI is a very useful and powerful tool, once it is understood. The true power of it can be said in this manner, to quote Norman Brown, "Meaning is not in things but in between them."
Let's start at the beginning, which is, how did MIDI first come about? To go there, we need to discuss what came before MIDI. Before MIDI, there was no universal means for any two synthesizer or sequencer instruments to communicate reliably. In the few cases that did work, you would need several cables just to cover what one MIDI cable could do. Before MIDI, most synthesizers (specifically analog) used a CV (Control Voltage) system. Control Voltage was generally run from an analog sequencer that would step through a number, or series of steps, with voltage settings for each parameter it had to sequence. (If you ever see one of these old units, it will resemble a kind of funny mixer that is generally a series of knobs in a grid.) For each parameter that needed to be controlled, a patch cable had to be run from the sequencer to the synth that was to be controlled. You would have one cable for the pitch, one cable for the amplitude (or volume), one cable for the filter settings, etc. These cables each carried a certain amount of voltage down the line to the controlled synthesizer to which the synth would act accordingly. The beauty of this was, that at the time, analog synths were all voltage controlled internally as it was. [You can still see the main component pieces referenced in many Virtual Analog synths today (VCO - Voltage Controlled Oscillator, VCA - Amplitude, VCF - Filter, etc.).] The system worked to a degree, but was cumbersome, unreliable, and no two synths and sequencers responded to the same variances in voltages.
Now, to clear up one funny little rumor that I hear people say, Devo did not invent MIDI, nor was it created for them by whatever keyboard manufacturer is the subject of the rumor that week. If there is one person that can be attributed to being a founding father of MIDI, it would be Dave Smith1. At the time of MIDI's creation, Dave Smith was the head of the keyboard company, Sequential Circuits; today he makes instruments, such as the Evolver, from his own company. In 1981, he presented a plan for what he called, at the time, USI (Universal Synthesizer Interface)2. His original spec caught some interest from several of the Japanese manufacturers at the time, and over the next two years a specification would come together that would change the way synths 'spoke.' The unveiling of the new interface, to be called MIDI (Musical Instrument Digital Interface), would occur at the 1983 Winter National Association of Music Manufacturers (NAMM) show when amazed onlookers saw a Roland JX-3P and a Sequential Circuits Prophet 600 hooked up by one MIDI cable resulting that when one synth was played they were both played in unison.
From there, MIDI has continued to be developed from the creation of the SMF (Standard MIDI File) format, to Scalable Polyphony, which is what allows your cell phones to have polyphonic ring tones. Along the way, there were other creations, such as the 'great compromise' that became GM (General MIDI). Today, MIDI interfaces are available in not only synthesizers of various forms but also computers, recording devices and effects boxes including guitar pedals and even mixers. All of these devices use the same five pin serial cable that came about just over twenty years ago.
So, who keeps control of MIDI today? The organization is the MMA (MIDI Manufacturers Association). Technically, anyone who builds a MIDI interface into a product of theirs must pay dues to this organization. Their web page can be found at www.midi.org. On this web page, you can down load the latest revision of the MIDI 1.0 specification. And, no, that is not a misprint, after more than twenty years we are still talking about the same initial release specification.
Now that we have covered some history and some technological broad strokes, let's get into some of the more common (and uncommon) parameters that you can use in MIDI.
Note on message - A note on message tells a synthesizer or sound module to start a note message relaying that there is information about the pitch of the note, as well as the velocity (see below). This message, however, does not dictate the length of the note. That brings us to . . .
Note off message - At this point, the sound source can be told to stop playing the note message that was started by the note on message. The note off message is identified by the same pitch as with the previous note. In the case that two different note ons occurred before a note off, then both note on messages will be shut off by this note off message. In addition, a note off on some systems can contain information called release velocity.
Pitch - Pitch is one of the components of a note on/note off message. There are a total of 128 possible pitches ranging from 0-127. Each single value represents an increment of one-half step on the scale. Of course, there is an exception to this in that if, for example, the receiving instrument can handle non standard tunings, such as what is found in many Arabic and Asian styles of music and instruments.
Velocity - Velocity is the speed at which, in the case of keyboards, the key was struck. For instance, when thinking of a piano, this becomes directly proportional to amplitude (volume). There are exceptions to this but those are relational to how the receiving sound source is programmed to react to velocity. For that matter, the receiving synth can be programmed to have velocity effect anything from the filter cutoff to the LFO (Low Frequency Oscillator) depth. To translate velocity in more musical terms, it really just comes down to how hard you're playing and therefore, the dynamics. This allows you to cover more dynamics of an instrument, for example, the right filter settings or even sample changing based on velocity can turn a mellow flute patch into a chiff flute merely by playing with more force. As I said before, with note off messages you can also have release velocity. In the case of release velocity, this determines how quickly you release the note. This option is available usually to help in translating differences in staccato and legato playing. Generally, in this case, the release velocity will be tied to the release envelopes time. (Don't worry about all of these synthesis terms. I will be going through these more in-depth later.)
Patch Change messages - Just as it states, you are able to change patches on your instrument. Like other messages, there are 128 possible values, and depending on the receiving sound source, they will be from a range of 0-127 or 1-128 (really it is always 0-127 but the user display might translate it up by one).
CC (Continuous Controller) messages - Again, like just about all other MIDI parameters, the value range is from 0-127. Although, there are a few exceptions, for example, the sustenudo (or sustain or hold pedal) message is an on/off type of setup. CC messages are used to adjust all manners of information from the filters to LFO parameters. There are 128 possible CC messages and each has 127 possible values. They can be accessed through modulation pedals, the mod wheel, front panel knobs, breath controllers, ribbon controllers, or linked as components of velocity or pitch, etc.
Bank Change messages - These are actually a type of CC message, and depending on the manufacturer, they are usually CC#'s 0 or 32. Now, above you were probably saying "ughh" to only 128 possible patch destinations. Well, remember, when MIDI was created, most synths were lucky to save 80 patches to memory. Now with our huge 1,000+ sound workstations of today, we need more. So enters the bank change message. Now we have the possibility of 128 banks of 128 patches each. Ok, you can breathe again.
Parameter Numbers - There are two flavors of these, which are registered and non-registered (often referred to as NRPN's). Parameter Numbers are generally used in manufacturer specific methods to control parameters that fall outside of the original MIDI specification. Although, some manufacturers (for example Korg in the Electribe series) used NRPN's in place of CC numbers for information that is more commonly associated with CC numbers. Although you generally won't run into situations of needing these, some manufacturers use them enough to warrant a mention here.
MIDI Clock messages - Very simply, these are ticks that come down the channel to let other units down stream know the tempo of the clock source (usually a sequencer or computer). The clock itself ticks at 24 PPQ (Pulses Per Quarter Note). No matter what PPQ resolution of your sequencer, the clock messages are at the same resolution.
Song Start/Stop - In the case of a sequencer, this message indicates that the sequence has started or stopped. Really, this is mainly useful when multiple sequencers are being used together; if they also transmit a song pointer (which tells one unit where in the song the other unit is) then that is even more useful.
SYSEX (System Exclusive) messages - In most cases, as a user, you will never actually be programming; although, if you are ambitious enough, you can do quite a bit using these. It would be kind of like writing a Windows program with Assembler language, but it can be done. The most common use for SYSEX these days is for data dumps and Operating System upgrades. Many manufacturers release new Operating Systems for their instruments via SYSEX files, which can be loaded into a sequencer and played into the upgrading instrument. In data dump SYSEX, a user can upload their patch information to a sequencer to save it externally, and if needed, reload it to the synthesizer to recall the patches. The data dump method can also be used with sequence and sample data in many cases.
Well, by now your head is probably exploding with information about MIDI and synthesizer history, and we still have touched only the surface about how to use it. To start, we are going to talk about some of the main points when dealing with computers and MIDI. I find today that this is where most people run into their MIDI issues; usually because it tends to be the people with little MIDI user background or experience who are trying to set these systems up and use them.
I am also sure, however, that there are some computer savvy people out there thinking, what good is MIDI with today's audio programs for computers? What good is hooking a computer up to a physical synthesizer when there are so many software options out there for sound sources? Well, for starters, using an audio sequencer such as Acid Pro, Storm or Abelton Live, you will find that no matter how much advancement there is in re-sequencing audio for different tempos and pitches independently, nothing will do this job as efficiently as MIDI sequencing. Also, MIDI is a lot more flexible for fixing mistakes in the music.
Well, why hook it up to external synthesizers? What is the point of MIDI in that sense? To begin with, it still is not considered "cool" in many circles to have a laptop on stage to control your music. However, this conception is starting to change more and more with the newest generation of USB control interfaces. Also, in my opinion, although the software synthesizers out there are getting better and better, there is still a warmer and hotter sound from external modules. Now there is an enormous advantage of internalizing your synthesizers. MIDI serial cables run in serial and therefore each message has to wait for the one before it to finish. MIDI travels down the cable at about 32,000 bytes per second. Conversely, internal MIDI communications do not fall under the restrictions of the MIDI hardware protocol, and internal speeds are only limited by the internal bus speed of the computer, which even on the lowest level system can be in the millions-plus bytes of information per second. However, if you are talking about a lot of soft synths running at once, you better have plenty of ram and processing speed for them to turn that MIDI information into synthesized sound.
At present, when it comes to hooking up a MIDI interface, there are basically four methods of connecting. The first two (being much more common) is using a sound card's joystick serial port, second is USB. The other methods are firewire, and of course, dedicated hardware interfaces found on pro level interfaces. Of course, if you have an old Atari computer, you have the MIDI interface built in to begin with. Today, many people are opting for the convenience of USB interfaces, particularly in the laptop market place. My one piece of advice for people who go this route is to be wary of older generation units as they are susceptible to significant timing problems because they were not created in consultation with the MMA at first3. Today, they are a great alternative though, as they are cheap and very portable from one system to the next. They will require that a driver be installed on your computer to make them function, but for the most part, they are seamless. There are also a lot of options for multi port setups with the USB devices.
Now, as for the joystick port serial devices, those are the most cost effective solution, provided you do not need to use the interface with a laptop. You can find them for around $20 new. I would recommend going to a music store, as they will carry models that have female ends to the cables. To clarify why this is important, 90% of the MIDI cables out there are male on both ends, as all stand-alone units have female ports. If you do not get female ends on the cables for your serial port then you will end up having to get a special adapter when you go to extend them. Believe me, you will have to extend them because at some point you are guaranteed to end up finding the four to six foot length inadequate for going from the computer to the first synth.
Ok, well now that we've gotten the interface created, it is time to start hooking up your synth. The first step will be child's play to most MIDI people, but out goes to in and in goes to out. Notes come out of your computer at play back to play the synth and notes come out of your key playing to record into the computer sequencer. Now, most people will tell you that MIDI always feels cold or without feeling. Well, if you are truly treating it like you are recording YOUR performance then it will not. Many people tell me that when they record MIDI like this then they see the music as a messy score and not what they intended. If I am being mean, I will tell them they need to practice the playing of the part more before recording it. There can be instances, however, of a lag from playing to sequence, but in that case, you should be able to slide the whole performance through the needed increment to correct the whole thing. For example, with Logic Audio, lately I have noticed that my MIDI recordings tend to be about a 32nd note behind the clock at tempos in the 120-160BPM range. I am not positive that it's me or the interface. It translates a little too perfectly to be human error causing it, but then again . . . . Now, if you do have timing problems, MIDI can start being a helpful tool as well. First off, you should always have the metronome available with your recording. You should turn it on and work with it (free advice that last month's interviewee, Jimi Cole, will give you plenty of times). Also, there is a tool known as quantization. Quantization is the computer/sequencer correcting your playing to fall in the grid; that is, fall in time. Quantization can occur while you record, or after the fact, on most systems available today. Now, quantization, you might say, will make your natural performance seem cold again. Well, there are two things here to help, first of all timing is not all of your performance data. The velocity at which you play for each note ads a lot of the feel for the part you are playing. Next, with the quantization itself, you usually have options for swing settings. Swing allows you to make the quantization less perfect and allows it to randomly bring the notes a hair off timing, based on an allowable tolerance.
Now that we've gotten some recording going, next we need to start talking about play back and expanding your interface. Let's say you have multiple devices that you want hooked up; this brings us to talking about the thru port. (Those of you with multi port MIDI interfaces might want to skip ahead, as you can go another route with this.) The thru port allows the receiving synth to pass the notes that it has received on to the next module. 90% of the synths out there have a thru port, however there are a few that do not; and in these cases, often their out port can be configured to transmit as a thru port through MIDI echo. Don't start thinking you can now have 100 synths hooked up together though! First off, without starting with a multiport setup, you are confined to the limit of 16 midi channels. Next, over distance and jumps through each module, the MIDI signal decays and begins to lag off of the clock. There are amplification devices to correct this, but I have a good feeling in most cases that you do not need information on these. If you surprise me though, do drop me an email and we can deal with it.
Two more things I want to cover before we go: the first is primarily for these computer environments; you might get enthused about hearing that they can support 1000+ MIDI tracks. Remember though that you are still going to be limited by 16 MIDI channels, and of course the number of MIDI ports your hardware can support. Secondly, before getting into a lot of MIDI sequencing, be sure you are well acquainted with the panic function of ALL of your gear, if available. The panic function is used to stop hung notes. Hung notes occur when a MIDI note on message is not followed by a MIDI note off message. Nothing can be more annoying than a note or notes ringing on for all eternity while you are trying to work. Of course, a quick on/off can work, but it is better to have that panic button within close reach.
I am going to close for now. When we resume part 2 of this series, we will be discussing specifics about recreating the performances of certain instruments through MIDI. We will also get into some more advanced topics with MIDI. I say "when" because the follow up will probably not be next month; the reason being that it is my pleasure to announce that on March 30th, before their concert in Charlotte, North Carolina, we will be sitting with Ken Jordan and Scott Kirkland of The Crystal Method. We are very excited to be interviewing these heroes of ours. The content will focus on their gear, song writing, and will include a review of the show. Look for this article on April
th.
To double check his memory, Ken went though some Keyboard Magazine archives for a few historical MIDI specifics:Aikin, Jim. "MIDI Turns 20." Keyboard Magazine Jan. 2003: 35-40. 1 Aikin, MIDI Turns 20 2 Aikin, MIDI Turns 20 3 Aikin, MIDI Turns 20
Edited by: Marnie MacKenzie