◢◣ zigzag explore zigzag →

one motif, transformed

21 s · repeat, reverse, transpose

one motif, transformed 21 s · repeat, reverse, transpose
0:00 / 0:21
↓ wav ↓ midi

A short motif, then the engine’s transform algebra deriving variations from it — repeated, reversed, transposed — each a declarative variation pointing back at the same source line.

Write it once, transform it

The motif is a single line:

# lines/motif — arp degrees, up and back down
1 3 5 8 5 3

Every variation points back at that one line and names a transformation — the data is never rewritten:

type: variation
source: motif
transformations:
  - { op: repeat, times: 2 }   # or: reverse, transpose, rotate, …

Repeat, reverse, transpose — the motif is data; the variations are declarative operations on it. Edit motif and every variation updates with it.