Print Page

All Over the Map


MIDI has been with us for 20 years now, and a large part of its success has come from its malleable nature and the way that it lets you separate notes and control gestures from the actual production of sound.

No MIDI event is etched in stone; you can always change any detail of your composition at any time in any of several ways, including substituting one kind of event or parameter for another. That process, which is known as remapping, is nothing more than the reassignment of MIDI data. You can change an event's placement in time, its pitch, or a specific value, and you can even change one type of MIDI data into another.

Most sequencers provide several tools for reassigning MIDI messages. You can often set up controls that accept a MIDI message from one source, change the message type, and route the message to a new destination as you play. In Cakewalk Sonar, you use the Studio-Ware Panel; Emagic Logic furnishes the Environment; Digital Performer offers Consoles; and Steinberg's Cubase SX has the Input Transformer. These features are all designed to let you change MIDI data in some way. Certain programs even have ready-to-go MIDI-mapping plug-ins, such as arpeggiators, harmonizers, and MIDI delays.

To demonstrate MIDI's creative flexibility, I've assembled a grab bag of tips that you can apply with a basic MIDI setup and a good software sequencer. Some of these ideas involve using simple editing techniques to help you refine your MIDI projects. Other tricks involve substituting one type of data for another to expand your MIDI palette. In the right setting, any of these tips can add a little pizzazz to your next project and encourage some fruitful experimentation.


Drum parts are an obvious target for microediting, and the typical sequencer offers an array of tools for precisely tailoring just about any rhythm track. All of the major sequencers also have specialized groove-quantizing tools that are derived from analysis of live performances.

FIG. 1: The ability to split a MIDI drum track by pitch allows easy reassigning and editing of individual drum-kit elements.

I keep a library of drum grooves as Standard MIDI Files or in my sequencer's native file format. The grooves typically contain all drum-kit elements in a single track. My first step after loading the file is to copy the data to a new track, leaving the original as a muted safety backup. Next, I “explode” the track so that each percussion instrument occupies its own track. Most sequencers let you separate your data into individual tracks using note number as the criterion (see Fig. 1). At the very least, you can cut all notes of a single pitch and paste them into a new track. Some sequencers can automatically name your drum-kit instruments as soon as you create the split. If not, take the time to name each track; you'll thank yourself later if you need to remap those notes to a different pitch.

Next, see if you can better serve the groove by reassigning kit elements to different samples or synth patches on the same or a different MIDI instrument. Do that before altering the timing or Velocity. Because of differences in a sampler's or synthesizer's capabilities for processing incoming MIDI data, some devices may respond sluggishly to Note On messages, while others may differ in their Velocity response. Those variations shouldn't inhibit your choices if an instrument sounds right to you; you can always adjust individual rhythm elements in order to get the proper feel.

Once you've decided on the instrument, play the file back with the other elements included. You may then want to adjust the MIDI data to correct any timing problems. If a drum sound lags, simply shift its timing earlier. It's possible that your new sample may sound rushed if the new device has a snappier reaction to Note On data than the original device did. In that case, shifting the new sounds back by a few sequencer ticks should correct the feel.


Next, evaluate your new sound's Velocity response. Does it sound weak or too strong when compared with the rest of your well-balanced kit? Before adjusting the Velocities, it's wise to investigate any use of Velocity scaling in your sound source. That should be adjusted before making other changes.

If you need to adjust Velocity data, most sequencers offer at least two ways to accomplish that task. You can add or subtract values, or you can adjust the Velocities up or down by a percentage. Whichever you choose, bear in mind that extreme increases can level out the relative differences between events and leave you with little of your original dynamic range, so use discretion.

Chronic tweakers may find a number of other reasons to fine-tune rhythms and dynamics. For example, you may want to apply a bit more swing to the hi-hats or rush the toms slightly during fills. Consider sifting out the snare hits that have softer Velocities and putting them on a separate track. You can then remap those events to a softer sample that better suits ghosted snares. Now that the individual drum elements occupy discrete tracks, it's easy to apply groove quantizing, additional time shifting, or even note-by-note editing.

One of my favorite tricks is to add subtle amounts of Pitch Bend to snares. Drummers rarely strike snares with the same force every time, and the bend information imparts a bit of variety to the sound. Make sure the snare is on its own MIDI channel so that the Pitch Bend doesn't stretch your other drum sounds. I usually place a single, small Pitch Bend event before the onset of the note and another event with a value of zero after the sound's release. By the way, riding the Pitch Bend wheel on a track of high toms can provide a pretty decent talking-drums performance.


