Pitch Shift
Transpose notes by semitones and octaves.
Add timing and velocity jitter for human feel.
Humanize makes machine-perfect notes slightly imperfect, the way a real player is. Timing jitter shifts each note forward by a random amount up to 50 ms; velocity randomization adds or subtracts up to 32 units. The randomness is seeded by a running counter hashed through murmur3, so the same sequence of notes gets the same imperfections every time — natural feel that survives an offline render.
The timing offset is always forward (positive) so the module adds no latency and never moves a note earlier than its trigger. This is the standard convention for humanize effects: the grid is the earliest a note can land, and the jitter only pushes it later.
A sketch of the signal path, in the order of the parameter groups.
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.
A rack is a fixed rig: several modules already wired together, playable as one instrument. This module is one of the pieces.
Humanize loosens the timing and velocity of a Pluck voice before a wide stereo chorus.
Start the chord loop, then change Humanize or Chorus while it plays.
3 modules · humanize → pluck → chorus
Transpose notes by semitones and octaves.
Shape, compress, or randomize note velocities.
Turn single notes into chords.
Walk held notes through a rhythmic pattern.