This patch is an adaptation of the effects section of my generative patch, The Somnambulist. I fell in love with this patch, and a great deal of its magic has to do with how it employs pitched, reversed loops and a Soma Cosmos-style delay to create vast soundscapes from fairly minimalist inputs. So, I wanted to create a patch that would allow me to apply those effects — with some tweaks for CPU and some additional controls for variety — to other material.
You can check out that patch here: https://patchstorage.com/the-somnambulist-generative-patch-from-my-april-30th-livestream/
I liked it so much that I (plug incoming) included two recordings of it on my most recent album of generative music: https://christopherhmjacques.bandcamp.com/releases
The patch essentially has three major blocks:
There is an input block, which controls the levels of incoming audio, and the level of audio recorded into the loopers. These can be turned on and off individually, so audio can be recorded into the delay section without being looped or it can just be looped and pitched, or neither (if you want to play over the contents of a delay/loop without recording into it). The direct audio enters the delay lines in true stereo, but the looped audio is summed to mono first and sent to both delay lines.
There is a delay block. As I mentioned, this is based on the two-delay configuration of the Soma Cosmos, which involves parallel delay lines, configured in stereo, with the option to have those delay lines cross-feed into one another. The original uses fixed delay times and fixed offsets between the delay times, but I made those elements configurable in this patch, so you can experiment with different times and different ratios.
And finally, there is a plate reverb, which adds ambience and space to the product of the first two blocks.
The sum of all of these effects is well… an ambient soundscape-maker. It’s very easy to create drifting, evolving sounds from these components, with enough configurability to give them some unique identities (I hope).
Stompswitches (all stompswitch functions are reproduced in buttons on the front/control page, so this patch should be fairly easy to adapt to Zebu use) —
Left — turns the direct audio input off and on (reproduced with a UI button on the top row, which also indicates by dimming and brightening, whether this input is active or not)
Middle — turns the input into the loopers off and on (again, reproduced with a UI button on the top row)
Right — erases the delay line buffer (reproduced with a pushbutton on the bottom row)
As already mentioned in the stompswitch section, the top row controls the various input sections, and the buttons on this row can be used to turn inputs on and off.
“Direct level” sets the level of direct, non-looped, material that enters the delay lines.
“Looper level” sets the level of the audio entering the loopers (and subsequently, the delay lines). There is also a “LPF frequency” control for this section; the LPF, located post-looper, can be used to tame some of the more abrasive artifacts created when pitching looped audio up.
There are four loops used in the patch. All reversed. There is a “Tap tempo” input you can see in this section (flashing light); you can either tap a new tempo, using the flashing UI button, or the patch will accept MIDI clock (which will override tap tempo). Even though there is a tap tempo element, none of the loops are directly governed by it; it is probably better to think of it as a general rate control than a strict tempo the loops adhere two.
The first two loops are set up in an alternating write/read alternating configuration. But the timing of the switching between reading and writing is slightly randomized each cycle. You can set the pitch of each side of the configuration with the “Pitch 1” and “Pitch 2” controls (by default, they are set to the same pitches as the original Somnambulist loopers).
The second two loops are probabilistic regarding when they write and playback. The likelihood of the loops to record is set by the “Density” control. If you want to eliminate these loops entirely, you can set the “Density” to 0. The third loop’s pitch can be set with “Pitch 3.” For the fourth loop, I decided to use the same methodology I employed in the Somnambulist — this looper randomly selects between playing back at -1 octave, at -1 fifth, and at the same pitch as the incoming audio.
“Temporality” defines the overall time of the delay lines, from 0 to 16 seconds. “Atemporality” determines the proportion of the second delay line’s length to the first (the SOMA Cosmos uses an offset of ~94%, judging by what I’ve heard, but since you can set this independently, you can come up with a lot of different configurations).
The “Time Slew” determines how quickly these controls change — greater slew will cause slower pitch changes, since the delay lines are interpolated. Lower slew amounts will cause faster, more dramatic pitch changes. I mostly included this control because it’s a fun way of playing with the delay lines when you’re ready to “tear down” a soundscape.
“Blur” determines the amount that the delay lines are cross-fed. At 0, they are not fed into one another. At .5, the feedback path is equal, with 50% of the regeneration coming from the other delay line. At 1, the feedback ping-pongs between the two delay lines, which can produce some interesting L-C-R delays.
“Draft” controls randomized panning for each delay line.
“Smear” is a slow, subtle modulation effect that helps compensate for the build-up of certain frequencies when the delay lines are cross-feeding. It is modeled after some of the randomized modulation applied to delay lines in reverb design to account for the same certain (but generally with much shorter delay times).
Along the bottom row are controls to govern the feedback path. The “Erase” button (mirrored in the right stompswitch) can be used to erase the delay line buffer. You can set the “Erase Slew,” which determines how quickly the button/stompswitch take effect (for either abrupt erasures or more smooth ones) as well as the “Erase Depth,” which allows you to erase the contents of the buffers entirely (at 1) or simply cause them to become quieter (at less than 1).
The “Suppress” control applies an inverted envelope follower to the feedback path, so that incoming material suppresses the current feedback, which can be useful for layering sounds.
Finally, on the right-most column are controls for the plate reverb: “Reverb decay” and “Reverb mix.” There are also controls for “Dry level” and “Wet level.” (The Wet level control is set pre-reverb.)