How to Program Drums if you're NOT a Drummer

This post introduces drum programming from a beginner’s perspective because, as a beginner, I’m an expert! It’s a collection of things to think about if you’re not used to thinking about programming instruments like drums.

Before getting started look around at the tools you have available. How are you going to input MIDI data? Are you going to use an electronic drum kit, a drum pad, or a piano roll? I will assume most of you will only have what the DAW provides, the piano roll. It looks like this :point_down:

Ok keep looking, do you have any MIDI drum sample packs? Having these can save you valuable time generating ideas or in the mixing stages of production (many come pre-mixed). Sometimes all you need is an inspirational jump start and these pre-loaded loops can easily be tweaked to your liking. The key thing to note in this stage is that getting good-sounding drums starts with having good-sounding samples. For reference, I mainly use Toontrack’s Superior Drummer 2 for metal (there is a newer version available), which has plenty of expansion packs available, depending on your taste. I bought Metal Foundry a while back.

Ok, onto the programming part.

I recommend starting with a two-bar pattern as your baseline to work with, whether that’s a loop from your sample pack or from scratch. If you’re starting from scratch, focus on a single instrument first, one that keeps the time or provides a sense of when you should bang your head!!! :guitar: . For me, it was the high hat but for you, it could be the snare. Next, add the kick drum, starting on the first beat of the first bar and repeat on the second. The kick and the snare complement each other and generally alternate or accent one another. Adding other elements like cymbals can provide additional color, and toms can connect patterns or add complexity in interesting ways. Start simple though, especially when starting out. You can always vary rhythms, add fills, or add more complex polyrhythms later on.

Here’s a basic 2 bar loop in 4/4 time. :arrow_down:

Once you have a base pattern, it’s time to make it sound human. The folks at soundonsound.com suggest the following:

  • Move the kicks by 1/8 or 1/16 of a beat, and alter the velocities slightly; do the same with the snare.
  • With the hi‑hats, moving, adding, or deleting an open hat can change the feel significantly; the key is to make subtle changes to the second bar to make the two bars feel like one.
  • Repeat the 2-bar loop to make four bars and repeat the process again; making nuanced changes to match the direction and energy of your song.

From this point on, the concept is to iterate over the patterns leveraging your previous work but adding subtle variation and humanization throughout the song to keep things interesting. Realistic sounding drums can be achieved by varying your MIDI velocities, shifting the beats slightly off time, adding swing (syncopation), or adjusting the overall dynamics of the drums/mics. Interestingly, drummers tend to favor their dominant hands which can lead to small differences when striking the instrument.

There is still a ton more to learn about the world of drumming but this should give you a headstart to laying down a drum track good enough for your new project. Hope it’s useful and let me know if you have any feedback or other ways of approaching drum programming.

This is a great starter kit for anyone wanting to get into drum programming - good work Russ!

1 Like