If you find that you spend too much time preparing your synthesizers for playback from song to song, you should get into the habit of setting up your songs with embedded MIDI data in your sequencer tracks (see Fig. 2). It's easy to store Bank Select and Program Change messages at the beginning of your tracks so that your choice of sounds is recalled each time you load the sequence. However, there are many other parameters that you can have ready with a few mouse-clicks. Reverb levels and other effects settings, instrument panning, and initial instrument volumes are typical adjustments that you can insert into a MIDI track.

FIG. 2: The MIDI track shown in this Event List has a small System Exclusive Dump (in Hex) followed by a Program Change, Volume, Pan, and Expresssion message, along with Control Change messages regulating reverb and chorus send levels on a General MIDI synthesizer.

If a track features a lead instrument with lots of Pitch Bend, you'll want to insert a Pitch Bend value of zero at the onset of the song, so that stopping a song during a passage and playing back from the beginning doesn't leave you with an out-of-tune instrument. The same procedure holds true for controls such as MIDI Volume, Aftertouch, and Modulation. You don't want your synths to immediately begin playing with vibrato, do you?

You can even dump the entire contents of your synthesizer's memory, including programs and multitimbral setups, into a sequence to give each song a unique batch of sounds that are ready to go when you press Play. It's best to reserve separate tracks for setup data. If you need to move your sequences to another studio, the data may be irrelevant to the hardware at hand; or if you opt for external signal-processing gear, you may need to print your tracks dry. In those cases, you can simply mute or delete your setup data without affecting your sequenced performances.

MIDI guitarists might want to set up a multitimbral arrangement in which a single synthesizer plays six monophonic parts and matches the Pitch Bend range of the controller. Individual synthesizer quirks and inconsistent MIDI implementation can make for slow progress when the muse strikes. In this day of software synthesizers, some of us still have hardware dinosaurs that always power up in Omni mode. You can insert an Omni Off message at the beginning of that device's track so that it will ignore messages intended for your other synths.


Not all synthesizers respond to controller messages in the same way. In fact, a single synthesizer often responds differently from one patch to another. One pad sound might open its filter smoothly when you send Aftertouch, whereas another might hardly budge, or it might instantly open its filter all the way. You can edit the patch's programming to elicit a more accurate response, but it's often much easier to just change the controller data in your tracks.

Sequencers typically offer several ways to adjust controller data: adding or subtracting, scaling by percentage, and compressing and limiting. Adding and subtracting just increases or decreases values by a specified amount. Percentage scaling often works better than adding or subtracting because it lets you preserve the relative values of your controller data. Compressing or limiting the data works best when the majority of the performance works fine but needs to have extreme values leveled out, such as when the upper ranges of your Aftertouch messages affect the filter response too drastically. As with Velocity edits, it's wise to exercise caution, because extreme values can level out the subtleties in your performance.


As any MIDI guitarist readily knows, guitar controllers (and guitarists) can be somewhat overzealous when bending notes. A guitar controller that has Pitch Bend enabled is constantly sending Pitch Bend messages; simply repositioning your fingers on the fretboard can send unnecessary data. Excess Pitch Bend — or any other MIDI controller messages, for that matter — can eat up precious bandwidth in the MIDI data stream and can easily create timing problems. Fortunately, most sequencers offer data-thinning capabilities.

FIG. 3: Before and after data thinning: notice that the reduced amount of Pitch Bend retains the same general contours as the unedited version.

Typically, your sequencer lets you specify a minimum time interval and a minimum value change to allow between events to determine how many events get weeded out (see Fig. 3). Be careful not to overdo the process, however, or you'll end up with bends that sound staircased and unnatural.

I've always found data thinning for Pitch Bend to be a trial-and-error process; use your ears, and keep your Undo button within easy reach. Little bits of Pitch Bend data in unintended places contribute to the realism of fretted-instrument parts; real fretted instruments are never perfectly in tune from note to note. However, that aesthetic may not be as appealing when played back with a synth pad or keyboard-type sound.

Another prime bandwidth hog is Aftertouch (Channel Pressure). Keyboard players naturally adjust the pressure on the keybed as they play. So, if you aren't using Aftertouch as part of your sequencing scheme, be sure to set up your sequencer to ignore Aftertouch on input. Another way to thin controller data is to quantize it. If your sequencer lets you quantize controllers (without affecting note data), you can effectively remove redundant events, although you should apply that technique with caution.


FIG. 4: Cakewalk Sonar's StudioWare Panel can map one MIDI message type to another. Here, it is receiving Expresssion on MIDI channel 1 and outputting Aftertouch on MIDI channel 1.

Because of production costs, companies that manufacture MIDI keyboards and other controllers are often forced to cut corners on the hardware capabilities or MIDI features that they offer. A prime example is the inexpensive MIDI keyboard that doesn't send Aftertouch. Installing a pressure-sensitive mechanism under a synthesizer keybed adds considerable expense to a product, so Aftertouch response is often one of the first features to go.

