Generative Transformation, Phasing and Microsound
Learning objectives
- learner can generate new material by transforming, mutating and recomposing seed ideas
- learner can build phasing, aleatoric and process-based pieces across nested timescales
- learner can use silence, noise, pink-noise structure and rhythmic automation as compositional material
Capstone — one whole task that evidences the objectives
Compose a two-minute process piece from a single seed: create a mutation pool and generational variants, apply note transformations and Reich-style phasing, sequence your variant cells as ordered phrases each advanced or repeated by choice (In C style), add step-automation and one-time unique events, shape a 1/f pitch or loudness contour across the piece, structure it across microsound-to-formal timescales, and weave silence/noise as deliberate texture.
Prerequisite modules
This module builds toward the core move of minimal and process-based electronic music — and of any live-coded set that has to evolve for twenty minutes from almost nothing: taking one small seed and letting rules, not inspiration, do the composing. In a techno or ambient live rig you rarely have time to invent new material mid-set; what you have is a bar of melody and a toolkit of transformations. This module makes that toolkit deliberate.
The arc starts supported and mechanical. First drill the rule-based moves — transposition, inversion, retrograde and pitch rotation from “note transformations”, then the sibling-pool and lineage methods from “mutation of clones” and “mutation over generations” — until producing ten related variants of a seed is a five-minute job, not a creative crisis. Next, set material in motion: Reich’s phasing and Riley’s In C show how identical or ordered cells drifting against each other generate form by themselves; the aleatoric dimension of In C — each cell advanced or repeated by player choice — is explicitly rehearsed in the capstone’s ordered-phrase step. “Polyrhythmic loops” gives the concrete rig technique of incommensurable loop lengths feeding one instrument. Finally, zoom out and in: “perceptual timescales” forces you to address grain, phrase and section levels at once, while step-function automation, one-time unique events, a 1/f-shaped macro contour, and silence/noise-as-texture furnish the non-note layers.
The required atoms are exactly what the capstone cannot survive without — every generative move, the phasing and aleatoric engines, the timescale frame, the noise and 1/f materials, and the curation principle that keeps random output yours. Supporting atoms enrich rather than gate: musical recomposition and repetition-and-insistence supply aesthetic context; SuperCollider’s 12-tone matrix, tool misuse, implied rhythms in short loops, and the minimal-techno and postminimalist aesthetics show where this craft lives in the wild.
Runnable examples
Generated from the context/ instrument corpus by concept (redistributable idioms only). Do not edit — regenerate with gen-module-examples.mjs.
every-n-transform
s("bd sd hh cp").every(4, rev)
strudel-0028 · CC0
d1 $ iter 4 $ sound "bd sn hh cp"
tidal-0045 · CC0
probabilistic-variation
s("hh*16").degradeBy(0.3)
strudel-0026 · CC0
d1 $ degradeBy 0.3 $ sound "hh*16"
tidal-0025 · CC0
scale-constraint
n("0 2 4 6").scale("c:minor")
strudel-0009 · CC0
play (scale :c4, :minor).tick; sleep 0.25
sonicpi-0012 · CC0
euclidean-rhythm
s("bd(3,8)")
strudel-0004 · CC0
d1 $ sound "bd(3,8)"
tidal-0004 · CC0
layer-subtraction
s("bd*4, hh*8, ~ sd").mask("<1 1 1 0>")
strudel-0024 · CC0
d1 $ mask "1 1 1 0" $ sound "bd*4, hh*8, ~ sn"
tidal-0023 · CC0
polymeter
s("{bd sd, hh hh hh}%4")
strudel-0007 · CC0
d1 $ sound "{bd sn, hh hh hh}%4"
tidal-0007 · CC0
random-walk-melody
Pbind(\degree, Pbrown(0, 7, 1, inf), \dur, 0.25).play
supercollider-0027 · CC0
@n = (@n || 0) + [-1, 0, 1].choose; play (scale :e3, :minor)[@n % 8]; sleep 0.25
sonicpi-0019 · CC0
motif-development
d1 $ n (run 8) # sound "arpy" # room 0.3
tidal-0043 · CC0
play (scale :e3, :minor_pentatonic).tick + (ring 0, 12, 7).look; sleep 0.25
sonicpi-0021 · CC0
generative-mutation
use_synth :prophet; play (scale :e3, :minor).choose + [0, 12].choose; sleep (ring 0.5, 0.25).choose
sonicpi-0045 · CC0
Atoms in this module
Required — these gate the capstone
Supporting — enrichment, not gating