Skip to content

TEXTURE Tab

The TEXTURE tab shapes the character of each grain once the GRAIN tab has decided how big, how dense, and from where in the buffer it reads. Everything here is per-layer โ€” Layer 1 and Layer 2 each have their own independent TEXTURE settings. The tab is organised into five columns: Shape, Pitch, Dynamics, Reverse, and Scan.

Shape โ€” Grain Window

Every grain has an amplitude envelope ("window") applied on playback. The window determines whether grains sound smooth and pad-like, punchy and percussive, or plucked and decaying. A live preview above the knobs shows the current shape; tweaking Tilt, Curve, or Sides updates it in real time.

Control Range Description
Window Shape Hanning / Gaussian / Trapezoid / Triangle / Tukey / Pluck / PluckSoft / ExpDecay Base envelope shape applied to every grain.
Tilt 0 โ€“ 1 Shifts the envelope peak earlier or later within the grain. 0.5 is symmetric.
Curve 0 โ€“ 1 Bends the attack and release slopes between linear and exponential.
Sides 0 โ€“ 1 Softens or sharpens the edges of the window (trapezoid / Tukey plateau width).
Decay 1 โ€“ 10 Exponent for the Pluck / PluckSoft / ExpDecay shapes. Higher = faster fall-off.

Hanning and Gaussian give the smoothest, most classical granular sound. Trapezoid and Triangle produce punchier, more rhythmic grains. Pluck, PluckSoft, and ExpDecay give each grain a struck-string envelope that is great for pitched percussion and pointillist textures.

Morph

A MORPH toggle lets the window crossfade between two shapes over time. When enabled, a second dropdown (Window B) and two extra knobs appear.

Control Range Description
Window B same 8 shapes as Window Shape Target window for the morph.
Morph 0 โ€“ 1 Static crossfade position between Window A and Window B.
Rate 0 โ€“ 20 Hz Automatic morph LFO speed. 0 = static (use the Morph knob manually), higher values cycle between A and B.

Pitch Variation

Pitch Variation re-tunes individual grains at spawn time to add harmonic richness, arpeggios, or scale-snapped generative melodies. It stacks on top of the base Pitch knob on the GRAIN tab. Only grains that "win" the Probability dice roll are re-pitched.

Control Range Description
Prob 0 โ€“ 100 % Chance that a new grain is re-pitched. 0 % = always use base pitch, 100 % = every grain.
Mode Octaves / Oct+5ths / Scale Octaves picks random octave transpositions; Oct+5ths adds perfect fifths; Scale snaps grains to a musical scale.
Direction Both / Up / Down Constrains variation to move only upward, only downward, or in either direction from the base pitch.
Range 1 Oct / 2 Oct / 3 Oct Maximum transposition distance.

In Scale mode an additional scale preset (0โ€“11) selects the quantisation scale โ€” this lives inside the pitch-variation engine rather than as a knob on the main tab. [TODO: verify scale preset names; the code stores the index as VarScale (0โ€“11) but the name list is not defined in GrainulatorV2.cpp.]

Note: Glide (pitch smoothing between notes) was previously shown here but is now on the SYNTH tab's MIDI panel.

Dynamics

Dynamics randomises each grain's amplitude at spawn, adding natural breathiness or aggressive volume jitter depending on the Range setting. The base grain level itself lives on the GRAIN tab (Level); this section only adds variation on top of it.

Control Range Description
Prob 0 โ€“ 100 % Chance that a grain's amplitude is randomised.
Range 0 โ€“ 1 Maximum amplitude deviation. 0 = no change, 1 = grains can be fully attenuated.

Reverse

Control Range Description
Reverse 0 โ€“ 100 % Probability that a grain plays backward. 50 % gives an even mix of forward and reversed grains; 100 % reverses every grain.

Because only the grain's playback direction flips โ€” not the source buffer โ€” Reverse works with any position, speed, or loop setting and can be modulated for rhythmic forward/backward effects.

Scan

Scan applies a slow position LFO to the grain spawn point, sweeping through the buffer over time. Combine with a static Position knob on the GRAIN tab to drift around a focal point, or with Speed 0 to replace static freezing with gentle motion.

Control Range Description
Rate 0 โ€“ 5 Hz Speed of the scan LFO. 0 disables scanning.
Depth 0 โ€“ 0.5 Amount of buffer traversed by the LFO, as a fraction of the whole file. 0.5 covers half the buffer peak-to-peak.

See also