All
Over The Map
by
Marty Cutler
Editing
and remapping MIDI data can extend the power of your studio
gear and add fun to live performances
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.
REPERCUSSIONS
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.
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.
FIG. 1: The ability to split a MIDI drum track by pitch allows
easy reassigning and editing of individual drum-kit elements.
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.
SENSITIVITY
FOR DRUMMERS
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.
READY
TO PLAY
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.
OH,
BEHAVE
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.
CONTROL
PATROL
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.
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.
FIG. 3: Before and after data thinning: notice that the reduced
amount of Pitch Bend retains the same general contours as the
unedited version.
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.
CHCHCH
CHANGES
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).
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.
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.
BETTER
MOUSETRAP
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.
THE
KEYS TO CONTROL
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.
REAL-TIME
FUN
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 “Real-Time
Rally,” below).
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.
BIPOLAR
BEHAVIOR
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.
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.
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).
GET
OUT THE MAP
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.
REAL-TIME
RALLY
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 (www.hitsquad.com/smm).
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.
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. 6).
FIG. 6: SubtleSoft MIDIPipe lets you use microtonal scales
with instruments that support the MIDI tuning standard.
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?
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. 7). 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.
FIG. 7: Eric Huffman's Megalomania sports an easy-to-use
graphical interface where MIDI-processing modules are
linked with virtual patch cords.
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.
This article presented courtesy of Electronic Musician
magazine.
|
|