Granular synthesis: grains, clouds, and time-frequency textures
Learning objectives
- learner can explain the grain as the atomic unit (envelope + waveform) and how grain parameters — duration, density, position, pitch — shape a texture
- learner can build granular clouds from a source buffer and control the point/line/cloud continuum and density/fill-factor
- learner can use granulation for time-stretching and pitch-shifting decoupled from each other
Capstone — one whole task that evidences the objectives
Granulate a recorded sound into an evolving cloud: sweep grain density from discrete points to a continuous tone, time-stretch it without changing pitch, and pitch-shift it without changing duration.
Prerequisite modules
Granulation is the live coder’s texture engine: on stage it turns one field recording or a resampled loop into ambient beds, riser swells, and stretched vocal smears — the moves behind ambient, dub techno, and IDM sets where a single buffer must yield twenty minutes of evolving material without loading new samples mid-performance.
The whole task is to take one recorded sound and command it as a cloud: sweep it from ticking points to a solid drone, stretch its time without touching its pitch, then transpose it without touching its length. Everything reduces to one structure — a grain generator is always just an amplitude envelope applied to a waveform — so the first supported exercise is a single grain voice reading a short window from a source table. From there the scaffolding widens: set where each fragment reads using grain start position and duration, choose a smooth Gaussian grain envelope to kill boundary clicks, then raise grain density and watch fill factor (density times duration) carry the texture from sparse to packed, along the point/line/cloud continuum. Only then decouple the read pointer from playback rate to get time-stretching, and per-grain rate from trigger rate to get pitch-shifting — the capstone performs both, unsupported, as one continuous gesture.
Required atoms gate the capstone directly: without the density/fill-factor relationship the sweep stalls, and without the pitch-time-changing procedure the stretch collapses back into tape-speed behaviour. Supporting atoms enrich rather than gate — perception thresholds explain why 20 grains per second fuses into tone, Gabor’s quantum grounds the duration-bandwidth trade-off, the deeper envelope-shape spectral theory (sidelobes, AM sidebands) explains what the Gaussian window buys you, and per-grain randomisation and microfiltration point toward the animated, scintillating textures a set eventually needs.
Runnable examples
Generated from the context/ instrument corpus by concept (redistributable idioms only). Do not edit — regenerate with gen-module-examples.mjs.
sub-bass
osc 27.5 >> audio
punctual-0002 · CC0-1.0
synth :subpulse, note: :e1, sustain: 0.4, amp: 1.4
sonicpi-0016 · CC0
reverse-playback
d1 $ sound "bd sn" # speed "-1"
tidal-0056 · CC0
Atoms in this module
Required — these gate the capstone
Supporting — enrichment, not gating
Part of curricula
- Synthesist / Sound Designer — deep DSP to a performed live synth rig — The synthesis palette — FM, additive, wavetable, granular, drums required
Unlocks — modules that require this one