Stochastic Waves

I’ve used all kinds of slow modulation sources in my patches. Wave simulators, chaos, and slow, free-running LFOs are all staples in my modular practice, and I’ve used all of them as the engine that drives an entire patch. But one thing I’ve never tried in a lead role in a patch is good, old fashioned random modulation. Sure, I’ve used sample and hold or smooth random generators like the Frap Tools Sapél, Mutable Instruments Marbles, or Make Noise Wogglebug for specific tasks within a patch, but outside of Marbles > Rings-type patches, I’ve never based a patch on staochastic movement before.

Random is, well, random, and it’s hard to be intentional when you can’t really expect what’s going to happen next. In some circumstances, that unpredictability is perfect. In other cases, it just makes a really big mess. There are certainly ways to corral in a random signal to fit within particular parameters to allow for more predictability. That’s the basis of stochastics. Sapél has a range probability knob which directs it to choose output values predominantly from a particular range. Marbles has a switch for voltage ranges. Wogglebug similarly has a mechanism for more or less drastic changes. You can even hone random voltage in on your own with a little offset and attenuation. But it’s still random, and even if completely random might work for certain facets of a patch, using it as the main driver becomes difficult while still remaining musical.1 But I was determined to make it work, and I had just the module to help.

The Addac506 Stochastic Function Generator is a powerhouse modulation source made up of four function generators, and most of the bells a whistles one could want. Need cycling envelopes? Check. Slew limiter? Check. One shot envelopes? Check. Audio rate to very slow? Check. EOR and EOC trigger outputs. Check. Offset and attenuation to get your generated functions in the exact range you need it? Check? Some comparator action for related modulation? Check? And this checklist of features goes on and on. But the killer app of the Stochastic Function Generator is its ability to set a very precise range for both Rise and Fall times. This ability allows for some very compelling modulation that changes every cycle, but, particularly when using very slow modulation, does so organically in a way that seems transparent. It can be set to no random generation (standard envelopes), a very wide range with wildly changing Rise and Fall times, or a very narrow range where changes are subtle, and each of these can be done in three modes, slow, medium, or fast (per generator). The Addac506 is a very powerful module with a compelling feature set that can drive entire patches.

I had set out to make another E370 patch using slow modulation to fade the four wavetable oscillators in and out to create a cloud of a chord that is constantly shifting, yet still always the same. I’d been using slow moving bipolar signals for this purpose on several patches of late, but I wanted to try something a little different this time around. I’ve used chaotic systems, and I’d used both free running and synced LFOs, but I’d had problems using cycling unipolar functions in the past because no voice is ever truly out for very long. It’s a constant chord where each note changes volume, but is almost always audible. Mystery, drama, and tension are minimized; each note like a yo-yo rather than a graceful flow in and out and back in again. But the Addac506 is a little different. Unlike most function generators, with the Stochastic Function Generator you can tailor the outputs to any range you want. Those functions needn’t be unipolar, nor with wide ranging levels, and the ability to offset and attenuate signals allows one to shape your function to suit your destination without issue, and it’s this ability to perfectly condition CV before ever leaving the module that enabled me to use it in this slow fading movement I was looking for.

Setting the stochastic functions on the Addac506 is simple: set minimum and maximum Rise and Fall times, and call it a day. At the instantiation of every cycle both Rise and Fall will receive a random value between those set minimum and maximum times, and that stochastically determined envelope will come out. Flick the cycling switch and every cycle is something different. And the Addac506 gives us that, times four. It should be noted that this behavior can be replicated in any function generator that has both End Of Rise and End Of Cycle gate/trigger outputs, plus CV inputs to control the rise and fall times independently. You’ll need to add in a sample and hold or random voltage generator, plus a module for offset and attenuation to define the range of random. All this times four is a lot of patching, and a lot of modules. The Addac506 does it all seamlessly under the panel.

