top of page

How To Program Drums (So That They Sound and Feel Human)

Not all producers, songwriters and artists have access to a drum kit, a huge selection of microphones and a professional audio interface with 8+ mic channels to match. Thankfully, modern technologies allow DAW's users to create drums with a click of a mouse. The problem however, isn't just how to program drums, but it's also how to make them sound human. Here's a super helpful and informative article by Garrett Brown, an experience drummer and MIDI drum programmer.



Too often, bedroom artists program drums for their demos, or self recording bands write the most lifeless, 2 dimensional sounding drums that take away the experience of an otherwise great song for their EP. Even if you have something like GGD Modern and Massive 2 with the humanizer modules on it, it can only get you so far because an algorithm decides when and what to vary, so you can’t fully count on a part to be sensibly looser or tighter in terms of how a human would play it.


My approach to midi programming drums mixes three meditations while designing parts.

  • First, consider what a drummer physically has to play on a drum set, and become mindful of physical limitations, fatigue, etc.

  • Secondly, know your drum sample library extraordinarily well and anticipate how it will sound under certain circumstances.

  • The third critically important piece is to focus on getting the ideal result from a part, not trying to write it fast. In most cases, a song can hint at what it wants to say, but it’s your job to anticipate and interpret appropriately.


I work in Logic Pro X (version 10.7.7 to be exact) and I still use the GGD Matt Halpern Signature/PIII kits, the most primitive drum libraries from that company. I draw the midi note for note on a trackpad. I don’t have the luxury of a nice studio desk, or even dedicated office space for that matter, but I see no reason for that to get in the way of art and neither should anybody else who really wants to make art while using midi as a tool. As a note going forward, Logic Pro X offers midi velocities ranging from 1 - 127.


How To Program Drums To Sound More Human

There are two main methods to make programmed drums sound human, and one will most often take priority over the other. First, dynamic variation. Second, rhythmic variation. 


Dynamic variation means that you adjust the velocities of the drums/cymbals to differentiate within certain ranges. Snare accents can range by over 20 points of velocity, whereas kicks may differ by 30, and cymbals by about 15 or so. Ghost notes and deliberately soft notes well be within the range of 20-85 (out of 127) depending on which drum or cymbal. Working on dynamic variation is the best way to make a drum part sound real, while still having the appeal of being a “clean” performance that doesn’t risk any jarring to the listener. This method alone still leaves the risk of the programmed drums sounding too perfect and can still be slightly boring to listen to.


Rhythmic variation is the act of nudging notes slightly away from the gridlines. This can push and pull an otherwise stable tempo and really influence the energy of the song without actually using tempo changes, but it is higher risk and only needs to be used in specific applications. Normally I use them if a drum fill sounds too slow or too fast, or if I need slamming drums to have a little bit of “spread” to them on a part.


For fills that are too slow, I would highlight all of the notes of a fill BEFORE the downbeat where the fill concludes, make the note value slightly smaller (it looks shorter), then collapse them up against the grid line that the fill is going to finish on (to the right hand bar line of where the fill is written). Since the notes are slightly squished, it achieves the affect of higher energy in the song while maintaining tempo. The opposite approach of spreading notes apart and a bit towards the left can make the fill sound slower while still maintaining the appropriate tempo and downbeats. As for drum slams (Hitting both toms and kick in unison for example) I address further down in this article.


Examples Of Drum Programming in Logic Pro X

Let’s check out some examples of what detailed midi can look like. It is a buildup with a busy tom part, some hi-hat chicks in the first half that cut off in lieu of double bass in the second half. All cymbal hits are supposed to be large accents with plenty of space in between (Pro tip: If any element on the kit is used in rapid succession, it should have more dynamic variation and be overall a lower velocity to simulate the fatigue of a drummer doing it, hence why the cymbals are consistently high velocity and the double bass is a lower velocity.)

drum programming in Logic Pro x

