clouds

clouds · effects · schema v1

Granular texture processor (Mutable Instruments Clouds archetype, Émilie Gillet, 2014, MIT-licensed) — 2-second stereo ring buffer + overlap-added grain cloud (up to 24 grains) + latched FREEZE. Six macros (Position / Size / Pitch / Density / Texture / Blend) with V/oct grain-pitch tracking on the pitch input. v1 ships GRANULAR mode only; STRETCH / LOOPING-DELAY / SPECTRAL modes deferred to follow-up.

A granular texture processor after Mutable Instruments' Clouds. It continuously records the incoming stereo audio into a short ring buffer, then sprays overlapping grains — tiny windowed snippets — out of that buffer to recombine the sound into a shimmering cloud, a smeared pad, a pitch-shifted drone, or a frozen ambient texture. POSITION picks where in the buffer the grains read from, SIZE sets each grain's length, DENSITY sets how many grains overlap, TEXTURE morphs the grain window from soft to hard, PITCH transposes the grains, and FREEZE latches the buffer so the texture keeps playing with no fresh input. BLEND crossfades the grain cloud against the dry signal. Mental model: it turns any source into a controllable swarm of micro-loops.

the faceplate

cloudsin_laudioin_raudiopitchpitchfreeze_gategateposition_cvcvsize_cvcvpitch_cvcvdensity_cvcvtexture_cvcvblend_cvcvout_laudioout_raudioaudiocvgatepitch
10 inputs · 2 outputs · 7 params

inputs

idcablewhat it does
in_laudioLeft channel of the stereo source continuously written into the granular ring buffer (unless FREEZE is engaged, which stops new writes).
audio signal; L/R stereo pair with in_r — L-only auto-duplicates to R
in_raudioRight channel of the stereo source written into the buffer alongside in_l.
audio signal; L/R stereo pair with in_l
pitchpitchV/oct pitch input that sums with the PITCH knob, transposing every grain — patch a sequencer or keyboard here to play the granular cloud melodically.
V/oct pitch CV
freeze_gategateA gate that toggles FREEZE on each rising edge: high-going flips the buffer between live-recording and frozen (looping the captured snapshot). Use it to capture a moment and hold the texture hands-free.
gate / trigger
position_cvcvCV that displaces the POSITION knob, sweeping the grain read-head through the buffer — modulate it for scanning/scrubbing textures.
control voltage (CV); modulates position (additive offset — ±1 CV sweeps the full range, centered on the knob)
size_cvcvCV that displaces the SIZE knob, modulating grain length (short grains = granular stutter, long grains = smooth smear).
control voltage (CV); modulates size (additive offset — ±1 CV sweeps the full range, centered on the knob)
pitch_cvcvCV that displaces the PITCH knob in semitones (separate from the V/oct pitch input, which sums on top).
control voltage (CV); modulates pitch (additive offset — ±1 CV sweeps the full range, centered on the knob)
density_cvcvCV that displaces the DENSITY knob, modulating how many grains spawn — sweep it for swelling/thinning clouds.
control voltage (CV); modulates density (additive offset — ±1 CV sweeps the full range, centered on the knob)
texture_cvcvCV that displaces the TEXTURE knob, morphing the grain-window shape (soft Hann-like to hard rectangular).
control voltage (CV); modulates texture (additive offset — ±1 CV sweeps the full range, centered on the knob)
blend_cvcvCV that displaces the BLEND knob, modulating the dry/wet balance.
control voltage (CV); modulates blend (additive offset — ±1 CV sweeps the full range, centered on the knob)

outputs

idcablewhat it does
out_laudioLeft channel of the overlap-add granular output (the summed, normalised cloud of all active grains), blended with the dry input per BLEND.
audio signal; L/R stereo pair with out_r
out_raudioRight channel of the granular output, blended with the dry input per BLEND.
audio signal; L/R stereo pair with out_l

params

idlabelrangedefaultcurve
positionPosition0..10.5linear
sizeSize0..10.5linear
pitchPitch-24..24st0linear
densityDensity0..10.5linear
textureTexture0..10.5linear
blendBlend0..10.5linear
freezeFreeze0..10discrete

controls

controlwhat it does
BlendDry / wet balance (0..1): 0 passes the input through, 1 is the granular cloud only, between crossfades the two.
DensityHow densely grains are triggered (0..1). Low density leaves audible gaps (sparse, pointillist); high density packs grains into a continuous wash.
FreezeFreeze toggle (0/1): when 1, the module stops writing new audio into the buffer and loops the captured snapshot, so the texture sustains indefinitely with no fresh input. Mirrored by the FREEZE button on the card and the FRZ gate input.
PitchPer-grain pitch shift in semitones (-24..+24). Sums with the V/oct PITCH input; pitch the grains up for shimmer, down for sub-octave drones.
PositionPlayhead position into the recorded buffer (0..1): where grains are sampled from. Sweep it to scrub through the captured audio; with FREEZE on it scans the held snapshot.
SizeGrain length (0..1). Short grains give a fine granular stutter/buzz; long grains overlap into a smooth, time-stretched smear.
TextureGrain-window shape macro (0..1): morphs the envelope each grain fades in/out with, from a soft rounded window (gentle, smooth) to a harder edge (grittier, more pronounced grain attacks).

source

clouds.ts on GitHub.

Generated from packages/web/src/lib/{audio,video}/module-registry.ts · repo