At first I was a little confused. Although I hadn’t initially set any offset, the output was still silent until the voltage as somewhere between 1-2 volts.2 I had anticipated needing to use negative offset to create some space between the fading out of one wave and when it will become audible again, but instead found myself using positive offset to get the flow I was after. Fortunately the flexibility of the Addac506 allowed for quick and easy adjustments to put each wave in the right zone. I added a fair amount of positive offset to the bass note of the chord so that it was always audible, while still having level changes to keep it moving. The other three oscillators used a very slight positive offset. Combining their need to get to somewhere between one and two volts before becoming audible, with the very slow nature of these ever-evolving functions determined the use of positive offset. Up to 40% of their positive range was already inaudible. Giving the functions a bit of a voltage floor rise was in order, lest far too much silence ensue.

Having already decided on my four oscillators for this chord soup, the quad wavetable oscillators of the Synthesis Technology E370, and having had the level control roughly framed out, it was time to look at modulating the wavetables to create movement within each note. The pitch of each oscillator would remain static, and to accompany the change in level, a change in timbre is natural (especially with a morphing wavetable oscillator). Having already used up the outputs of the Addac506, I looked to a familiar module, and one right next to the Stochastic Function Generator, the Addac508 Swell Physics.

Although Swell Physics is definitionally a chaos-based system, and not a random one, the uneven flow up and down of each output was perfect for the job. The bass note oscillator received modulation only on its Detune CV input, while the other three oscillators received both Wave and Detune modulation, the former from Swell Physics and the latter three free running sine wave LFOs from Batumi II. The triangle wave LFOs from Batumi II were used to pan these same three signals slowly through the stereo field with the ST Modular Sum Mix & Pan, while the bass note was planted firmly in the center. Once mixed down to stereo, the four oscillator cloud went to the AI Synthesis 018 Stereo Matrix Mixer.

Once in the matrix mixer it was time to smooth out some of the rough edges with the Holocene Electronics Non-Linear Memory Machine, a favorite of mine since it went in the rack. As a non-clockable delay I found it a wonderful tool for long, drawn out ambient delays, especially with how it can smear repeats into an almost reverb-like sound. Although I tend to pretty heavily modulate the NLMM, I chose to go with no modulation in this patch, with smearing at about 12 o’clock on the knob, and feedback at around 11 o’clock. The NLMM was mixed with the dry signal in the matrix mixer at about a 50:50 ratio, and perhaps even favoring a bit more delay than dry signal.

This mixed signal was sent to both the output mixer and The Dradds for some broken tape machine treatment. Both sides, left and right, or light and dark as it exists in my case, were set to Tape mode at an octave up, with each side behaving slightly differently. The left side tends to randomly switch between forward and backwards playback at double-speed, while the right side randomly switches both direction and speed, although both sides were lightly modulated and sometimes change temporarily. Although I’ve always been enamored by the Dradd(s), it wasn’t until I really started to learn it have my results been what I was always hoping for. Since I sat down to really understand the Dradd(s), my patching has had an opportunity to be more intentional, with my results more satisfying and effective. Plus, having dual Dradds for a stereo field really maximizes the movement and variation it creates.

The Dradds, good and evil.

A heaping portion of distortion, courtesy of the Bizarre Jezabel Mimosa, was also used towards the end of the patch, which created occasional blips and stutters, and a sense of heavy drama. It was only used on the chord cloud and the Dradds, and even then I chose to keep a fair bit of the original dry signal in the mix. I really like the resulting sound, but something is happening that I don’t quite understand. As distortion was introduced into the mix, I did not lower the dry signal. I would have expected the volume would rise, yet it didn’t. The volume got lower, even once the dry and wet distortion signals were nearing full volume in the matrix mixer. It wasn’t until I started to lower the dry signal (the chord, its delayed signal from the NLMM, and the Dradds) that the overall volume started to become louder. My guess is there is some form of phase cancellation happening, although I don’t really know what phenomenon might explain it. You can hear it starting at about the 10 minute mark, with me starting to lower the dry level at about the 11:22 mark, which corresponded in a total output level rise. Curious, that.

Although I was quite happy with my shifting chord after a whole lot of tinkering with envelopes and CV input attenuators, I knew something was missing. I had blips of granular synthesis to break things up, but it needed more. I was hesitant to use SD Multisample as I’ve done a lot of that, but wanted something in a similar vein. Reaching back to one of my very first patches, an attempt at creating a wind chime-like sound and pattern, I decided to add in a randomly created, toy piano sound (or baby R2-D2 sounds as my oldest relayed ). I really enjoyed making that patch when I did it the first time around. It was the first patching technique I’d ever figured out on my own, and a sense of nostalgia pushed me over the edge, even if only to see if I could remember how to replicate it.

