November 11, 2003

Drum Programming  [ Edit ] 

Because this deals with drums, I’m going to have a great deal to say. While I have a lot of experience playing drums in all many kinds of music, as a drum programmer I’m a relative novice. That disclaimer aside, here’s what I have to say about it.

There are several ingredients in good drum programming. First, some gear.

  • A sampler to play the drum sounds. In my case, that the EXS24 or the cheaper EXSP24 for Logic. There’s also Ritmo from Chris Reed. Unlike the Logic-centric EXS* samplers, Ritmo is specifically designed for drums, and it’s cheap ($25).
  • Good drum sounds. When I say this, I don’t mean they have to be real. They just have to be suitable to the music you’re making. One of my ambitions is to sample my drums and put together a virtual drumset with them. In the meantime, I recommend ns_kit, which is (currently) free and available as Giga, Soundfont, or wavs.

Once you have that stuff, you can get started. First you should know that many of these soundfonts and other sampled drumsets will follow the GM [general MIDI] standard for which key on a keyboard matches which drum. This means that usually the lowest B on your keyboard (also known as B0 — B zero) will be a bass drum, as will C1, and so on up through the map. With most samplers, you can change this if it bugs you.

Once you get to this point, you should be able to load samples and hit keys on your keyboard to play them. Now what? You hit record on your sequencer and play drums. Yee hah!

Obviously, like any other music-making, it takes practice and experience to make drums sound good. Your idea of what sounds good will probably be different from mine. Even though I’ve been playing drums for more than half my life, this way of producing the sound is very different for me, and it takes a lot of effort. Here are a few things I’ve found help your drum sequences sound better.

  • I wondered whether one MIDI track should be used for each drum. This is usually the way it’s done with audio. But with MIDI, you could have the benefit of viewing your sequenced drums as a drum score (like you’d see in a book) if everything is in the same sequence. So maybe one sequence is better. Overall, I think it’s better to use separate sequences. As my friend Matt told me, you won’t run up against your “polyphony ceiling” (the number of things your fingers can adequately do at the same time) doing things one or two at a time. And you can control levels and everything else independently very easily. So keep the sequences separate.
  • If you want your drums to sound real, and not machine-like, vary things. You don’t want to make things sound totally random (which is how an amateur sounds), but absolute constant volume and completely static placement of notes is unrealistic. The great drummers vary volume, placement, tone, everything available to them, to great musical effect. In practice for drum programming, this means that you don’t want all your notes at the same volume, and you probably don’t want to quantize them strictly. Swing quantize still sounds quantized. If you want the drums to sound human, you need to do at least some of your note placement by hand. This can be done globally (moving your entire sequence a few frames back or forward to make it lay back or push the beat), or individually in different sections within a song. For volume, you can do things like accenting quarter notes in sixteenth note runs (like on the hi-hat), using ghosted (very quiet, embellishing) notes on the snare.
  • I guess ghosted notes should get their own specific mention. They’re extremely important to making drums sound real. Listen to any recording of a great drummer, especially the great funk drummers like Clyde Stubblefield, Jabo Starks, Melvin Parker (all three from James Brown’s band), Bernard Purdie, Zigaboo Modeliste, and you’ll hear all these little quiet notes between the backbeats. Ghosted notes placed tastefully really help a groove to do what it’s supposed to do: shake that booty.
  • One thing that really sets my ears on edge, in a bad way, is the sound of closed hi-hat being very up front in a sequence. When setting up a funk, dance, or other groove where the hi hat is constantly on eighth or sixteenth notes, I recommend bringing it down lower than you might first try it. With groove music, where the bump really thumps, you want to build from the bottom up sonically. That is, the bass drum should be loudest (relatively — that doesn’t mean loud as hell constantly), then the snare drum, then the hi-hat softest. It may not work out that way at the end, but I think it’s a good starting point. The bottom up approach is something one of my drumming heroes (Steve Smith) recommends in playing real drums.
  • Getting Logic-specific for a second, you can have multiple tracks in the Arrange window that use the same instance of your sampler. This means you don’t have to consume more memory on your computer by making a completely separate and new EXSP24 for each piece of the kit. If you select the track, then use the menus Functions > Track > Create, a duplicate of the current track is created, but it’s the same instrument. So you can have a totally separate midi sequence, editable by itself, but feed it through the same soft sampler. This is kind of nice from a resources standpoint. It’s doesn’t work if you want to apply different effects to different parts of the kit, in which case you have to use separate instances of the sampler. To tell the truth, I don’t even know how much more efficient it is to do it this way, but it seems potentially useful and worthy of mention.