The dynamic variation on toms creates depth and texture, and there is a sensible mixture of hand work and foot work considered in how this was written. The majority of it is tight on the grid because that was the intended feel for this part. The kicks for the last three notes were moved just the tiniest amount ahead of the snare attack since it is commonly frowned upon to have kicks and snares triggering at the exact same time. The two will compete for real estate in a modern metal mix more often than not. If we zoom in really far, you will see it.

drum programming in Logic Pro x

Notice the green notes are just in front of the grid, but mildly enough where it’s pretty much imperceptible, and yet the snare has some room to breathe so that each of the pieces can maintain their own attack. This is really useful for making tom slams with heavy kicks sound bigger; you can move one tom slightly ahead of the grid, another tom in equal measure slightly behind the grid, and the kick right on. Between those three, you could get amazing tom slams instead of what sounds like an awkwardly concussive and 1 dimensional drum. An alternative, if you want to keep everything on the grid, is to drop the velocity of the kick by 20(ish) points only when the snare accents happen, so that the snare can take necessary priority in the mix. That also works for continuous double bass runs or specifically written parts where you may want that cleaner effect.


You may be looking at the previous screenshot and thinking: “Okay dude, but what about the fact that EVERY SNARE is velocity 127?” Just a matter of routing and mix preferences that lead to my snare responding the way I want my accents at 127. In kind, I also have to elevated my ghost notes in that template to velocities between 35-57 so they come through the mix.


This next screenshot is from a different template that caters to greater dynamic variance:

drum programming in Logic Pro x

Usually when faster parts/fills are being played, a lot of drummers will have a stronger right foot or right hand compared to the left, and those velocities will be raised anywhere between 2-15 points depending on settings and the part itself.


Most often, those right hand/foot parts happen on the more fundamental elements of the grid, such as the down beats (numbers) or the perfect 8th note subdivision (&), whereas the left hand/foot usually occupy the “E’s” and “A’s” if we counted like (1 E & A 2 E & A 3 E & A 4 E & A…). This is paramount to understanding how a part should sound when played by a drummer, human or otherwise.


IMPORTANT NOTE: The faster a drummer plays a drum, the quieter it usually gets. You also want this effect because if you are mixing a fast double bass that's blowing your head off at max velocity, you’ll have to neuter the low end of the kick to compensate, and that’s annoying.


Lastly, check out the fill in the middle of the screen shot below. It is a tom run with carefully placed dynamics for the rack tom accent, and then the floor tom decays in velocity to emulate drummer fatigue and hitting the floor tom at that speed with natural, minor hand inconsistency, as well as the weakness of reaching the left hand across the body to hit the floor tom as its last note. These things make a drum part seemingly come to life and, it’s a staple of how I like to program anything beyond a back beat.

drum programming in Logic Pro x

In order to accomplish this you must: KNOW YOUR DRUM LIBRARY!


There is much to be said about knowing a drum library well enough to anticipate what your ideal velocities will be for certain parts, which will cut down on programming time while maintaining writing quality. In some libraries, you may even find flaws like “Velocity 33 is slightly quieter than velocity 32,” which is seemingly useless until you use it in context and it gives you exactly what you need for the part. Yes, that has happened, and now you know something about the Matt Halpern Signature Pack in GGD.


Lastly, and most frustratingly, you will deliberately have to develop your ear for drums fitting underneath whatever you’re writing, study up on multiple resources for programming, and learn how to anticipate what a drummer can do to compliment your ideas. Drums control how a song feels. If your drums are not enabling your melodic ideas to feel the correct way, then you need to spend more time sculpting the part until it FEELS how it should to you.


To wrap this all up, to program drums you need to mentally cosplay as a drummer and think about what a drummer’s limbs would be doing as you write a drum part. Know your drum library and processing well enough to know how it will respond to your mix, and be willing to spend the time to write a good drum part that can reciprocate inspiration, and it will make you make better music.



If you have any questions or need some hands on help with programming drums for your demos, Garrett can be reached at garretteatsdrums@outlook.com. You can check out his quality work and the services he offers here. Also, be sure to drop him a follow @garretteatsdrums on Instagram.




Ready to tighten up your edits and work faster with less frustration? Grab our essential PDF guide and start editing like a pro today.



 
 
 

תגובות


bottom of page