This part of the patch started at the Stochastic Function Generator’s “Average” output. This output was patched to the input of the Joranalogue Compare 2. When the Average out from the Addac506 was inside the comparator window, it spat out a gate to the cycling input on a Frap Tools Falistri. While the function was cycling, the End Of Cycle gate triggered Sapel and Quantermain. Sapel sent a value from the N2 output to both Quantermain, in order to send quantized pitch CV, and the Decay CV input of Falistri that would change the envelope length with each note. The VCO changed pitch, and the cycling envelope opened the VCA, each note with a different pitch and length. The sound went from the first VCA to the output mixer, as well as a second VCA which panned the signal to two separate delays, which were then mixed and sent to the output mixer to be mixed with the dry signal and the rest of the patch.

Although the method I ultimately used in this patch is very different than the first time around, the results are similar. The sounds are much higher in pitch, much faster, and much shorter than my original version, but the theory behind creating the sounds was the same, even if I took a different route to get there.3 I wanted short, uneven bursts, and I got them. It’s quite often these days that I realize there are many routes to the same end. Overall, this part of the patch played a very minor role, but an important one. After several listens, I’d probably integrate this part differently were I to do it again. I’d definitely have it more forward for most of the mix rather than hanging around the background. It seems to get lost sometimes, when it should be more prominent. I would also not mess up a patch connection with my second delay, the Qu-Bit Electronix Nautilus, where I plugged into the Right input, and not the left, which, with the feedback pattern chosen, put virtually all of the delay signal from Nautilus on only the Left side. Some might not even notice, but it bothers the shit out of me.

The last part of this patch is the periodic “bubble burst” with accompanying echoes (courtesy of the Xaoc Devices Sarajewo). I stole this idea straight from one of my favorite patches on the Make Noise channel. It’s a simple sound that is both unobtrusive, and only very periodic. The sound was created by pinging (ringing?) CUNSA, which also had its frequency modulated by the highly attenuated HP output of the same filter (another trick I stole from Make Noise – Thanks, Walker!). It was triggered by using a Stackcable to combine three separate gate outputs from the Stochastic Function Generator. These long functions output only very periodic gates at a random interval, so there’s no overcrowding. It also helped provide a sense of scale and depth of the musical space.

Everything ended with a round trip through the Walrus Audio Slöer, which is quickly becoming my favorite reverb. Although I’ve tended towards one of the pitch shifting algorithms, I ultimately decided on using the Dream algorithm, though the Rain algorithm also sounded nice.

I really enjoyed this patch, even if there are a few things I would definitely change. It was both challenging and highly rewarding. It offers answers to some questions, but also to more questions to explore in a future patch.

Modules Used:
Addac506 Stochastic Function Generator
Addac508 Swell Physics
Synthesis Technology E370
ST Modular Sum Mix & Pan
Frap Tool CUNSA
Frap Tools Falistri x2
Frap Tools Sapél
Joranalogue Compare 2
Befaco/DivKid Stereo Strip
Calsynth uO_C (Quantermain)
Bizarre Jezabel Mimosa
Knob Farm Hyrlo
Venus Instruments Veno-Echo
Qu-Bit Electronix Nautilus
Xaoc Devices Batumi II
Xaoc Devices Samara II
Xaoc Devices Sarajewo
CuteLab Missed Opportunities
Holocene Electronics Non-Linear Memory Machine
AI Synthesis 018 Stereo Matrix Mixer
Knob Farm Ferry

Outboard Gear Used:
Walrus Audio Slöer

  1. Although what is or isn’t “musical” is certainly subject to wide interpretation, I think we can still make useful generalizations, while drawing lines between something most would call musical, with yet other examples most would call sound(s) or noise. ↩︎
  2. I’m not sure, but I suspect that the VCA/mixer I was using to process the audio has a logarithmic response, delaying its response with slow(er) signals. The manual doesn’t illuminate the VCA topography, unfortunately. ↩︎
  3. After looking at a patch diagram of the original patch, the methods used between these two patches was quite different, even if it started similarly. It’s nice to know that there is generally more than one way to accomplish some patching goal. ↩︎

