Sample Grains

Sample Grains 2 and Sample Grains 32 load as many as four files into a shared granular source field. One shaped path chooses and crossfades the file lanes; a separate grain clock chooses source position, window, duration, pitch variation, direction, and event pattern. Grains 2 has a fixed stereo output with explicit channel interpretation and mono spreading. Grains 32 has a fixed 32-channel host port with field-preserving or per-grain allocation.

Live Sample Grains interface. Three held Poly emitters produce overlapping grain windows and matching live event rings across the manual four-file path.

Workflow

  1. Insert Sample Grains 2 on a stereo instrument track or Sample Grains 32 on a fixed 32-channel track, then load or drop as many as four files. Grains 2 accepts mono and stereo files; Grains 32 accepts files with one to sixteen channels.
  2. Route the stereo output, or the selected Grains 32 lanes, to the intended speakers or headphone monitor. In Grains 32, open Routing to choose Preserve Field or per-grain distribution and set the active output count.
  3. Set Start, End, Direction, Rate Basis, and Scan Speed to establish the shared source-time motion, then choose Scan- or Grain-clocked Source Advance.
  4. Choose Scan, Freeze, Cloud, or Slice, then set grain Density, Size, envelope, position and pitch spray, and reverse probability.
  5. Choose a lane Path. Use Crossfade for continuous equal-power movement between files or Jump for a direct lane choice at each independently windowed grain, then choose whether Source Advance follows the continuous Scan clock or steps the drawn path once per grain.
  6. Choose Regular or Scatter timing, set the Scatter amount, and add any Size, Level, envelope, or Grain Process variation wanted.
  7. In Grains 2, decide how stereo channels are interpreted and how mono grains occupy the stereo field. In Grains 32, open Routing to preserve a source field or allocate grains.
  8. Set Polyphony, Trigger, MIDI-conditioned scan rate, independent grain pitch, amplitude timing, velocity, and MIDI reception, then play notes or press PLAY.

Source Scan and Grain Source

ControlBehavior
DirectionForward and Reverse wrap through the selected source window. Ping Pong reflects at its ends.
Rate BasisNormal interprets Scan Speed as a multiplier of file playback speed. Hertz interprets it as complete source-window scans per second. The played MIDI note then conditions either rate around Scan Root, doubling per octave.
Start / EndSet the shared proportional source window for all loaded files, regardless of their individual lengths.
Source boundariesEvery grain is independently windowed and its source read wraps inside Start–End, so Grains does not expose the continuous-loop Loop Join control used by Sample Lanes.
ScanEmit grains along the moving scan position.
FreezeHold grain starts at Position while notes and the grain clock continue.
CloudChoose stochastic grain positions across the shared source window, then apply Position Spray.
SliceQuantize the scan to the selected 2–32 Regions.
DensitySets the mean number of grain events per second. Regular uses even spacing; Scatter varies the intervals.
Grain SizeSets each grain window from 8–4000 ms. Density and size together determine overlap.
Position SprayOffsets each event from its selected source position. Independent stereo also gives the right channel its own position decision.
Position BiasBehind restricts Position Spray to earlier source time, Around spreads to either side, and Ahead restricts it to later source time. All three wrap inside the sample window.
Pitch ShiftIndependently transposes every grain by ±48 semitones without changing Scan Speed, event Density, or Grain Size. MIDI note height does not enter this pitch offset.
Pitch SprayAdds a random pitch offset up to the selected semitone range. Independent stereo makes separate left and right decisions.
ReverseSets the probability that a grain reads backward. Independent stereo evaluates the two original channels separately.

Grain Envelopes and Display

Parzen, Sine, Hann, Triangle, and Gaussian windows shape every grain. Envelope Skew moves the window peak earlier or later without changing the selected shape. Size Variation ranges each event from progressively shorter to longer around Grain Size; Level Variation attenuates individual grains by a seeded random amount before overlap compensation. Short windows produce compact events; longer windows and higher Density build overlapping clouds. Output level is overlap-compensated so increasing overlap does not produce a directly proportional gain increase.

The waveform is intentionally darker than the live grain overlay. A faint filled span accumulates where grains overlap. Medium gray is the elapsed portion of a grain, bright gray is the remaining portion, contour thickness follows the current lane weight, and contour brightness follows the current windowed gain. The white point with a dark halo is the current phase. A grain crossing a source-window seam breaks at one edge and continues at the other. Matching rings in the read-head scope identify sounding grain events against the file-lane path.

File-Lane Path

ControlBehavior
Down / UpMove once through lanes 1–4 or 4–1 per path cycle.
Triangle / SineMove back and forth with linear or sinusoidal lane motion.
Steps Down / Steps UpSelect lanes as discrete ordered steps.
RandomFollow a reproducible seeded path; the drawn path is the path the engine uses.
ManualClick to add a breakpoint, drag a point to reshape the path, and right-click a point to remove it. The endpoints remain anchored to the path-clock boundaries.
Lane ChangeCrossfade uses equal-power lane weights. Jump selects one lane when a grain starts; the grain envelope itself supplies the click-safe transition, so Grains has no Jump Slew.
Shape / CyclesShape bends time between path points. Cycles sets how often the lane path repeats across one scan.
Offset / Skew / CurveRotate, redistribute, and bend path-clock time without changing the source files.
Source Advance: ScanUse the continuously moving source scan as the horizontal clock for the drawn lane path.
Source Advance: GrainAdvance through the same visible path in eight event-locked steps. Random therefore follows its displayed seeded eight-step order, and Manual follows its drawn breakpoint shape. With Steps Down or Steps Up, Path Cycles can set how many grain events remain on each lane.

