A musically interactive and evolutionary
"zero-player game"

"Incredibly versatile and beautifully balances user control and randomness" - Julia
"I have no clue how this exactly works but it is so mesmerizing to both watch and listen to–so fleshed out and amazing" - Anthony
"Every screenshot is like its own abstract art piece" - Alyssa

description

Terryng Automata is a generative music sequencer that twists together the logic of a Turing Machine (TM) eurorack module with Elementary Cellular Automata (ECA) mathematics. Cellular automata, generally a "zero-player game," start from a single state of cells and autonomously evolve and die based on a simple set of rules. The Terryng Automata takes this model one step further to introduce interactivity through loop controls and musical feedback. Co-create alongside cellular life with unpredictable pseudo-random evolution—some perfect crystal lattices and others chaotic or dead!

8-Step Sequence Loop alongside ECA Rule 110
Figure 1: Terryng Automata Running an 8-Step Sequence Loop alongside ECA Rule 110
Changing the Loop Size on the Fly for Different Patterns
Figure 2: Rapidly Changing the Loop Size Over Time for Different Patterns

how it works

Terry Automata uses a 16 x 33 binary encoded grid of cells for sound generation and history visualization. The top row corresponds to the current ECA generation and also binary maps to sound. Yellow Terryng loop cells have register right shift logic and Pink Automata cells visualize ECA.

Terryng Automata plays two sounds:
kick
The kick is synthesized in ChucK by down sweeping a sine wave, adding noise, and having a sharp ADSR, emulating a Roland TR-808,n . This is triggered every time the top-leftmost cell comes alive.
supersaw

The supersaw is synthesized by stacking 5 sawtooth oscillators together. The first oscillator acts as the center fundamental (F0) and subsequent oscillator pairs are slightly detuned in symmetrically above and below F0 to create a supersaw chorus effect (F0 ± ΔHz). Unlike a traditional supersaw, the Terryng Automata supersaw is not phase-locked.

Supersaw pitch is determined by the first 8 cells of the top row. These cells binary encode an 8-bit integer (0-255) from LSB to MSB (Figure 3). This encoded integer is then scaled with PITCH (Figure 2: bottom left) which has a continuous range of 1 - 4, giving the supersaw a pitch range of 0 - 1020 Hz. Additionally, FILTER (Figure 2: bottom right) applies a lowpass to the supersaw for artistic control.
 

11100111 in automata bits
Figure 3: First 8 Cells on the Top Left DETERMINE Pitch Frequency
(Right to Left: LSB-MSB) binary: 11100111
Integer DECODING: 231
terryng loop
Figure 4: A Binary-Decoded 8-bit Integer loop Sequence
(Bottom To Top, Oldest to Newest) 1, 2, 4, 8, 16, 32, 64, 128, 1


Terryng Automata

download


controls

  • Use the mouse to interact (ECA Rule, Pitch, Loop, Filter)
  • Right click or hit [space] to toggle the menu (Clock Tempo, Reset)

acknowledgements & credits