From: Paul Abrahams <xcelmusic@...>:
> Hi EXS lovers
> Looking for some insights into using Drum Samples...
> A) How to... vary the samples to emulate a drummers sound?
> Taking in to account:
> - A Bass Drum can vary in velocity but the beater hits the same spot...
> - A snare will vary where it's struck...
> - And of course toms and cymbals...
> B) How to... Emulate a drummers feel.
> What methods are you using? (please try and give some detail)
> Many thanks, Paul
Hi Paul -
I guess that could be a pretty big topic; as far as A) goes, here's a
couple of suggestions as to getting a realistic dynamic response from drum
samples, based on the approach I use with my own kits..
There's two ways to go about getting dynamic (velocity) variation: velocity
cross-switching of layered samples (of different dynamics), or velocity
control of filter, envelope, and sample-start parameters.. Commercial
sample libraries use the former, because it's more universal (they don't
have to redo their programming as much to match the feature set of every
different sampler they support); I use the second (programming-oriented)
approach, so that's what I'll talk about here..
Obviously, the velocity cross-switching method requires a dedicated set of
samples and takes up lots of memory; the second (programming) approach
requires (usually) only loud (ie ff) samples, but requires some programming
know-how, and a sampler that offers dynamic control of the proper
functions.. EXSmkII, with the new modulation matrix, offers good control,
although it currently lacks one key feature: the ability to have complete
independent program settings for each drum.. Instead, in the Groups you get
filter and envelope offsets, which are nice but don't always do the job.
I'll assume that eventually Emagic will implement this properly (EXSP
already has it), and so I'll assume separate settings for each drum (right
now this will work with different instances of EXS for each drum, but to
play the kit live you have to have the sequencer running and use the i/o
trick)..
I've sampled and set up my own drumkits, right now on my K2500R; most of
the programming was originally done to make the kits play naturally from a
full MIDI drum kit.. I'm in the process of porting all my kits over to EXS
(though I'm waiting for them to implement a proper multitimbral feature, as
above).. The K2 has a lot of slick realtime dynamic control capabilities
that EXS doesn't, but, in most cases, what's there plus a little
Environment help should do the trick. Since I'm not done with the EXS
programming, I can't always give you specific settings to use in EXS, just
some general ideas as to approach..
1) Dynamic Control: Attack:
You want to soften the attack of a loud (hard hit) sample via velocity, so
when the drum is played softly you hear something like the natural
variation in tone (just having the amplitude change is not enough, you get
too much of a machine-gun effect and if the track is heavily compressed as
usual, there go your only sense of dynamics).. There are two ways to do
this:
a) Velocity controls Attack in the Amplitude Envelope:
- In a multi-stage envelope, you can set a first stage of around 15-20ms
duration and have velocity modulate the intensity (the level of that
stage), with a decay of around 20-50ms to the next stage's level (max), At
max velocity the envelope plays the sample back unmodified; at lower
velocities the level of the attack transient is softened, simulating a
softer hit; the decay just after this stage is crucial to making this sound
like a natural performance variation rather than a compressor effect (this
is kind of like a velocity-sensitive version of what Enveloper or Transient
Designer does with attacks)..
- With a simpler ADSR envelope like the EXS's, you can accomplish more or
less the same thing by using the velocity to attack time feature provided..
Here the exact setting will be critical (just like the decay setting
above), and will differ for every different type of drum or cymbal (one of
the main reasons you need multitimbrality; the Group offsets don't offer
this variation). In EXS, a typical value around the 60ms area seems to be
good.. (ie Kick/toms/hihats might have shorter settings, snare will have a
longer setting (to allow for pressrolls), and crashes might have an even
longer setting (to allow for swells)..
b) Velocity controls Sample-Start point:
With this approach, gradually lower velocities play the sample back from a
point gradually into or past the initial hard transient, resulting in a
softer-sounding hit without too much mushiness; once again, a different
setting will be required for each drum class for best results. After using
both this and the attack/attacktime modulation methods above, I prefer a)
on all drums in a typical trap kit, except, for some reason, ride, in some
cases..
Also, in EXS, there is a caveat to using sample-start velocity modulation:
EXS expresses the velocity-to-sample-start adjustment as a percentage of
sample length rather than a fixed duration, so unless all your samples are
the same length, you'll get unpredictable results with this as you audition
different drums, making you reset it for each new sample rather than having
a global setting which pretty much works on every drum of a particular type
(I use it for rides, but I do trim my drum samples to the same length per
type, for a number of reasons)..
2) Dynamic Control: Tone
Some drums will benefit from a little gentle velocity to (lowpass) filter
cutoff modulation.. Kicks and toms sound good with this (in conjunction
with attack control), but I wouldn't use it on snares and cymbals..
3) Dynamic Control: Pitch:
A slight increase in pitch with harder velocities can sound good,
particularly on toms (actually, if the sample is a hard hit, better to have
the pitch dropped a hair with lower velocities and coming up to normal at
max). (A velocity-to-pitch envelope can also be applied, especially on
toms, to simulate the greater amount of pitch-drop that occurs on some toms
as you hit harder; however, this probably has to be applied on an
individual basis rather than via a general drum template, as different tom
tunings and head configurations produce more or less of this effect
naturally, and you can't be sure what's going to be in the samples
themselves)..
4) Variation:
Drummers never hit the drum exactly the same twice , so a little bit of
natural-sounding variation from hit to hit goes a long way to eliminating
one of the dead giveaways of sampled drums, the "machine-gun effect"..
a) A little random pitch variation per note is good (anywhere between 20-40
cents); this must trigger a fixed amount of variation with each note-on and
not vary during the note or you'll get an unrealistic warbly effect. In
EXS, they have a nice Random parameter that does just this (up to a range
of 50 cents).. Caveat: Cymbals that really ring out and overlap (like ie
rides) may produce too much of a flanging effect from the detuned
overlapping samples, so this should probably not be used on them..
b) Rimshot: see below, under special Snare techniques..
c) If you program your drum parts rather than playing them, you'll want to
add a little "humanizing" (performance randomizing); Logic has a Transform
function for this, experiment with it. If you do play your parts but need
to Quantize them, try a partial Quantize of 25 to 75 percent to preserve
some of the feel (if there is any!) while still tightening up the
performance..
5) HiHat Programming:
The one thing drummers who played my kit made me work on more than anything
else was the response of the sampled hihat - a good drummer does a lot of
variation with his hats, and while you can't duplicate every bit of it, you
can probably do much better than the hats that come with most MIDI drums
(especially if they adhere to the abysmal GM standard for hats)..
First off, you want to try to get a continuous variation from open to
closed - I do this with a electronic hihat pedal that transmits cc1, and my
programs use this to adjust the hats' openness. I use 4-6 discrete samples
for hat: a foot stomp, a closed hat (sometimes two, tight and slightly
looser, or tip and edge of stick), a partially open slosh, and a wide open
or almost wide open sample (I also have some foot pump samples, although I
haven't incorporated them into the kits yet)..
In the K2500 I use cc1 to crossfade between the closed, half-open, and open
samples (using 3 voices per hit).. EXS has the new sample-select
crossfading feature that should be able to accomplish the same thing
handily (I haven't gotten to that yet, because the different hat samples
really need different attack settings, so I'm waiting). The idea is that if
you're riding on the slosh or open hihats, they ring out overlapping for a
nice natural-sounding wash, but as soon as you stomp on the pedal (cc0) all
of these ringing hat samples will be cut off and the foot sample will sound
(this sounds more natural than a monophonic hihat group). If a pedal is
impractical, the modwheel itself can be used to "play" (even overdub) the
hihat's opening/closing performance. When continuous control is not
feasible (ie for GM compatibility), an Environment patch can be setup to
convert cc1-dependant parts to simple open-note/closed-note hihat parts or
vice-versa..
6) Special Snare Techniques:
Many drum programmers like to have a number of similar but slightly
different hits for each drum (ie RH/LH or random variation), to break up
the monotony of the same sample triggering over and over.. I find that in
most cases, a subtle application of attack control, tone (filter) control,
and random pitch control, along with natural or applied velocity variations
in performance are just as good, with one exception: snare (particularly
the all-important backbeat!)..
First off, the snare needs to have at least 3 different classes of samples;
sidestick, snare center hit (no rim), and rimshot (snare plus rim together,
hard). The snare and rimshot hits are used differently in various musical
styles, for instance jazz drummers tend to play on the snare head itself
more, using rimshots for accents, while a lot of rock drummers lay into
rimshots for every backbeat, though they're on the snare head for fast
runs, ghost notes, drags, and buzz or press-rolls..
In my experience, nothing beats the use of several different rimshot
samples, randomly alternating on the backbeat, for adding a necessary touch
of natural variation; they should be quite similar, but different enough so
that the differences are not immediately noticeable but subconsciously
provide a sense of realism when heard in a track. Here is one place where I
also use a little velocity layering - My kits incorporate 1 or 2 sidestick
samples, 2 or 3 samples for Snare (only), 2 or 3 standard (hard) rimshot, 2
or 3 slightly harder rimshot, and 2 or 3 very hard (accent) rimshot (more
of a pop than the others) -in effect, 5 groups in all. When I play from the
keyboard, the snare and rim groups are on different keys, arranged with the
snare samples on 4 adjacent white keys in the middle and the rimshots
around them (this way I can roll my fingers over the snare keys to perform
pressrolls, drags, etc - if the attack control is implemented well this
will sound quite natural; it will absolutely not work if there is any
rimshot in these snare samples).. I can either choose the different rim
groups by hand, or I can use an Environment patch to automatically assign
them to velocity ranges (if this is the preferred method, this could also
be done within EXS); another Environment patch randomly cycles among the 2
or 3 samples in each rim or snare group.
In addition to these sample variations, there is also some attack control
(different for snare and rimshots), and some pitch randomness applied, as
with all the other drums and cymbals. This is a fair bit of work to set up,
but once done it can be used universally just by assigning new sets of
samples; to my ears it's one of the most effective techniques for making
the kit sound natural AND play with a natural feel. Obviously, you need a
set of well-matched samples for each snare - this is best if you have the
chance to do your own sampling, but even if that's not possible, many of
the sample sets out these days have alternate hits from the same drum
(Clearmountain, Gadd, Ilio, etc) that can be pressed into service if this
approach is tried..
6) Velocity Curve:
To make the kits playable, or to adapt them to prerecorded sequences,
control of the velocity-response curve for each drum type is a good idea..
EXS lacks this, but the Environment has the Exponential Transformer mode -
a range of plus/minus 3 will usually get the job done (this can be critical
to getting a natural sense of dynamics; what good is a drumkit with a lot
of nice velocity-based tonal variation if your MIDI kit's or keyboard's
velocity response typically keeps your performances between, say, 120 and
127!).. An Environment patch can be set up to provide velocity-curve
control per drum both on record and playback..
7) Mixing:
A nice technique, that some of the sample library guys are doing now, is to
sample multiple mics for each drum (close, overhead, bottom (for snare),
and sometimes room), and give the user full control over the blend for
mixdown. This is especially useful on snare, where the top/bottom blend
plus a little judicious eq can yield a lot of variety from the same drum..
8) Miscellaneous:
For convenience, you could set up an Environment mixer/control panel to
centralize all kits' adjustments; it could be simple (ie just level, pan,
pitch, drum selection) or much more comprehensive, depending how important
specific control over the drum sound is to your working method..
Ultimately, I plan to set up an Environment mixer for EXS like that one
I've made for the K2500 version of these kits: control per drum for level,
pan, pitch, decay, velocity curve (rec/play), eq, and multi-mic mix control
for kick, snare, and toms; when I import the kits to EXS I'd like to add
per-drum control for compression, effects, overall overhead level and eq,
and a few other things.. In the K2 kit all the mix and setup parameters
are stored in Environment-based program memories (Transformer Maps) for
kits and individual drums; all the samples are always loaded and instantly
accessible, since the programming-oriented approach makes for much smaller
kit sizes; even if the EXS version continues to grow in size this should
still be feasible..
As I'm writing this I'm taking a break from auditioning a new bunch of drum
samples recorded a couple of weeks ago to be added to the K2 kits.. I've
been impatiently awaiting Emagic getting around to fully implementing
multitimbral capability for EXS so I can finally bring these kits in to the
computer as I have with pretty much the rest of my sample library.. If they
are tweaking EXS (hopefully), maybe they could add a few more matrix
modulation sources and destinations as well, like random (for control of
sample select without the need for an Environment patch), legato (also for
control of sample select, though not for drums, obviously, I'd use it for
bass programming), velocity curve control everywhere(!), at least one more
assignable envelope, and while they're at it make them all multi-stage
envelopes (with fully realtime-controllable rates and levels, ala Kontakt),
a more graphically-oriented sample assignment interface, etc , etc, etc..
Their collaboration with the VSL people (who share much of this kind of
approach to realtime programming) is encouraging - we'll see what develops..
Anyway, that's just a few ideas on the subject.. I hope this is somewhat
helpful.. As far as B) emulating a drummer's performance, well, that's a
whole 'nother topic, perhaps best left for another day.. So now, back to
sampling.. :-)
Cheers, Joe Albano
ROOFTOP PRODUCTIONS, NYC NY
Music: www.rooftopproductions.com
Consulting: www.rooftopproductions.com/Consulting.html