Algorithmic pattern transformations (transposition, reversal, rotation, phase offset, etc.) are the compositional vocabulary of live coding
Composer Laurie Spiegel (1981) identified 12 categories of pattern manipulation in computer music: transposition, reversal, rotation, phase offset, rescaling, interpolation, extrapolation, fragmentation, substitution, combination, sequencing, and repetition. TidalCycles has gone furthest in encoding these directly as language primitives: its mini-notation handles rhythm, and an extensive combinator library implements all 12 operations and more. These operations are also recognizable in computer logic: AND/OR/XOR are combination; NOT is substitution; left/right shift are rotation — connecting computation and textiles (the same operations appear in weaving). The live coder composes by applying these pattern manipulations rather than specifying individual notes, enabling parametric control at multiple scales simultaneously.
Examples
In Strudel/TidalCycles: rev() reverses the pattern; fast(2) rescales time; off(0.25) applies phase-offset transformation. Steve Reich’s Clapping Music (1972) is a concert-hall example: a bell pattern phase-shifted against itself.
Assessment
Name three of Spiegel’s pattern manipulations and give the TidalCycles or Strudel function that implements each. Then explain why pattern manipulation is more compositionally expressive than specifying individual notes for a live coder.