There’s no absolute right way to program drums, but there are a lot of ways that sound less realistic. Every choice you make should be deliberate, instead of just doing it one way because it’s the only way you know.

There’s some non-drummer (and non-Mac OS X) perspective on this same topic on Scott Andrew LePera’s site. Be sure to check out this music too, of course.

Posted by Joe | TrackBack

I found your article very important for me: I'm novice to the drum, real and virtual. Evry articles like yours are very very helpful!! Thanx

Posted by: James at December 2, 2005 4:21 PM

Hey James, I'm glad you dig it.

Posted by: Joe at February 21, 2006 5:33 PM

Hey, thanks for the intro. I'm trying to figure out how to play drum samples on the computer using my roland keyboard as a controller but don't really know how to get started, and this is the first thing I've come across that isn't entirely esoteric. I'm wondering what hardware you need (i have an mbox and midi cables) and what is the easiest software you know of to get started on. Thanks a bunch,

Posted by: Quinn at April 5, 2006 7:50 PM

Hey Quinn,

First of all, if you just have an Mbox 1 (this one: and not an Mbox 2, you need additional hardware. The original Mbox didn't have any MIDI inputs on it, so you couldn't use it for this purpose. You'll need to get a dedicated MIDI interface, something like an m-audio MIDISPORT, or just some kind of interface that can accept MIDI. The Mbox2 does include MIDI ports, so if you have one of those, you're all set.

Beyond that, since you're an Mbox guy (and, I assume, using Pro Tools, which I don't have), I can't tell you exactly how to do it. I know you connect the MIDI OUT from your keyboard into the MIDI IN port of whatever interface you're using, you start up your sequencer/Pro Tools, and go from there. But unless you're using Logic, I can't give you any specific steps.

Good luck, and if there's more I can do to help, let me know.

Posted by: Joe at April 5, 2006 8:25 PM

Nice article, some good tips. I've puzzled over the 'One drum track or one per drum' thing in the past, and I've come up with the following way of working; I create or play in all the basic sequences on one track (using the Matrix Editor in Logic) and then once I'm happy with the basic grooves, I'll select all the notes on each 'key' and move them to their own track.

Posted by: Paul at April 25, 2006 8:40 AM

Informative article. I agree with Paul on the one drum per track thing. I have a Fantom X-8 (which I would recommend to anyone who needs to excersize their musical demons. it's my sampler, keyboard, midi interface, general fun toy - all in one) along with the SRX01 drum expansion which groups the sounds into 'rythm kit' patches. I demoed a song using their kit and left it's balance in the center (so basically I trusted their audio engineers to sample everything) While it sounded ok, I think I would have greatly benefited from splitting the drums into seperate tracks. This allows for seperate effects (reverb, distortion, compression) and mixing (eq, balance, 3d room placement) I found this great website: that has a list of basic drum beats. I usually start by playing along with one of these to get the timing of everything. One I lay down my scratch track for the guitar, I add fills and change the drum sequencing to the finished product. Once I have that, I go back and rerecord the guitar in finished form. Da-dun! Now all that's left is bass, some keys, and vox!

Posted by: Bobby at July 7, 2006 8:54 PM

Yeah, there's pretty much no question that for processing of drums in a "modern" way, where you want to do compress the kick separately and all that stuff, separate tracks is the only way to go.

Thanks for the links and insight!

Posted by: Joe at July 7, 2006 11:50 PM


Posted by: nacho at February 11, 2007 10:33 PM

Hey, 5 years in and still a great article.

Now, I'm looking at drums a little differently as I come more from an orchestral background and have a hard time thinking about 4x4 or four on the floor rhythms and I've been perusing the internet looking for ways to get into the rock-drum head-space. That being said, there's some good value for me in your thoughts on quantizing and building from the bottom up.

Posted by: Crispen at July 6, 2010 9:49 PM

Glad you're getting some use out of it, Crispen. Of course, it's actually a fair bit more than five years at this point. Almost 7! Terrifying. Still, I'm glad.

Posted by: Joe Chellman at July 7, 2010 12:59 PM
Post a comment

Remember personal info?