Randomising grain parameters between bounded min and max values produces animated granular textures
Animating grain parameters (start position, duration, pitch, panning) through per-grain randomisation is the fundamental technique for creating living granular textures. The pattern is: generate a random number between 0 and (max − min) and add min. For example, random start in [100ms, 200ms]: random(100) + 100. Boundaries are critical: the upper bound for start position must never exceed (buffer_length − grain_duration) to prevent reading past the end of the buffer. The width of the random range controls the character — narrow ranges produce subtle shimmer; wide ranges produce chaotic, unpredictable clouds. Parameters can be randomised independently: stereo panning varies the spatial image; pitch randomised in octave ratios produces harmonic clouds; tiny pitch fluctuations (±0.001) produce detuned shimmer.
Examples
In Max/MSP: random 100 outputs 0–99; add 100 for range 100–199ms start position. random 128 into panning object gives random stereo position per grain. Quantise pitch random values to [0.5, 1, 2] for harmonic grain clouds.
Assessment
Design the parameter ranges for a granular patch that should produce a shimmering cloud over a specific 500ms section of a sample. Specify start range, duration range, and pitch range with musical justification.