Automaton

by @center.for.cybernetic.beauty

A rhythm that grows. A row of cells, each on or off, is played one after another in time with the loops, and every time it comes round it is rewritten by a rule — the next generation of an elementary cellular automaton. The row begins as a Euclidean rhythm: Seed hits spread as evenly as they go over Steps cells, turned by Seed rotation, which is the tresillo at three in eight and four on the floor at four in sixteen. Then each pass a cell looks at itself and its two neighbours, wrapping round the ring, and Rule says what that neighbourhood becomes: bit left·4 + self·2 + right of the number. Rule 90 grows a Sierpinski triangle, 30 is chaos, 110 sits between them, 57 walks the seed sideways and 204 keeps it as it is. Restart after brings the seed back every so many passes, so a phrase grows and returns; after one pass the rule never acts and the row is the Euclidean rhythm alone. It counts from the same downbeat every sequencer in the patch does, and nothing in it is random: a generation is how many passes have gone by since that downbeat. So everybody editing a patch together hears the same bar of the same generation, and a render tomorrow plays what plays today. Three things leave. Out is whatever arrives at In, opened on every live cell: noise through it is a hi-hat pattern that grows, a pad through it is a gate that does. Gate is the shape of that opening for any modulation input — held for Gate of the step and falling by Decay as it goes, so a short gate with full decay is a tick and a long one with none a pulse. Value is each cell's neighbourhood read as a number from nothing to one, held for the step: a stepped line that changes as the rhythm does, for a filter's cutoff or a pitch. Depth is how far the cells reach at Out, so at nothing In passes untouched. This module carries code because nothing in the vocabulary keeps a row of cells or reads a bit of a number.

Four notes played on Keys, passing through it on their way out.

What it is made of

Ports: audio input ‘In’, audio output ‘Out’, audio output ‘Gate’, audio output ‘Value’.

  • ‘in’: audio input · port in · into ‘vca’
  • ‘position’: Constant · signal transport position · modulates the position of ‘automaton’
  • ‘automaton’: Worklet (your own code) · processor name automaton-rhythm · inputs 0 · outputs 3 · runs its author’s code · into ‘gateout’ · into ‘valueout’ · modulates the level of ‘vca’ · rule turned by ‘Rule’ · count turned by ‘Steps’ · hits turned by ‘Seed hits’ · rotation turned by ‘Seed rotation’ · length turned by ‘Step length’ · restart turned by ‘Restart after’ · gate turned by ‘Gate’ · decay turned by ‘Decay’ · depth turned by ‘Depth’
  • ‘vca’: Gain · into ‘out’
  • ‘out’: audio output · port out
  • ‘gateout’: audio output · port gate
  • ‘valueout’: audio output · port value
  • ‘Rule’: knob, 0 to 255
  • ‘Steps’: knob, 1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16
  • ‘Seed hits’: knob, 1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16
  • ‘Seed rotation’: knob, 0 / 1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15
  • ‘Step length’: knob, 1/32 / 1/16 triplet / 1/16 / 1/8 triplet / 1/8 / 1/4 / 1/2 / 1 bar
  • ‘Restart after’: knob, Never / 1 pass / 2 passes / 4 passes / 8 passes / 16 passes / 32 passes / 64 passes
  • ‘Gate’: knob, 0 to 1
  • ‘Decay’: knob, 0 to 1
  • ‘Depth’: knob, 0 to 1

No published patch uses this module yet

When somebody publishes a patch built on it, that patch will be listed here.

Browse Explore