Best way to humanize quantized MIDI

What are the methods best for humanizing from quantized MIDI?

I want to apply randomization on velocity, note lengths, nudging and CCs.

Yeah those are the right kinds of things to randomize. Changing the note’s start will be more effective than length.

Velocity is great, unless the instrument doesn’t respond to velocity or only has a few layers so the sound never varies. So check first that it will do anything noticeable. Same with cc’s - make sure varying them does something useful. Also with velocity make sure to do accents (i.e. increased velocity on accented beats) first which makes it sound more musical than randomizing will.

Also it is better to randomize by a small amount several times than by a larger amount only once. For example randomizing starts & doing it multiple times will cause the randomization to cluster around the quantize beat in a normal distribution. This mimics how people actually play - we’re always aiming for a specific moment and miss by a bit & occasionally more than a bit. Most of my LE Presets that do randomization tend to go -3 to +3 from the current setting, assign it to a key and repeat to increase variation.

My drum programming took a huge leap forward when I stopped quantizing when entering hits/notes. I zoom in to one measure and eyeball where to put the hit, listen and move if needed (but typically don’t need to). This also lets you do stuff like put the 2’s and 4’s just a bit behind the beat. So I’d encourage you to play around with not quantizing in the first place.

So I’m really asking about the technical method of randomizing, not what to randomize. I started on Reason 20 years ago and used to do all the feel manually by editing all the individual notes, so I know conceptually what I want to modify and what patterns end up being musical in a human way (such as imitating sticking patterns for drummers, up/down bowing, alternate picking etc.).

More to the point, what are some examples for the Logical Editor to randomize velocity, note start, CCs?
I want to make one for each useful parameter with the hotkey method you described → setting a window (in this case -3 to +3).

You can randomise velocity and position in the inspector under I think the midi modifiers section.

Yes this works fine with a couple of caveats.

  1. It randomizes on the fly during playback, so each time you play it it will be different
  2. This will give you an even distribution across the entire range and not a normal distribution around the beat which is less realistic.

For more control & nuance use the Logical Editor (the MIDI one not the Project one)

Here are a couple of LE Presets for velocity & start position to use as examples


What are your thoughts on the value of Groove Quantize?

Get a human to play the part?

Thanks :slight_smile:

What is “Value 2” referring to in your second image?

To me, that’s the way to go. Randomizing is a fake solution. No ”real” musician worth their salt plays with random fluctuations in their timing/timbre/velocity.

Well, of course, even the grooviest players aren’t perfect. So if you want to emulate really well a good player, groove quantize (with, say something like 50 per cent) and then add a tiny bit of randomness.

Yeah I don’t like the MIDI modifiers option. I prefer to have it set like a score.

I tried those two LE examples you gave and those are good value ranges for tweaking. One application is barely noticeable and the second time starts into a sweet spot for small fluctuations.

I think that’s the crux of the matter: we want it to sound human, not random. I’ve had good results applying the feel of GA patterns to other tracks, to lock in the bass, for example.

Yo Rodger

I’m interested in your last comment re putting 2 and 4 behind the beat, I’ll try it anyway, but what is the theory behind that?

Best Regards, Dave

You can freeze/print what the midi modifiers are doing.


I think the benefit of the midi modifiers - more the velocity randomisation is that if the instrument is multi-sampled you can set it to bounce between sample layers.

I think some of you are missing the point of the randomization. If you analyze anyone’s playing, from beginner to virtuoso, you will find all of these parameters we are talking about (velocity, position, length etc.) have a level of randomness involved. It is a window around the “target” of a performance. The difference between a beginner and a virtuoso is that this window gets much smaller as mastery is achieved, but this window of uncertainty is always there. You cannot play a beat exactly on time or a violin exactly in tune. That’s not how physics works. You can only get close.

The difference between this randomness and a “groove” is that applying a swing is still a mechanically quantized pattern. Applying a groove to one bar and copy/pasta that for the rest of your piece means you are repeating it exactly the same way every time. Humans don’t do that. Well trained musicians can relax the beat, swing light or heavy, play “off the grid” etc, but there are still slight variations in actual performance as compared to its ideal. Think Platonic solids. There is no perfect “sphere”.

By all means, use the grooves to get the feel you are looking for, but don’t confuse it with the randomization element. They are both useful.

1 Like

In 4/4 having the 2 & 4 a bit after the beat gives it a more relaxed feel. This was part of what made those classic Motown songs sound the way they do, for example. Conversely playing 2 & 4 slightly before the beat gives it a more urgent or anxious feel.

Perfectly said.

One other thing I’ve on occasion found useful to randomize by small amounts (always small) is the song’s tempo. As VV noted randomizing midi notes mimics the small variations that occur when a person is playing an instrument. Similarly adding tempo changes mimics the small timing variations of the ensemble as a whole.

I started exploring this back when Greg Ondo used to do in person Club Cubase visits (miss that). He was demonstrating something about the Tempo Track and in the process did a tempo detection for a Fleetwood Mac song. Listening, the song’s beat sounded rock solid (as one would expect of a band named after a drummer), but if you looked at the Tempo Track it was hopping around all over the place. Then I realized that was showing how much the band as a unit was weaving around the beat.

I have a Tempo Track Preset that has a Tempo Event on every quarter note all set to the same value. Starting with this I select them all and change them to whatever the song’s basic tempo is. Then use the PLE to randomize them a small amount relative to their current value. You don’t want so much variation that you actually notice the timing changes. But a little bit can open up the song making it feel more alive, letting it breath if that makes sense.

Exactly my thoughts. Learn to play properly. If you need to quantize cos your timing is so bad, and then randomise to try to make it sound human, something else is wrong. Good musicians don’t randomise things to make it sound better, they lead and lag beats etc all in very practiced ways. Surely it’s better to spend a bit of time improving your technique than spending all that time becoming a demon on the quantize engine, which is always going to be second best at most.

In the painting world, quantize is a bit like paint by numbers. Whatever you do, it’s never gonna be like a proper painting. Always gonna have those big black limiting lines around it.

If you don’t know the context, you really don’t know what you are talking about.