How to humanize MIDI velocity for realistic drums and keys

Robotic-sounding MIDI is usually a velocity problem — every note triggers the same sample at the same volume.

Updated 2026-05-19
Short answer

Robotic-sounding MIDI is usually a velocity problem — every note triggers the same sample at the same volume. Real drummers and pianists hit harder on accents (beat 1, 3) and softer on ghost notes and off-beats. Vary velocities between 80-115 with intentional dynamic patterns, not random jitter.

Map out the accents first

Identify the musically important beats: in 4/4 that's usually beat 1 and 3 for kicks, beat 2 and 4 for snares. Set those notes to velocity 105-115. Everything else should be quieter. Don't start by randomizing — start by making the structure clear, then vary inside it.

Add ghost notes below 75

Ghost notes are the soft hits between the main beats — usually on the snare (16th note ghosts between beat 2 and 4) and hi-hat (alternating velocity 16ths). Set them to 50-75. Without ghost notes, programmed drums feel skeleton-like. With them, the groove starts to breathe.

Vary the hi-hats with intent

Alternate hi-hat velocities — open on the 1, closed on the 2-and-3-and-4-and. Or accent every 4th 16th (creates a 'spitting' pattern). Try velocity 90 on accented hats and 65 on the rest. Even small variation (10-15 velocity units) makes the hat pattern sound like a human, not a sample.

Don't use full randomization

DAW 'humanize' functions that randomize velocity by ±20 create unnaturally even chaos — humans accent musically, not randomly. If you use randomization, limit it to ±5 on top of an intentional velocity map. The pattern should still be recognizable when you remove the randomization.

Frequently asked
Why do my programmed drums sound robotic?
Almost always velocity. Real drums vary in dynamics across every hit — even a tight session player swings velocities by 15-25 units. Flat velocity (everything at 100) plus quantized timing equals robotic. Fix velocity first, then think about timing nudges.
Should I randomize velocity?
Only as a final touch (±5 units) on top of an intentional velocity map. Pure randomization (±20 on every note) creates unmusical chaos. Humans don't play randomly — they accent the strong beats, ease off the weak beats, and add ghost notes with intention.
Does velocity even matter for sampled drums?
Yes, hugely — most decent drum sample libraries map different velocities to different recorded samples (round-robin sampling). Velocity 100 might trigger a medium hit; velocity 115 triggers a harder hit with different attack and tone. Flat velocity loses all that nuance.
What about velocity on bass and synth lines?
Less critical than drums but still important. Accent the downbeat notes and ease off passing notes — same logic as drums. For sustained synths, velocity often maps to filter cutoff or envelope shape, so variation also changes timbre, not just volume.

Apply this in Cue

Open the app with this question pre-loaded. Free to use, no signup.

Try this in Cue