Patter is a realtime / freeform generative music system for Ableton Live.

* Patter v1.0.2 for Live 9 + Max For Live

Some may prefer watching the 3-part / 17-minute Patter tutorial on YouTube.


Patter generates MIDI patterns one segment at a time.

A segment is a rhythmic grouping of notes.

For example, consider this phrase, displayed on a flat grid:

It could be expressed as a sequence of segments of one or more notes each:

…where the notes (and rests) within each segment are always of equal duration.

A generator is a random number generator:

The bars represent a normal distribution of random numbers from low to high.

The mean shifts the probability from low to high (meaning based on context).

The deviation expands the probability that the generated number will fall further from the mean.


Broadly, Patter has two types of controls: phrasing (left), and gestural (right).


Phrasing determines when a Patter device starts and stops, relative to other Patters.

  • if on play is checked, play when Live transport starts
  • play immediately when now is pressed
  • play after another Patter finishes playing or with another Patter (starting at the same time) if box is checked and Patter is selected from the below menu
  • continue playing forever (∞) or for a finite number of segments (▾), specified by generator below
  • if pass to neighbor is checked, when this Patter is done, randomly select an adjacent Patter and play it (NOTE: Patters must be in the same MIDI Effects Rack!).


The Viewer displays generated segments, one at a time, as Patter only generates one segment at a time.


When Loop is enabled, previously generated segments are repeated, and highlighted in the loop display as they are being output.

  • the number of segments may be adjusted by the generator


Rhythm determines the rhythmic structure of each new segment.

  • the topmost generator is the beat according to Live
    e.g. 1 = one beat = one quarter note = one crotchet
  • the second generator multiplies or divides that beat, based on the selection of the × or ÷ operator
    e.g. multiplying by 3 yields "dotted" notes, dividing by 3 yields "triplets"
  • the × • generator determines the number of notes
  • the × ◦ generator determines the number of rests
  • when post is selected, rests will occur after the notes, not before
  • when downbeat is selected, segments will always begin on a downbeat according to their rhythm


The Accent generator determines where the "accent" (highest velocity) is placed in the segment—earlier or later.
Actual velocity values are hard-coded to 128 (accented) versus 64 (unaccented).


The Pitch region sets the pitch of each note in each segment.

  • if Toggle is selected, notes will be alternately selected or unselected based on MIDI input
  • if Live is selected, all notes will be unselected, and only re-selected when a key is pressed in MIDI input.
    Careful! If Live is selected and no notes are pressed, any MIDI pitch may be played.
  • pitch range is determined by the three-octave span of the generator


Thanks for playing