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.
Workflow
- 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.
- 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.
- Set Start, End, Direction, Rate Basis, and Scan Speed to establish the shared source-time motion, then choose Scan- or Grain-clocked Source Advance.
- Choose Scan, Freeze, Cloud, or Slice, then set grain Density, Size, envelope, position and pitch spray, and reverse probability.
- 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.
- Choose Regular or Scatter timing, set the Scatter amount, and add any Size, Level, envelope, or Grain Process variation wanted.
- 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.
- 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
| Control | Behavior |
|---|---|
| Direction | Forward and Reverse wrap through the selected source window. Ping Pong reflects at its ends. |
| Rate Basis | Normal 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 / End | Set the shared proportional source window for all loaded files, regardless of their individual lengths. |
| Source boundaries | Every 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. |
| Scan | Emit grains along the moving scan position. |
| Freeze | Hold grain starts at Position while notes and the grain clock continue. |
| Cloud | Choose stochastic grain positions across the shared source window, then apply Position Spray. |
| Slice | Quantize the scan to the selected 2–32 Regions. |
| Density | Sets the mean number of grain events per second. Regular uses even spacing; Scatter varies the intervals. |
| Grain Size | Sets each grain window from 8–4000 ms. Density and size together determine overlap. |
| Position Spray | Offsets each event from its selected source position. Independent stereo also gives the right channel its own position decision. |
| Position Bias | Behind 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 Shift | Independently 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 Spray | Adds a random pitch offset up to the selected semitone range. Independent stereo makes separate left and right decisions. |
| Reverse | Sets 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
| Control | Behavior |
|---|---|
| Down / Up | Move once through lanes 1–4 or 4–1 per path cycle. |
| Triangle / Sine | Move back and forth with linear or sinusoidal lane motion. |
| Steps Down / Steps Up | Select lanes as discrete ordered steps. |
| Random | Follow a reproducible seeded path; the drawn path is the path the engine uses. |
| Manual | Click 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 Change | Crossfade 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 / Cycles | Shape bends time between path points. Cycles sets how often the lane path repeats across one scan. |
| Offset / Skew / Curve | Rotate, redistribute, and bend path-clock time without changing the source files. |
| Source Advance: Scan | Use the continuously moving source scan as the horizontal clock for the drawn lane path. |
| Source Advance: Grain | Advance 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 Mode | Interpretation |
|---|---|
| Preserve Origins | A stereo file's first channel remains left and its second remains right. A mono file becomes mono material for the stereo panner. |
| Mono Sum | Use one-half of left plus right, retaining additional headroom. |
| Left / Right | Select one original side and treat it as mono. A mono file falls back to its only channel. |
| Mid | Use the equal-power sum (L + R) / √2. |
| Side | Use 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%.
| Process | Behavior |
|---|---|
| Ordinary | Emit the selected source positions without an additional event transformation. |
| Sorter | Rank Regions by sampled loudness and move through that ordering. Amount blends between the original and sorted positions. |
| Stutter | Hold a grain-start anchor for an Amount-dependent repeat group before choosing a new anchor. |
| Shrink | Progressively shorten a repeat chain and accelerate its source reading. Amount controls chain length and contraction. |
| Doublets | Amount 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.
| Control | Behavior |
|---|---|
| Preserve Field | Keep each source channel on the same-numbered output. Missing source channels remain silent; no allocator is involved. |
| Distribute | Fold each grain into a mono object or stereo pair and request a new allocator destination for that grain. |
| Grain Width | Mono uses one output channel. Stereo uses an adjacent or split-bank pair. |
| Traversal | Sequential, Reverse, Palindrome, Random, or Random Cycle chooses successive destinations. |
| Pair Layout | Adjacent uses 1/2, 3/4, and so on. Split Banks pairs matching positions across two equal banks. |
| Avoid Near | For 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
| Preset | Starting configuration |
|---|---|
| Init | Forward Scan, regular Parzen grains, a descending lane path, and linked preserved stereo origins. |
| Soft Cloud | Cloud positions, Gaussian windows, longer grains, wider position spray, and gentle Size and Level Variation. |
| Frozen Halo | Freeze at the middle source position with long, early-peaking grains and a slow sine lane path. |
| Loudness Sort | Slice source positions reordered by the Sorter process. |
| Stutter Field | Grouped repeated anchors with grain-clocked steps across the file lanes. |
| Shrinking Rain | Contracting, accelerating, size-varied grain chains over a grain-clocked random path. |
| Doublet Scatter | Scattered paired grains with variable timing depth and source-time synchronization. |
| Manual Path | A 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.