← All modules

@maru shared this module so you can build on it and use it in your DAW.

AvailableMIDI & Modulation

Humanize

Add timing and velocity jitter for human feel.

About

A MIDI humanizer. It takes machine-perfect notes and makes them slightly imperfect, the way a real player is, by nudging when each note starts and how hard it is played. The randomness is seeded, so the same part gets the same feel every time you play or render it.

Controls

  • Timing delays the start of each note by a random amount, from none up to 50 milliseconds at full. Notes are only ever moved later, never earlier, so Humanize does not need to hold your playing back to work.
  • Velocity varies how hard each note plays, up to 32 steps louder or softer at full. Results stay within the normal MIDI velocity range.
  • Seed picks the pattern of imperfection. Different seeds give different feels; the same seed with the same notes always gives the same result.
  • The Processing on / Pass through switch takes Humanize in and out.

Both amounts start at zero, so Humanize does nothing until you turn them up. The panel draws the range each setting allows around a reference note; it is a picture of the settings, not of the notes you are playing.

Getting started

Place Humanize between a MIDI source, such as a step sequencer, a clip or a quantized drum part, and an instrument. Small amounts go a long way: a little Timing and a little Velocity loosen a rigid hi-hat line without making it sound sloppy. Try a few seeds and keep the one that sits best.

Only the start of each note moves; the end of the note stays where it was. At high Timing settings, very short notes therefore get shorter still.

How it works.

Each noteOn is offset in time and velocity by a deterministic pseudo-random value derived from a running note counter hashed through murmur3's finalizer, keyed by the seed parameter. The timing offset is always forward (0 to max) so the module adds no lookahead latency. Velocity is clamped to 1–127 after randomization.

What would you make with Humanize?

Describe what you want to make. Build it with the Studio agent.

Goes well with.

Building block

Transpose notes by semitones and octaves.

Building block

Shape, compress, or randomize note velocities.

Building block

Turn single notes into chords.

Building block

Walk held notes through a rhythmic pattern.