Pitch Stepper

Pitch Stepper

Pitch Stepper is free and available from maxforlive.com


Pitch Stepper is something like a step sequencer, but it’s driven by note input rather than a clock. It plays a sequence of pitches in order, advancing one step each time it receives an incoming MIDI note.

Pitch Stepper is inspired by synths and sequencers with trigger inputs, like the Roland SH-101 and many modular and semi-modular devices.

Pitch Stepper’s steps are “programmed” by selecting notes in a MIDI clip. As a result, it has no fixed length and is fully polyphonic.

Video tutorial

An 18 minute video walkthrough is available below:


Get pitches from selected notes – press this to collect the pitches from the currently selected MIDI notes (or the whole clip if no notes are selected). This won’t work if audio clips or multiple MIDI clips are selected, or on MIDI clips that contain no notes.

If any notes were selected, incoming MIDI notes on the track that contains the Pitch Stepper device will now play the collected pitches in order, cycling back to the beginning of the list when it completes. The velocity and other parameters of the incoming note are preserved; only the pitch is replaced.

Clear stored notes – press this to erase the list of previously stored pitches. When the sequence is empty, Pitch Stepper simply passes incoming notes to its output.

Reset now – immediately begins playing back from the first stored pitch.

This button can be MIDI or Key mapped, and also automated. But there are a number of specific things to watch out for – see the Known issues section below for more information.

Playback direction – choose the direction in which to play through the sequence:

  • Forward – plays the pitches from first to last and, for simultaneous notes, from lowest to highest.
  • Backward – plays the pitches from last to first and, for simultaneous notes, from highest to lowest
  • Random Once – randomizes the order of pitches once and continues to cycle through this ordering until “Random Once” is selected again
  • Random Each Time – randomizes the order of pitches each time the list is completed

Progress indicator

This provides a visual reference of the current position of the sequence. The total number of steps is indicated by a note or event count at the bottom right, and the current position is provided by the “Count:” above. The bar fills from left to right as notes are played and begins again when the sequence restarts.

Transpose via input – when enabled, the stored pitch is transposed by the distance between the incoming pitch and the selected Default pitch. For example, if the default pitch is C3 and the incoming pitch is E3, the heard pitch will be a major third higher than the stored pitch.

Preserve original chords – when enabled, any simultaneous notes in the original pitch collection will be played simultaneously by a single incoming note. When disabled, originally simultaneous notes will be played monophonically, ordered from lowest to highest pitch (when the Forward playback direction is selected).

Enabling this option will change the length of the sequence if it contained chords. The progress indicator will update to show the number of “events” rather than “notes” when enabled.

Note that input is always polyphonic, regardless of whether or not Preserve original chords is enabled. For example, imagine a sequence containing one three-note chord. With Preserve original chords disabled, this chord will be triggered if three notes are played as input; each note plays one note of the chord. With Preserve original chords enabled, one input note will trigger the entire chord. (Whether or not you hear monophonic or polyphonic output is, of course, dependent on the instrument that is played by the sequence.)

Preserve original velocities – when enabled, the velocity of an incoming note will be ignored, and the stored pitch’s original velocity will be used instead.

MIDI through – when enabled, the actual played pitch will pass through the device, in addition to any pitches generated by the stored sequence.

? – click to open this documentation.

Reset options

In addition to the Reset now button, Pitch Stepper provides a number of other options for restarting the sequence.

Reset every x – these controls cause the sequence to reset at specific rhythmic positions when Live’s transport is running.

When “bars” is selected, the resets will be based on Live’s global time signature.

Note that the reset positions are absolute (determined by Live’s Arrangement Position) rather than relative (determined by the duration of playback). For example, if “Reset every 2 bars” is selected, the sequence will reset at bar 3, 5, 7, 9, etc. Thus if playback begins at bar 2, a reset will occur one bar later.

When 0 is selected in the number slider, the Reset every x functionality is disabled.

Reset when toggling notes/chords – when enabled, the sequence will reset when Preserve original chords is toggled.

Reset on direction change – when enabled, the sequence will reset when the playback direction is changed.

Known issues

  • If a MIDI note or computer keyboard key is mapped to Reset Now, every other press of the key or note will be ignored. Mapping this button works best with a footswitch.
  • Live’s automation can’t represent triggering a momentary button. In order to automate Reset Now, it’s necessary to automate turning it on AND turning it off.
  • When automating Reset Now, it’s necessary to place the automation slightly before the time when you would like it to occur.
  • At extremely fast tempos or when changing meters, the Reset every x functionality may not work reliably.