Concrete Cumulus — a time lag accumulator and microloop composer

Drawing from a study of the Make Noise Mimeophon and Vongon Polyphrase (which, in turn, draw from conceptual devices developed by musique concrete pioneers), Concrete Cumulus — the cloud of accumulating material — employs seven delay lines of complementary length, tied together through a switching feedback mechanism, to create a delay/compositional tool, where past and present weave together into a collage of sound.

The delay ranges broken into seven zones, taken from the Mimeophon manual:

Zone 1: 20.4ms to 81.6ms
Zone 2: 81.6ms to 326.5ms
Zone 3: 163.3ms to 653.1ms
Zone 4: 326.5ms to 1.306s
Zone 5: 653.1ms to 2.612s
Zone 6: 1.306s to 5.225s
Zone 7: 2.612s to 41.796s

Each of these delay buffers is progressively, but complementarily, larger, such that moving back and forth between them allows for rhythmically coherent portions to be looped, either as smaller segments or as a series of smaller segments (and feedback) captured in a larger buffer. (This is all harder to explain than it is to experience.) These buffers are fed into a switch, which controls which buffer we hear as an output, and which buffer sends feedback to all the other buffers.

The product of capturing and bouncing audio between these different buffers, especially when feedback in the patch is engaged, is a sort of microloop collection, stored in the larger buffers (particularly the last one, which acts as a sort of master accumulator, gathering all of the interactions that occur between shorter buffers). Elements may loop within a larger framework, and pieces from different temporal positions may find themselves suddenly juxtaposed.

Each side — left and right — can operate in an independent zone with an independent time (time in every case is circumscribed by the zone it operates in and how much of that zone’s buffer it uses), which opens up a lot of possibilities for creating sounds that sometimes coalesce and diverge, with each side capable of functioning independently or in concert with the other (and mixes of the two, when the synchronization is deactivated, then activated once more). Because the two sides can operate independently, a great deal of phasing opportunities — both synchronous to shared divisions of a clock and more chaotic asynchronous approaches — are also available.

I’m trying to explain the process here, but there’s another process at work, for me:

Play around and have fun. Despite this technical information, the patch is really one that is more about “feel” and experimentation than — at least for me — some grand plan executed with surgical precision; there are just enough guardrails in place that you can play around with just pushing the zone buttons and seeing what happens. It’s usually pretty good.



Left — feeds audio from the left channel into the right, replacing the contents of the right channel while active

Middle — feeds audio from the right channel into the left, replacing the contents of the left channel while active

Both of these behaviors are reproduced in UI buttons adjacent to the feedback controls. When both buttons/stompswitches are pressed, silence is inserted into the buffers. These buttons can be useful for reasserting coherence after the two sides have diverged, or it can be used when the time components of both sides are still divergent, introducing a shared element to phase between the two sides.

The ZONES are accessed via a series of colorful UI buttons — left on top of right — which allow you to rapidly transition between zones, skipping from short buffers to longer ones with ease.

At the end of the ZONE buttons is a white button — SYNC ZONE — which determines whether the zone controls operate independently per side or in unison. When it is active, the top row — controlling the left side — controls both sides. (Changes made to the right side zone buttons still register and will become active immediately upon release of the sync button. This can be useful for quickly flipping to another zone, by releasing sync, and then returning to the shared zone, by resuming sync.)

There are also SYNC buttons for TIME and FEEDBACK that work in the same manner, following the left side controls when active.

TIME generally works as a delay time or buffer length parameter, depending on the feedback setting.

It should be noted: Concrete Cumulus uses non-interpolated delay lines. This has a few consequences: no pitch artifacts are produced when the time parameter changes. Changing the time parameter may produce a click introduced into the audio path and feedback loop, because the buffers rapidly resize and there are discontinuities between the two sections of audio. To minimize this, changes to the time controls are not made immediately — if you sweep the time control, without this sort of delayed action, you could produce a series of clicks, rather than just one — so instead the patch waits for changes to the delay time to stop occurring and then commits the new delay time.

The other effect of using non-interpolated delay lines is that rather than compressing and expanding the delay buffer (which is what causes the pitch artifacts in interpolated delay lines), the buffer just changes sizes. When making the buffer shorter (decreasing the time parameter), some of the audio in the buffer simply gets chopped off — anything beyond the play head. When making the buffer longer, it will often recapture audio that was beyond the play head previously (ZOIA’s delay lines, it turns out, record for the entire length of the buffer, regardless of how much of that buffer you are using). These effects are magnified in the largest zone, because in order to produce a delay line of up to 42 seconds, three 16-second delay lines are run in series, passing audio from one to the next. So changes to the delay time affects all three of these delay lines simultaneously, but the output is still serial, so those changes will show up in three different places within the buffer.

The relationship between TIME and ZONE can be a little confusing. Changing the zone doesn’t affect the length of the delay lines in the patch; instead it selects which one is heard (and fed back into the system) by switching between different delay line outputs. So it doesn’t change the time of the delays, but rather how long the delay is which appears at the output of the switch. Time, on the other hand, will resize all of the delay lines, changing their buffer length, and thus changing the size of the different zones.

FEEDBACK controls the amount of audio fed from the output back into the input. At ~.9000, the feedback should produce a relatively stable loop that should persist, if not indefinitely, then at least for quite a long time. Feedback settings below this will produce something more like a traditional delay, while feedback settings above .9000 begin to build gain; this is more noticeable in shorter buffers than longer ones, where the effect can take considerably more time to become apparent. This will make the patch louder over time and in any zone, but especially the shorter ones, can lead to oscillation.

The COLOR filters are combination low- and high-pass filters. At ~0 they should be fairly neutral. As you turn toward negative numbers, the signal — both output and feedback — will be low-passed, producing darker repeats the further you push it into negative numbers. As you turn toward positive values the signal — both output and feedback — will be high-passed, cutting away the low end and adding sparkle or airiness. Every filter affects gain — that’s what filters do that makes them filters, affect gain at specific frequencies — so part of the reason for the range of the feedback control is to allow you compensate for this loss in signal.

The color filters do not have a sync option. Modulating multi-filters spikes the CPU — when you load this patch, you may think it has a lot of CPU headroom, but that headroom is there to keep changes to the filters from causing the patch to clip. So, each color filter must be changed individually.

There are also rudimentary mixing controls — DRY LEVEL and WET LEVEL. Instead of using VCAs, which is my preferred method to mix signals, to keep as much CPU headroom as possible, the dry signal and wet signal exit through separate output modules. The level controls are connected to the gain controls for these output modules, and so their curve is slightly more top heavy than when using a VCA — much of the important action occurs at the far end of the travel, e.g. between .9 and 1.

Leave a Reply