Fog V2 — a granular, textural synthesizer

Inspired by but only poorly approaching the Mutable Instruments Clouds module.

I’m still working out some of the functionality and figuring out where compromises are to be made.

Basically, it uses six overlapping loopers to capture parts of the audio it hears. Unfrozen it can cut up that audio in some interesting ways, but once it’s frozen, you can really use anything to create soundscapes.

Left stompswitch: freezes the buffer

Middle stompswitch: cycles through some options for controlling the position, cv value module on the front panel / sine wave LFO / freezing the sine’s position / random LFO / freezing the random LFO’s position

Front page controls:
(Audio input)………………………………..(Audio output)

Pitch control[1] ……..Wet/dry mix……Random pan spread

…………………………….Reverb mix[3]……..Random pan rate

Buffer size[2]…………..Position[4]…………..Grain size[5]

(Forgive the dots, but they help maintain the spacing.)

[1] Passes from two octaves above to two below. Unquantized.
[2] Controls the rate of the LFOs timing the loopers. Since the looper is only 1 second long, making its rate longer than this is not that useful. At ~1 sec audio passes through (relatively) unaffected, with some slight delays and phasing. As this decreases, the audio is more and more truncated and choppy.
[3] Higher reverb mixes lead to more ambient textures and smooth out the choppiness, in part because of the diffusers which precede the reverb.
[4] Positions the start of the buffer. Cycling through while frozen will reveal different parts of the buffer. Very interactive with the grain size control.
[5] As this approaches zero, it begins to function much like an oscillator, depending on what audio it hears.

Sounds clip (Minilogue xD, running a stock patch/sequence):
0:00-0:45–Increasing wet/dry mix. Changing buffer size.
0:45-1:35–Increasing reverb mix. At some point in here, I freeze the buffer.
1:35-2:30–Playing with position and grain length, removing dry signal.
2:30-3:55–Increased reverb mix. Adjusting pitch. Changing position.
3:55-4:15–Reintroducing dry signal.
4:15-4:45–Unfreezing buffer. Adjusting grain size and buffer size.

Places where I’m still exploring:

–I would like to improve footswitch functionality. Right now, it’s not very hands-free. But there are only so many footswitches.

–Were CPU not an issue, I would put some low-pass filters before the diffusers, or possibly the panners. I have no idea how to approximate Clouds’ envelopes (that many onset detectors would tank the CPU and I’m not sure the envelopes would be fast enough for some of the smaller grains anyhow), but the grains can be quite ‘sharp,’ and low-pass filters could help tame some of this.
The most likely candidate for finding this CPU would be the start position footswitching (I don’t think it adds a great deal), and possibly reducing the number of loopers from six to four.

–Controlling the diffusers’ feedback loop. Although there aren’t a lot of ‘sweet’ spots, an option between none and some would help.

–Working on some logic for the mixes so that the diffusers could be isolated from the reverb unit. This would add a greater range of sound options. Since this would involve adding yet another stereo audio balance, it would also require cuts elsewhere.

Right now, it runs at ~90-92% CPU usage, so I have a _little_ room to play, but not much. Footswitches could probably be improved without sacrificing elsewhere, but anything beyond that means compromises.

If you have any feedback or suggestions, leave a comment, send me a PM, or hit me up on the Facebook group. I’m open to ideas about other ways to improve the functionality or sound of the patch.

  • Platform:
  • Category: Effect Synthesizer
  • Revision: V2--See comment
  • License: CC BY-SA
  • Views: 1,849
  • Modified: 7 months ago
Chat about this patch on Discord! Download (914)
Appreciate 14
2 comments on “Fog V2 — a granular, textural synthesizer
  • Heleste on said:

    This one is so good! Thank you! Can play hours with it. Didn’t wrap my head around it yet and even messed with controls only a bit, but still enjoy it very much!

  • Christopher H. M. Jacques on said:

    Fog V2

    For a control walk-through, some sound examples, and finally a patch breakdown, check out:

    What has changed:

    — Front page modules are now named and starred. The front page has also been redesigned, with some added controls; more below.

    — Buffer size has been increased to 2s. When the buffer is frozen, an indicator light switches from red (recording) to white (frozen).

    — The “grains” or loops used in the patch can now be affected separately for pitch. There is an “alternate pitch” option, which will affect half of the loops, while the other half will continue to be controlled by the normal pitch control. To select this, press the button between the two pitch controls; when it is yellow, the pitch for all loops will be controlled by the “pitch” module (also yellow), when it is white, half of the loops will be controlled by the “alternate pitch” module (also white).

    — The grains can be reversed, with three options: forward, all loops reversed, half of loops reversed (corresponding to the loops controlled by alternate pitch).

    — The stompswitches have been redesigned for better functionality:

    * Left, latching: freezes the buffer (unchanged)

    * Middle, latching: long presses (2s): cycles through three options to determine the start position of each loop; an indicator light changes color according to option. Blue = controlled by the “start position” control (also blue); red = controlled by a random module, rate is determined by the “rand. st. rate” control (also red); aqua = controlled by a random module, with each short press (>2s) of the stompswitch triggering a new value

    * Right, latching: cycles through the reverse options listed above, with an indicator light changing color accordingly. Blue = all forward, yellow = all reverse, white = half grains reversed (corresponding to grains controlled by alternate pitch).

    — The “reverb mix” has been redesigned and renamed “atmosphere mix”: The patch always utilized diffusers, but they were masked by the reverb. Now, the first half of the control travel (0 to .5) affects the diffusers; as it increases, the patch becomes more “airy” and picks up some short delay taps. As the control passes .5, reverb mix is raised from 0 to 100%. This allows for a lot more flexibility in how the patch sounds with the buffer frozen and when it is recording.

    Overall, I think these changes make the patch much more viable for desktop use with a frozen buffer and pedal-board use with an unfrozen buffer. When frozen, the controls still allow one to manufacture dense soundscapes of overlapping loops, but the option to change the pitch of some of the loops allows for considerably more complexity. When unfrozen, these controls allow for the creation of shifting, stutter-y glitches, interesting ambient/reverb sounds, and odd tremolo/phase/formant sounds (when the buffer and/or length is very short).

    If you push the buffer size too low, ~ below 100 ms, and start affecting the loops a lot, I have found that the patch can crash.

    A special thanks to my patrons on Patreon for their support: Rob Flax, Stepan Grammatik, brockstar, Mats Unnerholm, D Sing, Will Scott, drew batchelor, Miguel, Steve Bragg, Joab Eastley, Tomi Kokki, Mitch Lantz, Ben Norland, Daniel Morris, Roman Jakobej, Mark Crosbie, Steve Codling, and Timothy Cleary!

    If you would like to support my work on ZOIA, please visit

  • Leave a Reply