Pitch Shift
Transpose notes by semitones and octaves.
Shape, compress, or randomize note velocities.
Velocity reshapes how hard a note hits without changing its pitch or timing. The four modes cover the common needs: linear scaling for simple volume adjustment, compression to even out dynamics, expansion to exaggerate them, and fixed to force every note to the same intensity. The random knob adds a deterministic spread on top, seeded so it repeats exactly across renders.
Output velocity is always clamped to 1–127. It never reaches 0 because velocity 0 is a note-off in the MIDI spec, and silently turning a note-on into a note-off is a bug no matter what curve produced it.
A sketch of the signal path, in the order of the parameter groups.
The velocity transform is applied inline to every noteOn. The curve mode selects the mapping function, amount controls its intensity, offset shifts the result, and random adds a deterministic spread. The seed is a hash of a running note counter, so the random sequence repeats exactly across renders and in the test suite. Output is always clamped to 1–127.
A rack is a fixed rig: several modules already wired together, playable as one instrument. This module is one of the pieces.
Velocity shapes the touch of FM Keys; Stereo Widener opens up the sound.
Start the chord loop and tune the velocity curve or stereo width live.
3 modules · velocity → fm-keys → stereo-widener
Transpose notes by semitones and octaves.
Turn single notes into chords.
Add timing and velocity jitter for human feel.
Walk held notes through a rhythmic pattern.