A Sketch With The Nonlinearcircuits Stochaos

I went into this patch with the idea that I was going to see if the Nonlinearcircuits Stochaos was appropriate for inclusion in a travel synth I’ll be taking to Alaska this summer (it’s not). I’m looking for gates. Many gates, actually. And although the Stochaos has many gate outputs, it runs on a clock, and sticks to the grid. It’s an awesome tool for what it is doing, but it’s not what I’m looking for in that synth, unfortunately. But despite not being fit for that particular project, this 8hp wonder is a fantastic Chaos or Random (or Both!) driven sequencer that can drive a whole patch.

This sketch was designed to use chaotically driven gates in order to ping the 4 operator outputs of the Humble Audio Quad Operator. Since they operate on ratios of the base pitch, it would never be out of tune, and all of the 4 operators would always have nice harmonic relationships. These pings would then go through the Venus Instruments Veno-Echo for some rather pedestrian unmodulated stereo delay that was perfect.

Since the point of the patch was to see what I could do with the Stochaos, I used it as the heart of everything. It received a clock from the Xaoc Devices Batumi II, and from there performed its wizardry sending gates to and fro. These gates pinged the 4 operator outputs in the Frap Tools CUNSA, as well as triggered various events all over the patch. Stochaos also provided the sequence which was quantized in Quantermain on the uO_C via one of its four CV outputs.

There was some modulation, but not very much. I used one of the Stochaos gate outputs to trigger the Auza Wave Packets which modulated the ratio of one of the operators on the QO. Two of its gate outputs clocked the Nonlinearcircuits Bindubba which also modulated one of the operator’s ratio. Otherwise the patch is pretty barren of modulation. The delay isn’t modulated at all, and neither is Aurora.

As per many of my recent patches I wanted to use some FFT, but rather than reaching for Panharmonium yet again, I used the Qu-Bit Electronix Aurora. I was sort of happy with the results, but I’ve never really studied Aurora in much depth, and so opted to go with whatever sounded good enough in the moment. It’s not a prominent part of the patch, but it does serve to fill in the space a bit. It’s definitely reminded me that I need to learn a few things before I go on my trip so I’m not busy manual digging instead of making music with the precious little time I’ll have.

I didn’t start this patch with a kick drum in mind. I was originally hoping to get not only random gate outputs, but randomly timed gate outputs. My original intent was to make an ambient piece, but that idea sank quickly, so I pivoted in a more rhythmic direction. Once a couple of things were settled, it was clear that the patch was begging for a kick drum. I’m not a four on the floor kind of guy, so opted for something more erratic. Still on the time grid, but not at all predictable. For this I used a divided output of Batumi II into the always fun CuteLab Missed Opportunities and adjusted the probability to taste. The kick is made with a Joranalogue Generate 8 into a Rabid Elephant Natural Gate. The trigger would go to both Natural Gate’s Hit input, as well as triggering the Joranalogue for a short envelope for both Exponential FM on Generate 8, and the Control input on Natural Gate.

Overall I’m really pleased with this patch. It’s a sketch with lots of room for improvement, but the direction and feel is very good. The biggest change I’d make is toning down the high registers. Not only are they too loud, but there’s too much of it. It’s a matter of better attenuating my CV and watching the initial knob position for ratio to ensure they don’t go that high. This alone would improve my result exponentially. I’d also like to do a better job of shaping the melody notes in CUNSA. I’m not yet pleased with the tail of those notes.

Although the Stochaos didn’t meet my need for inclusion in a travel case, I did find that it’s a fine sequencer that can control entire patches with naught but a clock input. You choose the style of decision making you want it to do, Chaos, Random, or Both, and it happily goes to work with 8 gate outputs along with 4 CV outputs, the fixed chaos signal used by the circuit, and some Pink Noise. If you’re not looking for strict control over sequencing, or you’re looking for a sequence of random gates and CV for always-surprising modulation, the Stochaos deserves a look.