If your keyboard lacks Aftertouch but has an expression-pedal jack or a Modulation Wheel, however, you need not be left out of the party. Your sequencer can remap just about any MIDI control message to any other. In this instance, I prefer to use an expression pedal and let my sequencer remap Control Change (CC) number 11 to Aftertouch (see Fig. 4).

I could use my keyboard's Mod Wheel, changing CC 1 to Aftertouch, but I find a pedal easier to control than a Mod Wheel. An expression pedal is a vital tool for the MIDI guitarist because it frees your hands for playing. If you don't have a pedal handy, you can always record the Mod Wheel into a track and remap the Modulation data to your choice of Control Change data afterward.


I own a portable digital studio (PDS) and a computer DAW, and the combination gives me unbeatable flexibility. I can record tracks when I'm away from home and digitally transfer tracks to my computer workstation for further editing and processing. Still, space is a precious commodity in my studio. Although I'd rather use a MIDI control surface than a mouse for mixing, the last thing I need is another piece of gear.

My Korg D16 occupies the space in which a control surface would normally be and for a good reason. It is my control surface. In fact, anyone with a PDS that offers MIDI automation can convert the device to a control surface for external MIDI gear. Check your PDS MIDI-implementation chart; it's more than likely that several buttons output MIDI Machine Control, the faders send CC 7 (Main Volume), and the track-panning knobs send CC 10 (Pan Position). Furthermore, because each fader transmits over a different MIDI Channel, incoming MIDI Volume messages do not interfere with each other, extending your mapping possibilities.

Moreover, you can map each fader and knob to control multiple parameters on a single device. You can, for example, control filter-cutoff parameters or pulse-width modulation on several software synthesizers. The trick is to find out which message your PDS is sending. In your sequencer's remapping tools, select that message as an input and assign the desired CC message as an output. You will probably also need to set up a target track or device for the transformed data.


Other possibilities for control surfaces may literally be sitting right in front of you. Your MIDI keyboard may sport a batch of knobs and sliders; if they transmit MIDI data you can remap each to perform a different function. Some software will even let you map Note Number or Velocity to a Control Change.

Even though continuous controllers are presumably designed for sweeping values, it's quite a cool trick to input, say, a discrete Aftertouch value to control filter cutoff or perhaps use a specific Velocity or a Control Change value to change a soft synth's pulse width. For that matter, consider using Note Number to record MIDI Volume or Pan Position; it's a powerful way to create scenelike automation without sending an excessive amount of MIDI data. Most MIDI sequencers already offer predefined maps that let various keyboard notes trigger different recording operations.


Controller remapping is useful for more than correcting MIDI sequences. The ability to change MIDI messages on the fly can give you serious fun for live performance. With a bit of preparation, you can bring MIDI tricks, effects, and greater expressiveness to the stage. A laptop computer with a sequencer can serve as a MIDI processor offering powerful tools for remapping MIDI messages during a show. You can also find a great selection of standalone processing programs on the Web (see the sidebar “Real-Time Rally”).

Live MIDI processing can be useful for the comparatively mundane tasks of creating keyboard splits, Velocity splits, and crossfades between separate sound modules. Or it can let a single control gesture send two different messages. For example, you can set up a processor to shunt Velocities below 64 to a synth receiving on MIDI channel 1, and shunt Velocities from 65 up to MIDI channel 2, where another synth (or second channel on a multitimbral unit) is waiting to respond to those higher values. There's no reason to stop at a single Velocity split; you can divide the range of Velocity values into multiple MIDI channels and trigger more timbres.

Likewise, you can define ranges of Note Number values so that from C0 to C3, for example, notes map to MIDI Channel 1, while subsequent ranges are sent to different MIDI channels. If your MIDI-processing software and your setup's aggregate polyphony can handle it, you can add Velocity splits under each zone. If you have at least a stereo rig, mapping Velocity to Pan Position is a breeze.


