How to Make Realistic Midi Drums?


As you know, drums are the backbone of basically any genre, let alone rock, metal and other similar hard hitting music. In an earlier post, I covered the topic about why drums are so important and why getting a third party drum plugin might be a good idea. If you haven’t read it yet, go check it out. Even if your drum plugin sounds great, the main problem is that midi drums can easily end up sounding somewhat static and lifeless. How can you transform robotic midi drums into lively and realistic, like real drums?

At first, you have to think like a drummer. You need to acknowledge how a real drummer would play. This means that you cannot compose stuff that is impossible to play (at least if the goal is realistic sound). Drummer has only two hands and two feet. More often than not, the problem is the lack of dynamics. Midi drums are composed to play with exactly the same intensity all the time, whereas a real drummer would play with a wider dynamic range.

What you want to do first, is to vary the intensity of the hits. In midi world this is called velocity. Changing the intensity is changing the velocity of the hits. It determines how loud or quiet the notes are played. So you need to make some variations to the velocity of drum notes. Pay attention especially to the cymbals. When a real drummer plays a beat to the hihat, every other hit is with significantly lower intensity. This is because a drummer isn’t squeezing drumsticks too hard or moving hands like a robot, but rather playing loosely for groove and flow. Also if there’s a drum fill, not every hit is with the same velocity.

Let’s look at two examples. Example one is a static drum loop with the same velocity. Example two is the same loop with variation in the velocity.

Example 1. In the example above, every note is at the same velocity. This will sound robotic and lifeless.

Example 2. In this example every other hihat hit has been notably lowered. There’s also some variation in all of the drum hits. When the kick is played twice in a row, the first hit is a little quieter (as it would be if a real drummer played it). As a result you’ve got more natural sounding beat.

Although changes in the velocity made drums a bit realistic, there’s more that can be done for even better results. We already varied the intensity of the notes. Now, let’s change the timing of the hits a bit. A real drummer can’t play as tightly to the grid as a machine can. Even if the goal is to play as closely to the tempo as possible, a little variation sounds natural and creates the realistic feeling.

You can recreate the natural sound either by manually moving the notes, or using a function called “Humanize”. Humanize will move your notes randomly to different position. It also changes the velocity if you want it to. The amount of either parameter can be selected of course. You can choose to move the notes randomly only a little, which is wise for not ruining the beat.

In rock / metal music, I typically humanize only cymbals, hihats and fills and do the rest manually (or humanize with a lighter setting). This is because even if real drums were recorded, the kick and snare are edited pretty much to the grid. You might have to adjust some of the hits after humanizing, but it will do the bulk of the job just fine. Let’s take a glance at the example beat now that we varied the timing of the hits as well.

Example 3. Zoom in to see better. The kicks and snares are moved only a tad, whereas hihats have been moved more radically. The changes are small, but little moves make the beat sound more realistic.

A great way to fight against the static velocity and timing is to play the drums with electronic drums, a midi keyboard or a pad. This way there’s a human touch involved, as you determine the velocity and timing from the start. Afterwards you can edit the possible mistakes and overall make the playing tighter if needed. You don’t have to play everything simultaneously. For example you can play kick and snare at the same time, and then add cymbals and hihats / rides / toms the second or third time through.

When you’ve varied both velocity and timing of the drum hits, the drums should already sound more realistic. Next up, think what you would do to real recorded drums. Treat your midi drums like as if they were in fact recorded drums. Separate different drums to different tracks, kicks to kick track, snares to snare track and so on.

Most of the drum plugins allow you to create separate channels for each drum, but if not, no worries. Just duplicate the drum track (and the midi content) over as many times as needed. Then delete everything else from track one except kick hits. Leave only snare hits to track two etc.

This way you can mix the midi drums the same way you would mix real drums. Before mixing, it might be a good idea to bounce (render) the midi tracks from midi to audio. This will free up the processing capacity of your computer.

Use EQ and compression to fit the drums better in the mix and have some energy. Use parallel compression to give some punch and power. Lastly you want to put your drums in some kind of  a space. Nobody ever listens drums in a vacuum. Drums that are thoroughly dry, are insanely weird sounding. Use reverb to give a realistic space to the drums.

To conclude, a great sounding drum plugin is essential for realistic sounding drums. Think like a drummer, don’t compose things that are impossible to play in real life. Make variations to both intensity and timing of the drum hits, pay extra attention to cymbals such as crash, hihat and ride. Treat midi drums the same way as real drums, put them in a space. Go and apply these tips to your midi drums, they’re going to sound more realistic – guaranteed.

You can take these tips (and much more) with you, as I’ve put together a guide that teaches you how to make realistic and more powerful midi drums faster and easier. You can download it here: 6 Step Guide to Realistic Midi Drums, no strings attached, it’s yours for free.

3 thoughts on “How to Make Realistic Midi Drums?

Leave a Reply

Your email address will not be published. Required fields are marked *

Name *