Modules Used:
Nonlinearcircuits Stochaos
Nonlinearcircuits Bindubba
Xaoc Devices Batumi II
Humble Audio Quad Operator
Frap Tools Cunsa
Frap Tools Sapel (to convert 5v gates to 10v triggers)
Frap Tools Falistri (to convert 5v gates to 10v gates)
AI Synthesis 018 Stereo Matrix Mixer
Venus-Instruments Veno-Echo
Auza Wave Packets
Knob Farm Ferry
Qu-Bit Electronix Aurora
Oto Bam

Improvided and recorded in 1 take on iPad in AUM via the Expert Sleepers ES-9.

Pinging Filters in Stereo

Pinging filters in one of my favorite modular patches. You can get lots of different tones, creating very LPG-ish sounds with beautiful ringing decays, booming drums, or melodic clicks and chirps to color your modular masterpiece.

The traditional way to patch a filter for pinging is really simple. Set the resonance on your filter on the verge of self oscillation, run a trigger or gate into the INPUT of your filter, get some pitch CV into the v/Oct input or the filter cutoff CV input. Now patch the output of your filter to your output (or through any effects you might want), and you’re in business. But there’s an inherent problem in many modern filters when patched in this way.

Pinging filters.
Traditional pinging patch.

Oftentimes the input will ping on the rising edge of your trigger, then click on the falling edge, which is not ideal. No one wants clicks in their music, except when you do, so we need a work around.

Some filters, in an effort to mitigate the click problem, have a “Strike” or “Ping” input meant for gates and triggers. The Joranalogue Audio Designs Filter 8 and INSTRUō I-ō47 are 2 examples, as well as the 2 filters I used in this patch.

No “Ping” input? No problem.

For filters without a dedicated input for pinging, simply patch your trigger or gate to an envelope generator with a snappy envelope. A very fast (or even no) attack and a short decay work well. Adjust the decay of your envelope and the resonance on your filter to affect the tail of the ping. It may take a bit of fiddling, and a little can go a long way, but your perfect tail is in there. Hopefully. Patch the filter output to your output module, and on every trigger you’ll hear a new note.

Make Note: Some filters are better pingers than others. Some don’t process v/oct well, or maybe the resonance is too finicky to get the ping you’re lusting after, so if you don’t like what you get with your first choice, move on to another. That said, most filters should work well.

But this post isn’t about just pinging a filter. It’s about doing it in stereo. And while I could tell you that this method is possible with just 1 filter (it totally is), this patch uses 2 independent filters for pinging, and a stereo filter for effect.

In practice pinging 2 filters isn’t any more difficult than pinging a single filter. You simply repeat the patching process with a different filter after you’ve done it once. And rather than having a single sequence for the both of them, we’re using 2 random sequences, that are triggered randomly using a random gate skipper.

We start, as we most often do, with the clock. In this patch, we have the clock feeding 2 separate S&H generators, which will put out unrelated, random CV sequences. Both of these sequences then go through a pitch quantizer before being sent to the v/oct inputs on the filters. The sequences may be different, but we at least want them in the same key (unless you really like dissonance) for aural continuity. The clock also sends a trigger to a random gate skipper, which will allow only a subset of those triggers to pass through, ensuring that the 2 filters never receive the same beat sequence, providing stereo movement and depth. The gate skipper also send triggers to the final stereo filter, and an envelope generator, which is also modulating the filter. Yet another clock signal is sent to the delay to ensure our repeats are in time. The final clock signal is being sent to yet another Random Generator so that it can provide modulation to the final stereo effects filter.

Once triggered, the filters will send their quantized pings to a delay (pings seem to beg for delay), before moving on to the final stereo filter before going to the output. Listen to the result below!

Modules Used:


ALM Busy Circuits Pamela’s New Workout (Clock)
CuteLab Missed Opportunities (Random Gate Skipper)
Frap Tools Sapél (Random)
CalSynth uO_C (Pitch Quantizer)
Joranalogue Filter 8 (Pinging Filter)
Instruō I-ō47 (Pinging Filter)
Make Noise Maths (Envelope Generator)
Make Noise QPAS (FX Filter)
Make Noise Wogglebug (Random)
Venus Instruments Veno-Echo (Delay)

eleaf · Filter Pinging

0:00
0:00