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. A grain that would run past the end of the clip is shortened to finish there, window and all. 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.