Early Preview · Kiwisonic, Kiwisynth and Kiwipulse are free during early preview. The shape of all three is still being figured out, and feedback is what drives them forward.

Granular — grain clouds & textures

All docs / Kiwipulse / Granular — grain clouds & textures

Kiwipulse manual

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

  • slot selects 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 is size milliseconds long and fades in/out through a raised-cosine (Hann) window, so overlapping grains blend without clicks.
  • position is the read point (a fraction of the clip) every grain starts from; spray scatters each grain's start randomly around it for a thicker, less static cloud.
  • tune pitches the grains (semitones); spread randomises each grain's pitch a little for a chorused / shimmering texture.
  • A global attack/decay amp envelope shapes the whole cloud, then level sets 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

  1. Select a track, set its machine to Granular, and Load Sample a clip into its slot.
  2. Set position to the part of the clip you want to granulate; raise density and size for a fuller cloud.
  3. Add spray to thicken it, spread for shimmer, and shape the tail with attack/decay.
  4. The grain tile draws size × density as a scatter you drag; the rest are their own handles. Every param is p-lockable / LFO-able — sweep position with 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 padposition fixed, high density, long size, long decay; add a touch of spread for movement.
  • Smear / wash — LFO or p-lock position to drift through the clip; raise spray.
  • Beat-repeat stutter — short size, moderate density, short decay; p-lock position per step to jump around a loop.
  • Shimmertune +12 and spread up for an octave-chorused cloud.
  • Lo-fi texture — add the chain fx_crush / fx_srr for 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 × density settings cap there (extra grains are dropped cleanly, never clicking).
  • The clip is resolved on the first render after a trigger, so a per-step slot p-lock takes effect from that hit.