Granular — grain clouds & textures
A granular sample player: instead of playing a clip straight through, it sprays many short, windowed grains read from one point in a clip, overlapping them into a cloud. Hold a position for a frozen drone, sweep it for a smear, or pitch the grains for shimmer. Great for textures, pads, beat-repeat stutters and lo-fi atmospheres.
How it works
slotselects a clip from the project sample pool (the same pool the Sample machine uses); it is p-lockable.- Grains spawn at a rate set by
density(grains per second). Each grain issizemilliseconds long and fades in/out through a raised-cosine (Hann) window, so overlapping grains blend without clicks. positionis the read point (a fraction of the clip) every grain starts from;sprayscatters each grain's start randomly around it for a thicker, less static cloud.tunepitches the grains (semitones);spreadrandomises each grain's pitch a little for a chorused / shimmering texture.- A global
attack/decayamp envelope shapes the whole cloud, thenlevelsets the gain.
Pitched: tune sets the grain pitch, and is p-lockable per hit like any parameter.
The grain jitter (`spray`, `spread`) is **deterministic** — the same sound plays the same cloud every time, so a pattern is reproducible.
Using it
- Select a track, set its machine to Granular, and Load Sample a clip into its slot.
- Set
positionto the part of the clip you want to granulate; raisedensityandsizefor a fuller cloud. - Add
sprayto thicken it,spreadfor shimmer, and shape the tail withattack/decay. - The grain tile draws
size×densityas a scatter you drag; the rest are their own handles. Every param is p-lockable / LFO-able — sweeppositionwith an LFO for a moving texture.
Parameters
| Param | Range | Default | What it does |
|---|---|---|---|
| `slot` | 0 … (pool size − 1) | 0 | Which sample to granulate (p-lockable) |
| `size` | 5 … 200 ms | 50 | Grain length |
| `density` | 1 … 100 /s | 20 | Grains spawned per second (overlap / thickness) |
| `position` | 0 … 1 | 0 | Read point in the clip (fraction) |
| `spray` | 0 … 1 | 0 | Random scatter of each grain's start position |
| `tune` | −24 … +24 semitones | 0 | Grain pitch in semitones (p-lockable per hit) |
| `attack` | 0 … 0.5 s | 0.001 | Global amp-envelope attack |
| `decay` | 0.01 … 8 s | 1 | Global amp-envelope decay |
| `level` | 0 … 1 | 0.9 | Output gain |
| `spread` | 0 … 1 | 0 | Per-grain random pitch (chorus / shimmer) |
| `normalize` | 0 … 1 | 0 | ≥ 0.5 scales the source to full scale (make-up = 1/peak) |
| `gain` | −24 … +24 dB | 0 | Manual gain trim (0 = unity) |
Plus the shared voice chain — a filter or lo-fi stage pairs well with a grain cloud — and the velocity layers / round-robin map, drawn on the VELOCITY strip, for choosing the source slot by velocity or per hit.
Design recipes
- Frozen pad —
positionfixed, highdensity, longsize, longdecay; add a touch ofspreadfor movement. - Smear / wash — LFO or p-lock
positionto drift through the clip; raisespray. - Beat-repeat stutter — short
size, moderatedensity, shortdecay; p-lockpositionper step to jump around a loop. - Shimmer —
tune+12 andspreadup for an octave-chorused cloud. - Lo-fi texture — add the chain
fx_crush/fx_srrfor a dusty, downsampled grain bed.
Notes & limits
- Stereo playback with linear interpolation: grains from a stereo clip keep its left/right image; a mono clip clouds centred.
- Up to 24 concurrent grains; very high
size×densitysettings cap there (extra grains are dropped cleanly, never clicking). - The clip is resolved on the first render after a trigger, so a per-step
slotp-lock takes effect from that hit.