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. ↩︎

Piano Mist

There’s a patch that caught my ear in the days after a recent shoulder surgery while I was stuck in the recliner hopped up on pain killers, and looking for every distraction I could find in the synth-based slice of the internet to keep my time occupied. Unfortunately for my wallet during this time, I happed upon Tom Churchill’s excellent tutorial demos on the Xaoc Devices Odessa and Sofia (which led to an entire new Xaotic Dreams Subsystem). Stazma’s (AKA The Junglechrist) demo of the Verbos Harmonic Oscillator (particularly how it pairs so beautifully with the Multi-Delay Processor) led me on similar path with Verbos.

But it was one patch in particular that I kept coming back to which had me captivated. Over and over I’d listen to it, allowing its peace to wash over my ailing mind and soothe my temporarily excruciating existence. As I watched I would try to make out through an oxycodone fog what was happening, hoping that as soon as I was able I could create something like it. I took notes as best I could, and I traded my BitBox Micro so that I could acquire a Disting Ex. Although BitBox Micro is capable of playing polyphonic multisamples, and is a fantastic module in its own right, it can only do so with MIDI, and I needed to use CV and gates.

My first foray with this patch was a mess. The basic framework was more or less built out, but lots of things were off. My first problem was a horribly calibrated Disting Ex. Its pitch was wildly off, and nothing was in tune despite receiving carefully calibrated pitch CV. Once that was fixed things were much better, but I still had far too many dissonances that weren’t at all what I was looking for, and I wasn’t sure how to fix it. I couldn’t get the speed to something I felt was just right. I couldn’t get a satisfying note distribution. I wasn’t at all satisfied with it. I recorded it, but every time I’d listen back, I’d hear mere flashes of my goal disappear into a dark cloud of dissonance. Each listen prompted me to revisit the idea.

I’ve made over a dozen other modular recordings since that first try. Jamuary was productive. Not a single one of them attempts to use polyphonic multisampling. Not a single one of them uses Marbles or Disting Ex (in any capacity). I’d stepped away from it. During that time, when I would take a few moments to think about the patch, I gained some perspective, as well as some newfound patching knowledge and experience with the various patches I was making at the time. I was now better prepared to revisit this piano patch with a fresh take.

I knew that one of my initial problems to solve was that the original patch had too many notes available for CV to address. My first attempt at this patch was in C Major, and I left all 7 notes of the scale available between C1 and C5 to all 3 CV inputs. Marbles spits out randomly generated pitch CV and gates from its X and T outputs, which goes to the 3 CV and gate inputs on the Disting Ex, via Quantermain in the Micro Ornament and Crime. Despite having quantized pitch CV, using the maximum number of notes meant that any number of dissonances can happen at any point. Nobody wants to hear E juxtaposed with F, or any other dissonant intervals, with any regularity. Particularly not when there can be several dissonances occurring simultaneously. It’s harsh, when I’m looking for smooth.

Along with a key change (C Major to C Minor) I also made adjustments such that each pitch CV input would only generate particular notes of the scale, and not all of them. This change made dissonances few and far between, which meant those dissonances were now artistic tension that would quickly resolve to something more pleasing, and not a stream of clashing notes that barrel into one another, overtaking the piece. I made some minor adjustments to the Rate and Jitter controls on the Mutable Instruments Marbles to get a more satisfying pace and amount of sloppiness in note instantiation. I also tweaked the note distribution to get something resembling a bell curve in pitch generation. More notes in the middle of the range than at either extreme. Super low and piercingly high notes are good for effect, but not as a matter of regular course throughout a piece. These notes are generated randomly, but the process still needs well set boundaries in order to remain interesting. Unfettered random is every bit as boring as a fully repetitive pattern.

Now that I had a stream of piano notes I was content with, it was time to address the FX, which is what would make this piece interesting. The piano sets the path. The FX create the atmosphere around that path. During my first attempt at this patch, I tried to keep FX to a minimum. Some reverb courtesy of the Mutable Instruments Beads, followed later by its granular synthesis engine. The FX were sparse, but not really in a good way. The piece was empty and cluttered at the same time. Octave repeats spiraling off almost uncontrollably, awkwardly filling in empty space and becoming unruly when note generation temporarily sped up. It was a mess. A mess so bad, in fact, that I simply stopped recording out of frustration, and pulled the patch apart.

