Adjusts Mix. Range: 0–1. Default: 0.5. Linear scale. Units: unitless.
Granulator as the Patch draws it, at default values: inlets on the left, outlets on the right.
Granulator chops the live input into short windowed grains and replays them from the recent past, turning any sound into clouds, stutters, shimmering textures or a frozen drone.
The input is written into a circular buffer prepared for the largest admitted Position plus Spray plus the longest grain at its fastest read. New grains start at Density per second, or on a grid of Beats locked to the shared transport. Each grain reads Grain size of audio from Position behind the live input (plus a random Spray), transposed by Pitch and a random Pitch spray, backwards with the Reverse probability, and balanced across the channels by a random amount up to Width. A Hann window fades every grain in and out. Up to 32 grains sound at once; a grain that finds every voice busy is skipped. The sum is normalized by the energy of the windows that are sounding, so dense clouds keep a steady level.
Every random choice comes from a generator seeded by the node's path, so the same Toy sounds identical on every host and in offline renders. Freeze stops writing the buffer: grains keep replaying what it holds, even after the input falls silent.
Use it for ambient textures from any source, glitchy stutters on drums, octave shimmer, or a held freeze drone under a performance. For clean repeats use Delay; for a smooth wash use Reverb.
The length of each grain's window, from 10 to 1000 ms. It is fixed when the grain starts. Short grains sound buzzy and rhythmic, long grains smooth and smeared.
How far behind the live input each grain starts reading, from 0 to 2000 ms. Grains that play faster than the input start far enough back that they never catch up with it.
Beats between grains, phase-locked to the shared transport: 0.25 starts a grain every sixteenth note. At 0 grains follow density_hz. While the transport is stopped, synced grains do not start.
Each help patch is an ordinary Toy that teaches one idea. The diagram shows the Patch; the preview shows its Frame. Open it in TuneToys to play and edit it.
Fundamental pitch, capped below Nyquist; detune uses cents. Range: 20–20000 Hz. Default: 220 Hz. Logarithmic scale. Units: Hz.
Hz
Output gain. Range: 0–0.5 ×. Default: 0.12 ×. Linear scale. Units: linear gain.
×
Selects the implemented algorithm. Choices are discrete and are not LFO targets. Range: 0–7. Default: 0. Linear scale. Units: unitless.
Cycle offset; Gate rising edges restart phase from this position. Range: 0–1 cycles. Default: 0 cycles. Linear scale. Units: cycles.
cycles
Pitch offset in cents. Range: -1200–1200 cents. Default: 0 cents. Linear scale. Units: cents.
cents
On or off. A rising edge retriggers; held on runs the oscillator or envelope. A control cable switches it at 0.5. Range: 0–1. Default: 1. Linear scale. Units: unitless.
Semitones a full pitch bend on the MIDI input moves the note, up or down. Range: 0–48 st. Default: 2 st. Linear scale. Units: st.
st
Time constant of the slide from one MIDI note's pitch to the next; 0 jumps. Range: 0–2000 ms. Default: 0 ms. Linear scale. Units: ms.
ms
Envelope
Audio2ch
Audio2ch
Done1 lane
Time to rise to full gain. Range: 0–10000 ms. Default: 10 ms. Linear scale. Units: ms.
ms
Time to fall to sustain in ADSR, or zero in AD. Range: 0–10000 ms. Default: 120 ms. Linear scale. Units: ms.
ms
On or off. A rising edge retriggers; held on runs the oscillator or envelope. A control cable switches it at 0.5. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Selects the implemented algorithm. Choices are discrete and are not LFO targets. Range: 0–2. Default: 0. Linear scale. Units: unitless.
Repeats complete envelope cycles while Gate is held. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Restart from the current gain or reset to zero on a rising Gate. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Duration of the held part in repeating ADSR/AR cycles. Range: 0–10000 ms. Default: 100 ms. Linear scale. Units: ms.
ms
Granulator
Audio2ch
Audio2ch
Length of each grain's Hann window, fixed when the grain starts. Range: 10–1000 ms. Default: 90 ms. Logarithmic scale. Units: ms.
ms
New grains per second when Beats is 0. A grain that finds all 32 voices busy is skipped. Range: 0.5–200 Hz. Default: 16 Hz. Logarithmic scale. Units: Hz.
Hz
How far behind the live input each grain starts reading. The buffer is sized for the largest admitted value. Range: 0–2000 ms. Default: 120 ms. Linear scale. Units: ms.
ms
Random extra distance back for each grain. Range: 0–1000 ms. Default: 40 ms. Linear scale. Units: ms.
ms
Grain transposition in semitones. Range: -24–24 st. Default: 0 st. Linear scale. Units: st.
st
Random transposition of each grain up to this many semitones either way; the total stays within ±24. Range: 0–24 st. Default: 0 st. Linear scale. Units: st.
st
Probability that a grain plays backwards. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Random balance of each grain across the channels. Range: 0–1. Default: 0.5. Linear scale. Units: unitless.
Stops writing the live buffer so grains keep replaying what it holds. A frozen buffer reports an infinite tail. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Beats between grains, phase-locked to the shared transport. 0 uses Density instead. Range: 0–16 beats. Default: 0 beats. Linear scale. Units: beats.
beats
Dry/wet blend. Range: 0–1. Default: 0.5. Linear scale. Units: unitless.
Audio output
Audio2ch
Note
Note
Patch: Oscillator audio output connected to Envelope audio input. Envelope audio output connected to Granulator audio input. Granulator audio output connected to Patch outputs audio input.Connections as text
Oscillator audio output connected to Envelope audio input
Envelope audio output connected to Granulator audio input
Granulator audio output connected to Patch outputs audio input
Each grain replays a short windowed slice of the recent input.
Density sets how many grains start each second; Position how far back they read.
Frame preview (static). Controls show their default values.
A plucked loop scattered in time, pitch and direction.
Oscillator
MIDI1 lane
Audio2ch
Fundamental pitch, capped below Nyquist; detune uses cents. Range: 20–20000 Hz. Default: 220 Hz. Logarithmic scale. Units: Hz.
Hz
Output gain. Range: 0–0.5 ×. Default: 0.12 ×. Linear scale. Units: linear gain.
×
Selects the implemented algorithm. Choices are discrete and are not LFO targets. Range: 0–7. Default: 0. Linear scale. Units: unitless.
Cycle offset; Gate rising edges restart phase from this position. Range: 0–1 cycles. Default: 0 cycles. Linear scale. Units: cycles.
cycles
Pitch offset in cents. Range: -1200–1200 cents. Default: 0 cents. Linear scale. Units: cents.
cents
On or off. A rising edge retriggers; held on runs the oscillator or envelope. A control cable switches it at 0.5. Range: 0–1. Default: 1. Linear scale. Units: unitless.
Semitones a full pitch bend on the MIDI input moves the note, up or down. Range: 0–48 st. Default: 2 st. Linear scale. Units: st.
st
Time constant of the slide from one MIDI note's pitch to the next; 0 jumps. Range: 0–2000 ms. Default: 0 ms. Linear scale. Units: ms.
ms
Envelope
Audio2ch
Audio2ch
Done1 lane
Time to rise to full gain. Range: 0–10000 ms. Default: 10 ms. Linear scale. Units: ms.
ms
Time to fall to sustain in ADSR, or zero in AD. Range: 0–10000 ms. Default: 120 ms. Linear scale. Units: ms.
ms
On or off. A rising edge retriggers; held on runs the oscillator or envelope. A control cable switches it at 0.5. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Selects the implemented algorithm. Choices are discrete and are not LFO targets. Range: 0–2. Default: 0. Linear scale. Units: unitless.
Repeats complete envelope cycles while Gate is held. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Restart from the current gain or reset to zero on a rising Gate. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Duration of the held part in repeating ADSR/AR cycles. Range: 0–10000 ms. Default: 100 ms. Linear scale. Units: ms.
ms
Granulator
Audio2ch
Audio2ch
Length of each grain's Hann window, fixed when the grain starts. Range: 10–1000 ms. Default: 90 ms. Logarithmic scale. Units: ms.
ms
New grains per second when Beats is 0. A grain that finds all 32 voices busy is skipped. Range: 0.5–200 Hz. Default: 16 Hz. Logarithmic scale. Units: Hz.
Hz
How far behind the live input each grain starts reading. The buffer is sized for the largest admitted value. Range: 0–2000 ms. Default: 120 ms. Linear scale. Units: ms.
ms
Random extra distance back for each grain. Range: 0–1000 ms. Default: 200 ms. Linear scale. Units: ms.
ms
Grain transposition in semitones. Range: -24–24 st. Default: 12 st. Linear scale. Units: st.
st
Random transposition of each grain up to this many semitones either way; the total stays within ±24. Range: 0–24 st. Default: 2 st. Linear scale. Units: st.
st
Probability that a grain plays backwards. Range: 0–1. Default: 0.3. Linear scale. Units: unitless.
Random balance of each grain across the channels. Range: 0–1. Default: 0.8. Linear scale. Units: unitless.
Stops writing the live buffer so grains keep replaying what it holds. A frozen buffer reports an infinite tail. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Beats between grains, phase-locked to the shared transport. 0 uses Density instead. Range: 0–16 beats. Default: 0 beats. Linear scale. Units: beats.
beats
Dry/wet blend. Range: 0–1. Default: 0.5. Linear scale. Units: unitless.
Audio output
Audio2ch
Note
Note
Patch: Oscillator audio output connected to Envelope audio input. Envelope audio output connected to Granulator audio input. Granulator audio output connected to Patch outputs audio input.Connections as text
Oscillator audio output connected to Envelope audio input
Envelope audio output connected to Granulator audio input
Granulator audio output connected to Patch outputs audio input
Spray and Pitch spray randomize each grain from a generator seeded by the node.
Reverse is a probability per grain; Width balances grains across the speakers.
Frame preview (static). Controls show their default values.
Grains on the transport grid, and a freeze that holds the buffer.
Oscillator
MIDI1 lane
Audio2ch
Fundamental pitch, capped below Nyquist; detune uses cents. Range: 20–20000 Hz. Default: 220 Hz. Logarithmic scale. Units: Hz.
Hz
Output gain. Range: 0–0.5 ×. Default: 0.12 ×. Linear scale. Units: linear gain.
×
Selects the implemented algorithm. Choices are discrete and are not LFO targets. Range: 0–7. Default: 0. Linear scale. Units: unitless.
Cycle offset; Gate rising edges restart phase from this position. Range: 0–1 cycles. Default: 0 cycles. Linear scale. Units: cycles.
cycles
Pitch offset in cents. Range: -1200–1200 cents. Default: 0 cents. Linear scale. Units: cents.
cents
On or off. A rising edge retriggers; held on runs the oscillator or envelope. A control cable switches it at 0.5. Range: 0–1. Default: 1. Linear scale. Units: unitless.
Semitones a full pitch bend on the MIDI input moves the note, up or down. Range: 0–48 st. Default: 2 st. Linear scale. Units: st.
st
Time constant of the slide from one MIDI note's pitch to the next; 0 jumps. Range: 0–2000 ms. Default: 0 ms. Linear scale. Units: ms.
ms
Envelope
Audio2ch
Audio2ch
Done1 lane
Time to rise to full gain. Range: 0–10000 ms. Default: 10 ms. Linear scale. Units: ms.
ms
Time to fall to sustain in ADSR, or zero in AD. Range: 0–10000 ms. Default: 120 ms. Linear scale. Units: ms.
ms
On or off. A rising edge retriggers; held on runs the oscillator or envelope. A control cable switches it at 0.5. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Selects the implemented algorithm. Choices are discrete and are not LFO targets. Range: 0–2. Default: 0. Linear scale. Units: unitless.
Repeats complete envelope cycles while Gate is held. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Restart from the current gain or reset to zero on a rising Gate. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Duration of the held part in repeating ADSR/AR cycles. Range: 0–10000 ms. Default: 100 ms. Linear scale. Units: ms.
ms
Granulator
Audio2ch
Audio2ch
Length of each grain's Hann window, fixed when the grain starts. Range: 10–1000 ms. Default: 90 ms. Logarithmic scale. Units: ms.
ms
New grains per second when Beats is 0. A grain that finds all 32 voices busy is skipped. Range: 0.5–200 Hz. Default: 16 Hz. Logarithmic scale. Units: Hz.
Hz
How far behind the live input each grain starts reading. The buffer is sized for the largest admitted value. Range: 0–2000 ms. Default: 120 ms. Linear scale. Units: ms.
ms
Random extra distance back for each grain. Range: 0–1000 ms. Default: 40 ms. Linear scale. Units: ms.
ms
Grain transposition in semitones. Range: -24–24 st. Default: 0 st. Linear scale. Units: st.
st
Random transposition of each grain up to this many semitones either way; the total stays within ±24. Range: 0–24 st. Default: 0 st. Linear scale. Units: st.
st
Probability that a grain plays backwards. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Random balance of each grain across the channels. Range: 0–1. Default: 0.5. Linear scale. Units: unitless.
Stops writing the live buffer so grains keep replaying what it holds. A frozen buffer reports an infinite tail. Range: 0–1. Default: 0. Linear scale. Units: unitless.
Beats between grains, phase-locked to the shared transport. 0 uses Density instead. Range: 0–16 beats. Default: 0.25 beats. Linear scale. Units: beats.
beats
Dry/wet blend. Range: 0–1. Default: 0.5. Linear scale. Units: unitless.
Audio output
Audio2ch
Note
Note
Patch: Oscillator audio output connected to Envelope audio input. Envelope audio output connected to Granulator audio input. Granulator audio output connected to Patch outputs audio input.Connections as text
Oscillator audio output connected to Envelope audio input
Envelope audio output connected to Granulator audio input
Granulator audio output connected to Patch outputs audio input
Beats above zero start a grain on every step of that many transport beats.
Freeze stops recording: the grains keep replaying what the buffer holds.
Frame preview (static). Controls show their default values.