The Grains node is a real-time granular effect for shimmering particle clouds, glitchy percussive grooves, and rhythmic soundscapes.

Screenshot 2024-04-11 at 1.33.30 PM.png

How It Works

The grain engine is made up of three sections: the grain scheduler, the grain emitter, and the grain delay.

Grain Scheduler

As audio is fed into the grain engine, grains are scheduled according to the grain rate at the playhead. By default, forward grains start at the playhead and track along with new audio input. If the ‘Spray’ knob is turned up, grains are delayed a random amount of milliseconds behind the playhead. If a grain is pitched up, it is delayed so that it will never read past the audio playhead. This means that the grain engine never causes pops and clicks by reading over the playhead. When the ‘Reverse’ knob is turned up, grains are randomly scheduled in reverse according to the reverse percentage. Reverse grains start at the playhead and move backwards in time.

Grain Emitter

Once a grain is scheduled, it becomes active for ‘Size’ milliseconds. If the ‘Size’ knob is linked to the ‘Rate’ knob, the ‘Size’ knobs controls the number of active grains at a time. For example, a ‘Size’ of 2:1 means that emitted grains will be twice the size of the grain scheduling period. Active grains play through audio according to their scheduled speed, which is determined by a combination of the ‘Pitch’, ‘Arp’, and ‘Detune’, parameters. Then, they are multiplied by their scheduled ‘Shape’ curve and randomly panned according to the ‘Width’ parameter. When ‘Width’ is 0%, the grain engine does not change the stereo image of incoming audio. When ‘Width’ is 100%, grains are randomly panned uniformly in the stereo field. When ‘Width’ is 200%, grains are randomly hard-panned.

Grain Delay

The grain delay ‘Feedback’ knob controls how much the delayed output of the grain node is added back into the input of the grain node. With ‘Feedback’ at 0%, the grain delay has no effect.


Parameters