This time I started with the reverb. Although the FX is what would be most interesting about this piece, I knew I wanted to have the reverb set based on how it sounded with just the piano notes. I wanted a massive open space. Something between a huge cathedral and space. There needed to be bounds, but they needed to be pretty far out there. I had initially chosen to use the Vongon Ultrasheer for the reverb, but in a last minute decision decided to use the Oto Bam with its Ambient algorithm. Some adjustments to the size and decay, along with a bit of modulated chorus adjusted in the Bam, and we were set. In retrospect, I wish I had added even more chorus to lofi it up, or that I had used the Ultrasheer with some randomly modulated vibrato, but I’m still quite pleased with the result.

But what next? I had bad memories of out of control granular repeats, so decided to forego using it in favor of delay. I knew I wanted some reverse delay (because if it doesn’t have reverse delay is it even ambient?), but all reverse delay all the time quickly became taxing, its zips easily taking over the soundscape. So I decided to work on panning technique which would gradually move the source piano sounds between 2 different delays using 2 different sorts of repeats. The technique isn’t hard, even when adapting it to a full stereo signal. You can find the patch diagram here. These 2 delays are mixed, creating seamless transitions between 1 delay and the other. Very cool. I got movement and gradually changing variation. As one delay fades out, the other begins to fade in. Pretty much exactly what I wanted.

But even with gradually shifting between 2 wholly separate delays, the reverse delay was still a bit over-prominent, which meant that I needed a method to turn the reverse function on and off. Chaos to the rescue. After some tweaking to various facets of my clock, the delays were sorted. But there was still something missing.

I’ve had Panharmonium for a long time. It was one of my first large Eurorack purchases, and I definitely didn’t have the modular chops to use it effectively. In fact, I’d had a very hard time getting anything nice sounding from it. I could never seem to find the right analysis interval, and a couple of other settings really mystified me, resulting in what I can only describe as sonic sludge. A glob of abruptly shifting dissonances that sounded terrible. It was nothing like what the many YouTube demos promised were all there to be unlocked.

After watching a video titled “How I Use My Rossum Panharmonium (Part 1)” by Baséput I noticed something. The source he used is fairly sparse. I had been using full melody lines as a source and it hadn’t worked out at all. He was using the granular-like output from Morphagene as a source, which is fairly sparse, and had a beautiful result with just a couple of knob twists. Depending on your settings, just a second of a Morphagene output could hold an entire piece’s worth of sonic info. With that info in mind, I decided to use the mixed delays as my input into Panharmonium. A few more tweaks to the delays to give me shorter repeats, plus an octave up on one of them, and I felt like I had good sonic ingredients for Panharmonium to shine.

And it worked. Despite never having anything special from Panharmonium before, I was greeted almost instantly with exactly the sorts of sounds I’d always imagined making with it. In just 1 patch the Panharmonium turned from a module I had listed for sale into one I doubt I’d ever get rid of. The results are an almost choir-like accompaniment, which gives the entire piece an ethereal feel, which was pretty much what I was going for. More on this to come.

Modules Used:
Mutable Instruments Marbles
uO_C
Expert Sleepers Disting Ex
ST Modular SVCA
Holocene Electronics Non-Linear Memory Machine
Venus Instruments Veno-Echo
Rossum Electro-Music Panharmonium
AI Synthesis 018 Stereo Matrix Mixer
Nonlinearcircuits The Hypster
Nonlinearcircuits Triple Sloth
Nonlinearcircuits Divide & Conquer
Nonlinearcircuits Stochaos
Intellijel Quad VCA
Xaoc Devices Warna II
Xaoc Devices Zadar
Knob Farm Ferry
Oto Bam

Performed and recorded in 1 take in AUM via the Expert Sleepers ES-9.

0:00
0:00