If the path reaches an empty lane, the engine uses the nearest loaded lane rather than producing an unintended silent gap. When Crossfade lies between differently sized files, both use the same proportional source position inside their own Start–End windows.

Grains 2 Channel Modes

Grains 2 always reports one stereo output. POLYPHONY: Mono limits MIDI note ownership to one emitter; it does not collapse the audio channels.

Channel ModeInterpretation
Preserve OriginsA stereo file's first channel remains left and its second remains right. A mono file becomes mono material for the stereo panner.
Mono SumUse one-half of left plus right, retaining additional headroom.
Left / RightSelect one original side and treat it as mono. A mono file falls back to its only channel.
MidUse the equal-power sum (L + R) / √2.
SideUse the equal-power difference (L − R) / √2. A mono source has no Side component and is silent in this mode.

STEREO LINK: Linked keeps the two original channels on the same position, pitch, and direction trajectory. Independent preserves their left/right origins but allows separate Position Spray, Pitch Spray, and Reverse decisions. With all three variation controls at zero, Linked and Independent intentionally converge.

MONO SPREAD gives every mono or mono-derived grain one seeded stereo position that remains stable for that grain's lifetime. Zero keeps grains at Pan; increasing Spread distributes successive grains farther to either side. It does not pull a preserved stereo file away from its original sides. Pan acts as a constant-power position for mono material and as a balance for preserved stereo material.

Timing and Grain Process

Regular emits evenly spaced events. Scatter retains the same mean Density while varying individual intervals; the Scatter slider continuously moves from regular spacing at zero to the full timing range at 100%.

ProcessBehavior
OrdinaryEmit the selected source positions without an additional event transformation.
SorterRank Regions by sampled loudness and move through that ordering. Amount blends between the original and sorted positions.
StutterHold a grain-start anchor for an Amount-dependent repeat group before choosing a new anchor.
ShrinkProgressively shorten a repeat chain and accelerate its source reading. Amount controls chain length and contraction.
DoubletsAmount sets the probability that an event receives a second, slightly shorter grain halfway to the next event. At 100% every event is paired; at 0% none are. With Source Sync on, the second grain's source position advances by the same elapsed source time.

These names parallel Sample Slicer's mutation vocabulary, but the mechanisms are different. Slicer rearranges rendered slice material; Grains schedules overlapping live grain windows.

Polyphony, Scan Rate, Grain Pitch, and MIDI

Poly layers note emitters. Mono replaces the previous note. Legato retargets the scan rate while retaining the active scan position and amplitude. Gate begins Release on note-off. One Shot ignores note-off and begins Release after one complete traversal of the selected source window. Toggle alternately starts and releases a matching note. Scan Root is the note that runs at the displayed Scan Speed; every octave above or below doubles or halves that speed. Scan Tune and Scan Fine offset this rate relationship. Grain Pitch Shift remains a separate fixed transposition, followed by Pitch Spray, so changing MIDI note does not transpose the audio within a grain. Attack and Release shape the note emitter around the independently windowed grains. Velocity blends between fixed gain and note velocity, and MIDI selects Omni or channels 1–16.

Grains 32 Routing

Grains 32 always reports one 32-channel output port. Its Routing tab is separate from source scan and grain processing. ACTIVE OUT limits the usable portion to 2–32 channels without changing the host port.

ControlBehavior
Preserve FieldKeep each source channel on the same-numbered output. Missing source channels remain silent; no allocator is involved.
DistributeFold each grain into a mono object or stereo pair and request a new allocator destination for that grain.
Grain WidthMono uses one output channel. Stereo uses an adjacent or split-bank pair.
TraversalSequential, Reverse, Palindrome, Random, or Random Cycle chooses successive destinations.
Pair LayoutAdjacent uses 1/2, 3/4, and so on. Split Banks pairs matching positions across two equal banks.
Avoid NearFor random traversals, prefer destinations farther from the previous assignment.

Allocation always occurs per grain. Path movement between file lanes does not silently change output routing, and grain-event processes do not bypass the selected routing mode.

Factory Presets

PresetStarting configuration
InitForward Scan, regular Parzen grains, a descending lane path, and linked preserved stereo origins.
Soft CloudCloud positions, Gaussian windows, longer grains, wider position spray, and gentle Size and Level Variation.
Frozen HaloFreeze at the middle source position with long, early-peaking grains and a slow sine lane path.
Loudness SortSlice source positions reordered by the Sorter process.
Stutter FieldGrouped repeated anchors with grain-clocked steps across the file lanes.
Shrinking RainContracting, accelerating, size-varied grain chains over a grain-clocked random path.
Doublet ScatterScattered paired grains with variable timing depth and source-time synchronization.
Manual PathA four-point editable lane route sampled by the grain event clock.

Storage and Recall

The Manual breakpoint path, grain settings, routing choices, and source references return with the project. PROJECT copies sources into the saved REAPER project's media directory, LINK retains their original locations, and EMBED stores decoded audio with the project. See Sample Storage.