Because of its higher resolution, Pitch Bend is a great candidate for mapping multiple controller messages. Try assigning downward bends (0 to -8,191) to control Pan Position, and upward bends (1 to 8,192) to Portamento Time. Some MIDI remapping tools let you send the original message along with the remapped data. Remap Pitch Bend to a CC number that controls filter cutoff in your synth, for example. (Consult your synth's documentation for the relevant CC number.) With a raucous, resonant patch, you can bend notes and create a wah-wah effect at the same time. Some software processors allow multiple maps. If that's the case, add the CC that affects resonance and invert the values relative to filter cutoff for some truly squelchy-sounding leads.

FIG. 5: In the Mixer Strip (Center) in Digital Performer's Mixing Console, incoming MIDI data passes through the transposition plug-in and then is fed to the arpeggiator. The windows surrounding the strip are the programming controls for the transpose function (left) and the arpeggiator (right)..

Harmonized leads sound impressive and are great fun to play. You can use remapping to create notes that play in parallel with your original line or that play according to a specified key signature. For even more interest, feed the harmonized line through an arpeggiator. For example, Digital Performer's Mixing Console offers slots to insert real-time MIDI processors. Insert a MIDI-transposition processor using harmonic transposition, followed by an arpeggiator or delay processor (see Fig. 5). Cakewalk Sonar, Steinberg Cubase, and Emagic Logic offer similar capabilities.


Of course, I've only skimmed the surface of a very deep pool of expressive possibilities. The very nature of the MIDI protocol is an invitation to transmute your music in an incredible number of ways. Greater familiarity with your MIDI gear will reap rich musical rewards, and experimenting with remapping may produce some surprising results.

Marty Cutler has recently relocated to Brooklyn, New York, where he teaches MIDI and Sound Design. He is currently playing banjo with the John Carlini Quartet. Special thanks go to Clint Ward at Emagic and Michael Lambie at Sound Quest.


The following are just a few examples of utility applications for transforming MIDI data on the fly. I found these and many other programs at the Shareware Music Machine (

Sound Quest offers MIDI Tools 1.0 (Win; $89), a suite of MIDI utilities, including MIDIMapper, a standalone MIDI processor. With the addition of a MIDI routing application such as Jamie O'Connell's MIDI Yoke or Hubert Winkler's Hubi's MIDI LoopBack Device, MIDIMapper can also stream the data into your sequencer. MIDIMapper's real-time capabilities include harmonizing; creating parallel intervals or octave doubling; and performing seven-way Velocity processing with multiple splits, scaling, and limiting. The program also lets you reassign MIDI channels and continuous controllers and apply MIDI filters, note inversion, and more.

MIDI-OX 6.5.1 from Jamie O'Connell and Jerry Jorgenrud is freeware, but if you're a developer or professional musician, you'll need to pay the $49 license fee. The program runs on Windows 95, NT, and later versions through XP. MIDI-OX is a multifaceted utility, covering everything from System Exclusive librarian tasks to real-time MIDI mapping and filtering. It can also display incoming MIDI data, which is handy if you need to troubleshoot your signal flow. MIDI-OX also lets you generate MIDI data with your ASCII keyboard or with the program's built-in control panel.

FIG. A: SubtleSoft MIDIPipe lets you use microtonal scales with instruments that support the MIDI tuning standard.

On the Mac side, Nico Wald's freeware SubtleSoft MIDIPipe 0.61 (Mac OS X) is an easy-to-use program with a healthy variety of mapping capabilities. It offers event delays, channel filters and routers, channel splits by note number, a randomizer that arbitrarily changes parameter values for any channel-based MIDI message, and a Microtuner to apply a variety of different standard and customizable microtonal scales (see Fig. A).

Granted Software's ReMIDI 04.b is another free Mac OS X program. It may seem like a one-trick pony at first glance: it provides chords or arpeggiator patterns from individual notes. However, the arpeggiator is programmable; you program rests by Control-clicking on one of the squares that represent an arpeggiator note. Dragging a square up or down in its grid changes its pitch. You can also save edited arpeggiator patterns. The arpeggiator is a relatively simple one; the ability to program accents, for instance, is not supported. Nonetheless, choose MIDIPipe as an input, and the possibilities increase tremendously. Microtonal, channel-split arpeggiators, anyone?

FIG. B: Eric Huffman's Megalomania sports an easy-to-use graphical interface where MIDI-processing modules are linked with virtual patch cords.

If you are using Mac OS 9 or earlier, be sure to check out Eric Huffman's Megalomania 1.2.3. It lets you patch as many processing modules together as you need (up to the memory constraints of your computer). It's a remarkably flexible program with a graphical, modular user interface somewhat reminiscent of Digidesign's late, lamented Turbosynth (see Fig. B). You drag processing tools into the main screen or load them from the menu bar. Double-clicking on a processor icon reveals its programmable parameters. The program has been available for quite some time now, and its minimum system requirement is a Mac Plus. Nevertheless, there's a ton of MIDI-processing power in this program, including the ability to shape events with hand-drawn graphs and envelopes.


tel. (888) CAKEWALK or (617) 423-9004

Emagic USA
tel. (530) 477-1051

Eric Huffman

Granted Software

Mark of the Unicorn (MOTU)
tel. (617) 576-2760


Sound Quest Inc.
tel. (800) 667-3998 or (250) 478-4337

Steinberg North America
tel. (818) 678-5100
Web or


  Print Page