GRN4 gives every grain its own low-pass filter and drive stage, with the filter coefficients fixed when each grain is created. Instead of sending the finished grain cloud through one shared resonant filter, the engine can give separate grains their own spectral character before those grains overlap.
The difference becomes easier to hear once density rises. One grain may arrive darker, another brighter, while resonance belongs to each grain rather than ringing across the entire combined output. A dense texture can keep its movement without depending on a sweeping master filter.
FRCTL also added independent PRE and POST filters around the granular engine, so GRN4’s new per-grain effects architecture now contains three distinct filtering ideas. They can look similar on a feature list, but they work at different points in the signal path and solve different sound-design problems.
Resonance behaves differently under the same arrangement. A resonant peak is attached to the individual grain’s filtering, so several overlapping grains can carry separate resonant responses at once. Their envelopes, pitches, start times, and filter states combine after the fact.
A 2025 Victoria University of Wellington thesis describes per-grain resonant filtering in granular synthesis as a way to give individual grain voices discrete frequency, gain, and resonance control. GRN4 takes a more compact approach, but the useful principle is related. Spectral variation happens at the level of the grain instead of waiting until every grain has already been summed together.
Drive follows the same per-grain idea in GRN4. Distortion applied inside each grain voice reacts before the cloud becomes one combined signal, which is a different job from saturating a finished bus. On sparse settings, you can hear those differences more plainly, while high density lets the altered grains blur into a broader texture.
A small amount of cutoff jitter can stop repeated source material from sounding mechanically identical. Freeze a stable buffer, keep pitch variation restrained, then introduce modest CUT movement, and each new grain can expose a slightly different amount of upper-frequency content. The source stays recognizable while the cloud becomes less spectrally uniform.
Larger settings can separate neighboring grains much more aggressively. Bright grains can sit beside heavily darkened ones, and resonance can emphasize those differences further. Density decides how much of this contrast you hear as separate events versus a blended surface.
Cutoff jitter is also a modulation target, so its amount does not need to remain static. An envelope or LFO can push the texture from controlled consistency into wider grain-to-grain variation, then pull it back again. You are modulating how different the grains may become, not merely moving one shared cutoff frequency.
The POST filter works after the grains have been combined. It can trim the final cloud, rein in resonant brightness, or remove low-frequency buildup without changing how individual grains were generated. GRN4 gives both PRE and POST sections independent high-pass and low-pass controls, resonance, switching, and slopes reaching 48 dB per octave.
Per-grain filtering sits between those two jobs conceptually. PRE decides what enters the grain engine, individual grain filters decide how separate events are colored, and POST shapes the accumulated result. Treating all three as interchangeable throws away most of the reason the new architecture is interesting.
A practical setup is to leave PRE fairly open while learning the per-grain controls, then use POST only for cleanup. Raise resonance enough to hear its effect, add CUT jitter gradually, and lower density if the cloud becomes too smeared to judge. Once the individual color changes are obvious, higher densities make it easier to turn those separate resonant grains into a moving, less uniform mass.
The difference becomes easier to hear once density rises. One grain may arrive darker, another brighter, while resonance belongs to each grain rather than ringing across the entire combined output. A dense texture can keep its movement without depending on a sweeping master filter.
FRCTL also added independent PRE and POST filters around the granular engine, so GRN4’s new per-grain effects architecture now contains three distinct filtering ideas. They can look similar on a feature list, but they work at different points in the signal path and solve different sound-design problems.
Each grain keeps its own filter state
GRN4 locks the per-grain filter coefficients when a grain spawns. If the cutoff value differs when the next grain appears, the new grain receives a different filter setting rather than forcing the earlier grain to follow it. Movement can therefore come from differences between overlapping grains, not only from a continuous sweep imposed on the whole texture.Resonance behaves differently under the same arrangement. A resonant peak is attached to the individual grain’s filtering, so several overlapping grains can carry separate resonant responses at once. Their envelopes, pitches, start times, and filter states combine after the fact.
A 2025 Victoria University of Wellington thesis describes per-grain resonant filtering in granular synthesis as a way to give individual grain voices discrete frequency, gain, and resonance control. GRN4 takes a more compact approach, but the useful principle is related. Spectral variation happens at the level of the grain instead of waiting until every grain has already been summed together.
Drive follows the same per-grain idea in GRN4. Distortion applied inside each grain voice reacts before the cloud becomes one combined signal, which is a different job from saturating a finished bus. On sparse settings, you can hear those differences more plainly, while high density lets the altered grains blur into a broader texture.
Cutoff jitter spreads color across the cloud
The RANDOM section includes CUT jitter for varying filter cutoff from grain to grain, with a range reaching up to two octaves. Because the filter state is fixed at spawn, this variation produces a succession of differently filtered grains rather than a conventional moving cutoff inside every active grain. The distinction is useful when you want animation without an obvious filter sweep.A small amount of cutoff jitter can stop repeated source material from sounding mechanically identical. Freeze a stable buffer, keep pitch variation restrained, then introduce modest CUT movement, and each new grain can expose a slightly different amount of upper-frequency content. The source stays recognizable while the cloud becomes less spectrally uniform.
Larger settings can separate neighboring grains much more aggressively. Bright grains can sit beside heavily darkened ones, and resonance can emphasize those differences further. Density decides how much of this contrast you hear as separate events versus a blended surface.
Cutoff jitter is also a modulation target, so its amount does not need to remain static. An envelope or LFO can push the texture from controlled consistency into wider grain-to-grain variation, then pull it back again. You are modulating how different the grains may become, not merely moving one shared cutoff frequency.
Pre and post filters solve different problems
The PRE filter acts before the grain engine, which means it changes the material the granulator receives. Remove low end there, and the grains are generated from a leaner source. Cut highs there, and no later per-grain variation can restore spectral material that was already removed before granulation.The POST filter works after the grains have been combined. It can trim the final cloud, rein in resonant brightness, or remove low-frequency buildup without changing how individual grains were generated. GRN4 gives both PRE and POST sections independent high-pass and low-pass controls, resonance, switching, and slopes reaching 48 dB per octave.
Per-grain filtering sits between those two jobs conceptually. PRE decides what enters the grain engine, individual grain filters decide how separate events are colored, and POST shapes the accumulated result. Treating all three as interchangeable throws away most of the reason the new architecture is interesting.
A practical setup is to leave PRE fairly open while learning the per-grain controls, then use POST only for cleanup. Raise resonance enough to hear its effect, add CUT jitter gradually, and lower density if the cloud becomes too smeared to judge. Once the individual color changes are obvious, higher densities make it easier to turn those separate resonant grains into a moving, less uniform mass.