Ersatz Grainz — granular (delay) without granular (modules)
So, Ersatz Grainz is sort of a granular delay… without granular. I wanted to experiment with creating a granular effect without the use of the granular module or the looper, so the patch employs non-interpolated delay lines, with their outputs controlled by VCAs modulated by looping envelopes.
This wasn’t just an exercise, though: the granular module is great for a lot of granular effects, but it doesn’t provide a lot of control over the individual grains, which places a limitation on how much of a “granular cloud” effect you can create, where the grains swirl around a stereo space. Because, in order to produce a looping envelope, you necessarily produce an end of cycle trigger, that allows me to introduce some (hopefully beneficial) randomization to each “grain,” including to its amplitude and pan position.
Because the delay lines are non-interpolated, between each envelope their times can be recalculated without introducing pitch artifacts, which allows the delay lines to read from different points in their buffer — this can produce some interesting effects that, to me, sort of harken back to some of the original granular concepts, which revolved around splicing tape to place events out of their original order.
Of course, because the patch employs delay lines, there’s no pitch effects (I tried employing a pitchshifter early in the process and didn’t care for the results). But I think the other opportunities made available via the patch hopefully compensate: it’s not a “better” granular effect, but it is different.
The patch outputs a stereo effect, but it sums to mono before doing so. The dry signal is passed to the output in stereo.
So, there are essentially two major categories of controls: delay line controls, and envelope controls. You can think of the delay line controls as governing the buffer size and position, while the envelope controls are sort of like the grain size controls, or maybe more accurately the “windowing” controls. How each functions depends on the setting of the other, in a lot of ways: if the delay line buffer is shorter in time than the envelope, then audio captured in it may recycle before the window “closes.” If the envelope is shorter, then the audio will be captured from different points in the buffer. There’s no fixed “grain size” control, per se, as the interactions between the two parts affect each other.
MINIMUM TIME is sort of a cross between the minimum buffer size and a pre-delay. It sets the minimal time of the delay line, from 0ms to 4seconds, and so anything played into the effect will be delayed at least that much. At very short times (~0 – >.02 on the minimum time control), you can produce some weird reverb/comb filtering effects, and at slightly longer but still quite short times (~.02-.05), you get stuttering effects.
CLKD MIN TIME (clocked minimum time) is a pushbutton that, when on, allows you to set the minimum time via the left stompswitch or MIDI clock.
TIME VARIATION sets the range that the delay line can randomly vary by. The more variation, the more the output will draw from different points in the buffer, allowing for mixtures between recent and more distant events. (A 4 second buffer was selected because it allowed for accessing some of the interesting shorter delay effects; an 8 or 16 second buffer, if you wanted to experiment and change the maximum delay time of the delay lines, could produce some really non-linear effects.)
TIME SPREAD this spreads out the minimum time between the six delay buffers. At 1, each buffer is a multiple of the minimum time. Since the buffers are all, however, limited to 4 seconds, when the minimum time is above ~.14 (~650 milliseconds), the times will sort of max out and get stuck at 4 seconds. Additionally, the variation won’t affect any buffers that reach 4 seconds in length.
FEEDBACK controls the feedback of the overall effect. Each “granular” processor feedback both into itself and into the subsequent processor, which produces a richer feedback sound that becomes more diffuse as it cycles through the different processor buffers. The feedback is taken pre-output VCA, but the feedback VCA is still shaped by the envelope. Engaging the “Hold time” parameter (more on this in the envelope section) automatically adjusts the feedback to keep runaway oscillation from occurring — this may affect the longevity of the feedback decay.
MINIMUM ENVELOPE sets the minimum length of the looping envelope which controls the output VCA. The envelope is designed to be relatively short, from ~1 ms to 1.5 seconds, although this can be extended with the hold time and the envelope variation parameters. At very short envelopes, ring modulation/aliasing effects are introduced. The envelope also triggers changes in the delay time, so longer envelopes are more likely to introduce repetitions in the delay buffers and stutters/microloops.
CLKD MIN ENV (clocked minimum envelope) is a pushbutton that, when on, allows you to set the minimum envelope via the left stompswitch or MIDI clock.
ENVELOPE VARIATION adds a randomized increase in the envelope time, up to an additional 1.5 seconds. This is recalculated each time the envelope cycles.
AMPLITUDE VARIATION randomizes the amplitude of the envelopes, creating changes in their volume. At 0, all the envelopes are at full intensity; as the variation increases, the degree of variation changes (which affects the overall volume of the patch, please keep in mind).
SHAPE controls the shape of the envelope. At 0, the shape is a decay envelope (sawtooth); at 1, it’s an attack envelope (ramp). At .5, it’s a triangle. The decay envelope introduces some interesting percussive elements, while the attack envelope can produce some pseudo-reverse sounds. The smoothest sound comes from a triangle.
HOLD TIME introduces a hold stage to the envelope, up to 3 seconds. This time is not affected by the variation and is consistent from envelope cycle to envelope cycle. It is also not affected by the clocked option.
LINEAR is a pushbutton that, when on, changes the shape of the envelope from exponential to linear. This will also affect the overall volume of the patch (as more audio passes through the linear envelope). (This does not affect the hold stage.)
PAN SPREAD controls the width of random panning applied to the “grains.”
DENSITY controls the likelihood of the envelopes affecting the output VCAs. There are up to six simultaneous grains possible, but changing the density affects the likelihood of any given grain being heard.
DRY LEVEL controls the volume of the dry, stereo signal path. There is no wet level control; instead, there is an INPUT GAIN control, which allows you to set the gain of the signal sent into the patch.