Here's a few tips & tricks to help you guys who use midi drums, to get 'em sounding more realistic...Right off the bat, what I suggest here isn't "the" way to program midi drums, it's just quite a few things I've learned over the years & wanna pass it on to others who might find this useful....
There are four common occurrences that are dead giveaways for fake drums:
1) Use a little common sense, & try to think like a drummer...
In a lot of programmed drum tracks, I hear a lot of fills and beats that sometimes just can't happen with a real human drummer. A drummer has two hands and two feet.Two of those hands are hitting drums, the feet work the kick drums, hi-hat, maybe a cowbell, whatever. You can't have too many things landing on the same beat. How can two toms be hit at the same time as two cymbals? They can't, unless you have an octopus playing the drums. In that same vein, and this is the harder part for programmers, they try to fill too much space with too many drums. Real drummers like to bang around, but a good drummer doesn't cram every available space with fills, beats, cymbal crashes, ghost hits, etc. A good drummer plays the song. Listen to AC/DC. Phil Rudd does nothing behind the kit, but very few bands have the locomotive rock drive that AC/DC does. It's a like a Panzer tank flying down a mountain. Keep it simple and keep it like a real drummer would play it if you can. Naturally some genres like prog have more complicated drums. Then you can go wild, but still keep it within the limits of an actual human with only two hands and two feet...
2) Dynamics/Velocity
This is always a dead giveaway. Programmed drums can very easily sound like a typewriter. A real drummer, even a good one, doesn't hit every drum the same way every time. The sound of a snare can change just by switching from the hats to the ride. When a drummer goes to the ride and "opens" their upper body, sometimes the snare whacks tend to fatten up due to not having their hi-hat hand riding over the top of their snare hand. Simply put, they can hit the snare flatter and harder. So that happens. We all have a dominant hand. When rolling around the toms, usually a drummer's right or left hand will hit a little harder. Maybe he'll hit harder on the quarter notes and the eights might be a little softer. Like ONE-e-and-uh-TWO-e-and-uh-THREE-e-and-uh...and so forth. Stuff like that goes a very long way towards killing the typewriter sound. And of course, drummers aren't robots. We don't stay exactly on the grid at all times. A good drummer will use the click track as a guide, not a rule...
3) Cymbals
I don't know what anyone can do about this, but sampled cymbals always sound like ass to me. Good drum packs use real drums for samples, and they generally sound good, but I don't know what happens with the cymbals. You're just stuck with generic sounding boring ass cymbal sounds. Like the actual drums, using dynamics goes a long way towards making cymbals not sound all the same. A drummer won't hit the hats the same way every time. He won't hit a crash the same way every time. Vary it up. A good ride cymbal is like 4 cymbals in one. Where you hit it yields different sounds. When you're pinging the bell, mix in a few body hits...
4) The Stereo Spread
Drum programmers that haven't spent much time with real drums don't seem to understand that a kit is not 70 feet wide, and most drummers tend to set their kits up the same way with just a few little variations. The hats and ride are rarely ever on the same side. Toms usually go from small to big around the kit. Kicks and snares are centered. Have some spread on the toms and cymbals, but going all the way wide is distracting and sounds weird. Having a crash or tom pop in and out of one ear is just awkward. Keep it realistic. Find the toms in your fake overhead tracks, and pan the close mic'd toms in it's corresponding area of the overheads for a natural sound...
Another really important thing is: don't over-process what are probably already processed drum samples. Further compression and EQ just makes them worse. Go easy. They probably already sound fine as-is. Real drums don't sound like plastic machine guns. Draw in your dynamics, timing, and use smart panning and drum samples left alone will probably sound much better than trying to murder them with further processing...
Here are a couple little things I use for adjusting velocities for my drums using Reaper... These kinda get 'em in the ballpark, but you might wanna adjust/edit some hits here/there...
You'll need to make a toolbar in the midi editor for each one , & you can name 'em whatever you like on the toolbar...
MIDI Note Selector
Randomize Velocities with GUI
EDIT 3-3-2017:
Dropbox has changed, so there's an extra click or two, but the files are there...If you have any problems, lemme know...
1) download the scripts above (You can choose the folder, you just need to make sure Reaper knows where they are)
2) open the Action list
This is how to add a script into the "Action list" (and how to make a MIDI toolbar button):

These 2 scripts are really handy, for example a drummer might hit the 1st & 3rd snare hits a little harder, these scripts allow you to select the 1st/3rd hits, so you can adjust their velocity, without having to go through selecting each hit one by one, which is a great time-saver for me....
Just remember to make a time selection so the note selector "knows" what you want selected, & the scrollwheel changes the notes that are selected...
I'm actually biting the bullet, & learning to play my e-kit, so hopefully my days of drum programming are numbered, either way, I hope somebody finds this useful...
***UPDATE 1-25-2017***
This falls under the velocity section, buy may be worth mentioning in it's own little section...We'll call it (because I can't think of anything else that fits it any better):
Velocity "Headroom"
Since I've stressed how important having different velocities are, here's a little guide I try to go by....Try to have each hit (especially a hi-hat or ride cymbal) have a difference of at least "7" between 'em...
IE: A simple 8th note beat:

If you look at the velocity levels, you'll see each hit has a difference of at least "7" between each one...The first hi-hat hit's velocity is 74, the next is 44, next is 88, & so on...You'll learn as you go that a lot of drummers hit the hi-hat that falls with the snare a little harder than with the kick...Of course there are no rules, but I've had pretty good success using the "difference of 7" in my programmed drums...It isn't so obvious in the example pic above, but a hi-hat playing 16th notes would become more apparent...
But, this can also be tricky at times...Say you've got a rockin' song where everything has pretty hard/high velocity hits...It's easy to max everything out on a song like this, & may not have the effect you're looking for...It may help to try & plan out where the max velocities need to be, have that section as your "max", then lower the velocities in the parts that lead up to it, with each part gradually building up to that part...
So just a little planning, & thinking ahead may save you lots of trouble down the road if you ever run into this situation...I know I have, many times, so I'm trying to pass on what I've learned to help someone...Remember, there really are no rules, whatever sounds good, is good...
