MIDI Basics (Part 4)
In part four of this series Bob O'Donnell deals with rhythm by linking a drum machine into the expanding MIDI system.
In the fourth part in our series on MIDI basics, we dissect a drum machine and discuss its applications in a MIDI studio.
A MERE TEN years ago the connection between "groove" and "machine" simply didn't exist, today they fit together as well as yuppies and cellular telephones. A lot of people might argue the toss, but more and more recordings are being made using drum machines and will be for some while to come. They've proven themselves sufficiently useful to become part of our musical culture.
But what is it about these beat boxes that makes them so enticing? Different people will give you different stories, but there is something about a rhythm you've created that is uniquely satisfying. And jamming to a drum machine is a lot more fun than practising with a metronome. Plus, every musician feels they know something about rhythm, and creating your own drum and percussion parts seems to fulfil a Neanderthal desire to express those instincts.
WHAT EVERY MUSICIAN doesn't know, however is what makes up a drum machine. Basically they can be broken down into three parts: the pads, or the controller section, the internal sounds, and the sequencer which records the patterns. Figure 1 shows how the various components fit together. These can be used independently for certain applications, but they generally work together as a "drum machine".
Hitting the pads or buttons tells the brain of the instrument - which coordinates the machine's various functions - to either trigger the internal sounds or to trigger and record that particular sound with the internal sequencer, depending on whether or not the drum machine is in record mode. Some machines will also output a MIDI note when you hit a drum button, which you can use to trigger external MIDI sound sources such as a sampler or another drum machine. More about this later.
The sound generating section of the drum machine usually consists of digitally sampled drum sounds burned into ROM. Don't confuse this with sampling drum machines, however. Regardless of their source, the sounds can be triggered either by the pads, the internal sequencer or from a MIDI note message received at the instrument's MIDI In port. More specifics later, but drum sounds can be played over MIDI from an external controller such as a keyboard or MIDI drum pads, or you can control the sounds from another external sequencer.
Finally, the sequencer section of the machine records the patterns that you play with the instrument's sounds. Like the dedicated hardware and software sequencers discussed in last month's article, the sequencer found within most drum machines records and allows you to edit "events" entered manually in "real" time or individually in "step" time.
Since drum sounds are generally of very short duration, the events recorded by the internal sequencer of a drum machine are essentially triggers rather than MIDI note events, though many newer drum machines will also permit you to record MIDI notes from an external MIDI controller. Some drum machines allow you to play their sounds over MIDI, but not record patterns this way. At present, drum machine sequencers don't record pitch-bend, aftertouch and other controller information, though it is possible that they respond to these messages. (For example, the Sequential Drumtraks used pitch-bend and mod wheel messages to control pitch and volume of the drum sounds.)
Events are recorded against a clock source of some sort made audible with a click or metronome which you record to. The speed of the clock's output is determined by the tempo control but most machines also permit you to disable the internal clock and have the tempo controlled from another source. (We'll examine some possible tempo sources further on.)
The actual operation of a drum machine sequencer differs from a keyboard sequencer in that the patterns you record are generally much shorter and the recording method used to create those patterns is easier to understand. In fact, more and more dedicated sequencers have begun to incorporate drum machine-style programming because people find it a more friendly approach. The ease of use stems from the fact that drum machine sequencers continuously loop a pattern while you record and allow you to overdub and erase parts as you go. Consequently, creating patterns you're happy with is a faster and simpler process.
As mentioned earlier, some drum machines also permit you to record patterns from external controllers in the internal sequencer. The benefits of this are many, but high on the list is the ability to record patterns with more realistic dynamics by using MIDI velocity (even though the built-in pads may not be touch-sensitive). This also allows the machine's sounds to be triggered from external drum pads for performance.
To sum the connections up, the sounds can be "controlled", or played, by the pads, the internal sequencer or an external source via MIDI. The sequencer, on the other hand, records the patterns you play on the pads or from an external source via MIDI (on some drum machines).
"One use for MIDI note messages is to trigger sounds in the drum machine from an external controller or another sequencer."
UNLESS YOUR TASTES are confined to pure percussion music, the real fun of a drum machine comes when you incorporate it into your MIDI system. There are many possible configurations, and Figure 2 shows one system that's been created over the course of this series. In this case, the drum machine is acting as the master clock and so determines the tempo of the whole system. The MIDI Out from the drum machine is connected to one of the MIDI Ins of the switcher and its output is routed to the input of the sequencer. To permit the drum machine to control the system tempo, it should be set to internal clock and the sequencer to external MIDI sync. You don't have to worry about setting Modes or Channels, though, because tempo information (in the form of MIDI Timing Clocks) comes from System messages which are not channel-specific.
Now, if you want to record into the sequencer while listening to the drum machine, you're going to have a problem because both the output from the master keyboard and the drum machine need to get to the MIDI In of the sequencer. (The master keyboard provides the note information and the drum machine provides tempo/clock messages.) The only way to avoid this difficulty is to add a device called a MIDI merger which combines the outputs into a single MIDI signal which is then sent to the sequencer (see Figure 3). An alternative to a MIDI merger is a switcher which incorporates a merging function (like the JL Cooper MSB+ and Digital Music Corp's MX8).
But rather than complicate the system, another option is to "slave" the drum machine to the sequencer to record sequences, and then switch the MIDI connections after the recording is finished. Figure 4 shows the connections for this setup. In this case, the MIDI Out of the sequencer is routed to the master keyboard and the drum machine through the splitter. Again, Channel and Mode settings make no difference, but you'll need to switch the sequencer over to internal clock and the drum machine to MIDI sync. (This configuration has other uses, but I'll point that out later.)
"But why connect the drum machine and the sequencer in the first place? Can't they just run independently?" Of course the answer is yes, but the results may not be terribly pleasant. The problem is one we call "sync".
THE WORD "SYNC" is short for synchronisation and it's all about getting things to happen at the right time. If you've ever played in a band where the drummer simply couldn't keep good time, then you'll understand problems that can occur without sync. A sequencer/drum machine system without sync is like a band who can't hear each other. You might be able to "tell" the drum machine and sequencer to play at a similar tempo and to start at the same time, but without an electronic connection of some sort, there's no way to ensure they'll stay in time.
The sound-generating sections of a synthesiser or expander do not depend on any tempo control, so by themselves, they don't present sync problems. Onboard sequencers and arpeggiators are another story, however, and similarly, any sequencer controlling the synths in our system needs a clock source from somewhere. Unless the sequencer and drum machine are tied together with a common clock signal of some sort, they'll be unable to stay in sync.
The way to get around all this is to have any clock-dependent devices share the same clock source. By doing so, everything will run at the same tempo and even if minor tempo variations occur, they will occur consistently throughout the entire system. Problems with starting and stopping the various instruments at the same time can also be overcome by connecting them together in this fashion.
"A drum machine consists of three basic parts: the pads, or the controller section, the internal sounds: and a sequencer which records the patterns."
The instrument being used as the master clock source can send out messages which tell the other system components when to start playing back, when to stop and, if necessary, when to continue playing from a certain point. Again, keep in mind that these messages only have an effect upon instruments which are tempo-dependent.
THE MIDI SPEC contains a section of messages dedicated to sync and other tempo or time-dependent functions: System Real Time commands. Like other system messages, these are not sent on any specific MIDI channel and are thus recognised by all instruments in the system regardless of their mode and channel settings - if they have any use for them.
The actual messages which fall under the heading of System Real Time commands include MIDI Timing Clocks, and Start, Stop and Continue messages. As mentioned last month, the MIDI specification calls for 24 pulses (or "clocks") to be sent per quarter note, which is the equivalent of a clock every 64th note triplet - if you're working in a quarter note meter such as 3/4 or 4/4. Some drum machines and sequencers have a higher internal resolution (48, 96, 192 or 384ppqn) for recording purposes, but for tempo synchronisation with other instruments, 24ppqn is the MIDI standard.
Though they are mostly self-explanatory, the Start, Stop and Continue commands deserve just a few words. Start commands prompt playback from the beginning of a song or pattern, while Stop commands bring playback to halt. If you want to start playing back from the point at which you stopped, a Continue message will do the trick, as a Start command would restart the sequence at the beginning. If you attempt to start a drum machine from its front panel while it is set to sync to an external source, nothing will happen until it receives the appropriate System Real Time messages.
Despite the overwhelming presence of MIDI, many popular drum machines also offer non-MIDI syncs which are equally valid. Old Korg and Roland drum machines have DIN Sync ports which use the familiar five-pin DIN socket - not to be confused with MIDI ports - and other machines offer clock outputs of various speeds, including 24, 48ppqn and so on. Many sequencers also generate and respond to these non-MIDI clocks and, if you so choose, you can use them in place of MIDI sync. Pulses may vary in level and duration from instrument to instrument, however, so care must be taken to avoid incompatibilities. You will be limited to starting, pausing and basic tempo control, but if you are doing heavy sequencing with a number of sound generators, it does provide a way to decongest the MIDI data stream a bit.
Should you decide to stick with MIDI sync though, the possibilities start opening up. For example, other System messages which many drum machines can send and respond to are Song Select and Song Position Pointer, both of which fall under the banner of System Common commands. Song Select messages tell the receiving device which song to call up from within its internal sequencer memory. Thus, if you could select song 17 on your drum machine, song 17 is automatically selected by your sequencer.
Song Position Pointer (SPP) messages are a bit more involved, but they can save you a great deal of time. Basically, they identify position within a song. A device which sends or responds to these messages keeps track of the number of MIDI beats (one MIDI beat equals six MIDI clocks and is usually equal to a sixteenth note) that have passed since the beginning of a song. A master device sends out a two-byte message which defines this location; a slave instrument immediately moves forward or backward to this specified point within the song. Like other master-slave situations in MIDI systems, both devices need to be able to deal with these messages for them to be usable. For example, if a master sequencer has a fast forward function, you can move to a point in the middle of a song and the slave drum machine will automatically move to that same position and play at the same time and tempo as the sequencer. If the drum machine can't respond to SPP messages, however, it would simply start from the point where it was last stopped.
Another benefit available to devices which respond to SPP messages is tape syncing. This involves "striping" one track of a multitrack tape with a timing code. On playback this code is fed back into the drum machine or sequencer that generated it, and the machine derives its timing from the code. The sync track thereby controls the starting, stopping and tempo of the machine, and permits you to play and record other parts (say, vocals and guitar) onto tracks of the tape recorder whilst listening to the synchronised MIDI parts.
Most tape sync functions require you to rewind to the beginning of the song to start, though, because if you start in the middle of the tape, the synchronised instruments will start either from the beginning of the song, or from where it was last stopped, rather than from the point at which the recorded song has stopped. As a result, the two parts will be out of sync. If you can somehow tell the sequencers or drum machines the point at which you are starting playback, then they can advance the song to the proper point. That is where Song Position Pointer messages come in. These messages tell MIDI devices to move to the desired point in the song, regardless of whether it's the beginning, middle or end of a song. If you're working on the end of a piece, this capability can prove invaluable.
In recording applications, one track of the tape is usually striped with SMPTE or some similar code, which marks the tape with unique addresses from which Song Position Pointer messages can be derived. Although many sequencers themselves do not write or read SMPTE or the like, several interfaces are available to do the job. Roland's SMPTE-based SBX80 was among the first, and now the Synhance MTS1 and JL Cooper PPS1 are providing inexpensive alternatives to SMPTE for less-demanding situations.
"A drum machine consists of three basic parts: the pads, or the controller section, the internal sounds: and a sequencer which records the patterns."
IN ADDITION TO System messages, many drum machines generate and respond to Channel Voice messages; specifically, note-on data. MIDI Note messages present some interesting possibilities for our MIDI system.
As mentioned previously, many drum machines output specific MIDI notes on a specific transmit channel when you hit the instrument's pads. In other words, they work like keyboard controllers. The duration of the note is generally preset to a very short time and, unless the machine has touch-sensitive pads - unfortunately, not many do - the velocity level is also fixed. But if you're not happy with the sounds in your drum machine and have access to a sampler, then the ability to output MIDI notes will be worth its weight in gold.
Drum machines which produce MIDI Note On messages when you hit individual pads will also do so while playing back patterns or songs. To make use of an additional sound source like a sampler, all you need to do is make sure that the note assignments on the drum machine correspond with the desired drum sounds on the sampler. For example, if the snare drum pad on your drum machine is set to transmit MIDI note number 38 (D1) on channel 10, then you need to assign a snare drum sound on your sampler to MIDI note number 38 and set its receive Channel to 10.
After you've done so - and, of course, connected the two instruments via a MIDI cable - when you hit the snare button or the snare drum plays within a pattern, the sampler's snare drum sound will also play. If you find the sound from the sampler only plays briefly, you may have to engage a function on the sampler which ensures that the sound plays through its entire envelope cycle regardless of the length of the trigger. By following the same procedure for the rest of your drum sounds, you can effectively use your drum machine as a sequencer for your sampler.
Of course, you can assign different sounds to different pads if you want, or if you have a synth with good drum or percussion sounds you can use that in place of, or alongside, the sampler.
One other point you need to be aware of is that some drum machines allow you to assign drum sounds to any note number you choose, and others have preset - and unchangeable - assignments. The former obviously give you more flexibility, but in either case, you should be able to get note assignments to match. Figure 5 shows a typical layout for triggering from a MIDI keyboard.
If you're happy with the sounds in your drum machine, the other use for MIDI note messages is to trigger sounds in the instrument from an external controller or another sequencer. As mentioned above, many machines don't have velocity-sensitive pads, but some are velocity-sensitive over MIDI. By sending MIDI note messages from a velocity-sensitive keyboard or MIDI drum pads (like a Roland Octapad or Simmons system) with the proper note assignments, you can play these machines dynamically. Some drum machines also permit you to record the velocity levels from an external controller into the internal sequencer memory, but if yours doesn't, you'll need an external sequencer for drum patterns with dynamics.
The idea behind this last application is to record patterns with the external controller into the external sequencer and then have the sequencer trigger the sounds in the drum machine. The setup for this requires you to turn on the sequencer's "soft Thru" (or "echo") for monitoring purposes. Then, as you record data into the sequencer, it will echo back to the input of the drum machine. You'll also need to make sure that you know the note assignments - most drum machines transmit and receive the same note number - and to set the proper MIDI channels. After you've done so, simply record the patterns as you would a normal musical sequence and play them back the same way. Many drum machines allow MIDI control far beyond basic sound triggering, and although those applications are outside the scope of this series, it is worth noting that drum machines like the E-mu SP12 and SP1200 allow you to control instrument tunings with different note combinations, and Sequential's TOM even lets you pan drum sounds with this method.
Using this approach, you may find you need to stop recording and then overdub and merge new tracks with the original. This is because most sequencers are not structured to allow you to easily record drum patterns. What you lose in ease of use you gain in flexibility, however, because most dedicated sequencers offer more quantisation and editing options than drum machine sequencers. Intelligent Music's Upbeat program for the Mac is designed specifically for drum machines and recently several sequencers (such as Hybrid Arts' MIDI Track and Steinberg Pro24) have started to offer drum machine-style recording in addition to the traditional linear method.
More applications open up when you introduce a drum machine to a MIDI system, but these should provide you with some worthwhile starting points for your own explorations. Experiment.
Feature by Bob O'Donnell
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!