top of page


Chapter 4:
Some Building Blocks
of Generative Patching


When I write “building blocks” in the headline to this chapter, I don´t mainly think of certain modules. Discussing certain modules will be the  matter of chapter 5.

I think of certain combinations of modules here, and only exceptionally of a certain module, and only when I want to show a rather uncommon way to use it. And a last note: I am not going to repeat things from the last 3 chapters. There are quite a lot of such typical and/or useful combinations of modules mentioned and described.

So, let me talk about those, which went unmentioned (or mentioned only just by the way) so far.

 


Chapter 4.1:
The Instrumentation of Envelopes


I told about feeding back the end of an envelope to its trigger or gate input with certain modules in earlier chapters, and I am going to talk about special envelope modules in chapter 5.

Let me talk about envelope-LFO combinations here and now.


There are 3 basic methods to combine an LFO and an envelope module to produce a more complex CV development. Two of these methods are exercisable with all envelope and LFO modules, the third one needs an envelope module, which offers modulation inputs for its individual stages.


Method 1: Envelope Modulates LFO


In its most basic form the patch looks like this:

 

 

 

 

 

 

 

 

 

 


The envelope modulates the LFO parameters, most commonly the LFO frequency or the pulse width (if the LFO´s square/pulse output is used. With different settings for attack, decay, sustain and release (or more sophisticated parameters with specialised envelope modules) I get a couple of nice CV developments, and by changing the envelopes gate or trigger frequency there are quite a lot of different modulation shapes to gain. The preset “envLFO.vcv” and the video behind the following link show some examples.


https://youtu.be/ZNeCCXoMQVg


Method 2: Envelope and LFO Add to Each Other


Here I mix the CV outputs of an envelope and an LFO and use the mixed (summed) signal to modulate things. With the mixer I can determine the share which each of this two modules shall have in the resulting CV development.

 

 

 

 

 

 

 

 

 

 


When the gate or trigger signal to start the envelope comes from an LFO I´ll have two LFOs in this patch:

the trigger/gate LFO and the LFO, which sends its output to the mixer (together with the envelope). But there are situations, when I want to use one and the same LFO as the trigger/gate source and as one of the two participants sending their outputs to the mixer.

In these cases a clock divider comes in quite handy. The following two diagrams show the setup.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

We can modulate more than only volume VCAs of course. An interesting modulation target might e.g. be a VCA, which regulates the range of the pitch CV, that is sent to a quantizer.
The preset “envPlusLFO.vcv” (presets are only available in the book. See https://dev.rofilm-media.net) and the video behind the following link show some examples.


https://youtu.be/QTi0Oh_cRaM


Method 3: Modulating the Envelope´s Stages


This method is exercisable only with envelope generators, which offer CV inputs per stage, so you might not be able to do so in your (hardware) setup.

​

​

​

​

​

​

​

​

​

​

​

​

There are some basic facts to remember when we modulate envelope stages.

One of which is: if a stage has reached its end the next stage begins at once and without any further actions needed.


Of course, why mentioning that?
Well, modulating time related stages like attack, decay and release means shorten them sometimes and sometimes making them longer. But when I modulate e.g. the attack time by an LFO´s triangle wave, it might well happen, that I shorten it so much, that it ends before the LFO has finished its cycle, or at least before another LFO cycle has begun. In this case I don´t even recognise, that there is an LFO modulating attack, because the attack phase has (long) gone, and the decay phase has started, before the LFO could unfold its whole influence.
With only level related stages, like sustain we don´t have this problem.
The graphic shows the simple setup, the preset “envStages.vcv” (presets are only available in the book. See https://dev.rofilm-media.net) and the video behind the following link show some examples.

 

https://youtu.be/7vvCOx6PZcI


But we don´t need LFOs to enrich envelope generated modulating CV.
Combining envelopes is also a very nice idea to do, and again there are 3 basic methods, unfortunately only one of which can be exercised by whatever envelope module you have. The other two need at least and endof-
cycle trigger output.


Method 1: Adding Envelope Levels in a CV mixer


The graphic shows the principle. The output of the mixer delivers always the weighted sum of both envelopes. I say “weighted” sum, because I can – like always – determine the share of each envelope by adjusting different mixer channel levels.

 

 

 

 

 

 

 

 


But things are a bit more complicated. Do you remember: attack, decay and release are times!

 

And after the adjusted time has gone by, the envelope jumps to the next stage. Therefore it might well happen, that one of the two envelopes has reached the decay stage, while the other is still in its attack stage. This means, that the overall level looks like the overall attack stage has two phases, whereas the envelope with the longer attack is still driving the level up, the envelope with the shorter attack is trying to drive it down, because it´s already in its decay stage. What we see and hear is the sum of both.


And it is the same with the other time envelope stages. It might even happen, that one envelope has finished its cycle completely (= isn´t sending any CV any more), whereas the other envelope is still in its release stage. We can build up quite interesting envelopes this way, but to get a wanted certain one needs a bit of thinking at first.
The preset “addEnv.vcv” (presets are only available in the book. See https://dev.rofilm-media.net) and the video behind the following link demonstrate the patch.


https://youtu.be/jQOMY1zwazE


Method 2: Chaining Envelopes


If our envelope generator offers an end-of-cycle trigger, we can chain one envelope after the other. In case we use a regular source of gate/trigger signals – e.g. an LFO – we have to take care, that the cycle length of this trigger/gate source is long enough to give both envelopes the chance to finish their work.
In a constellation like this the left envelope goes through its cycle – completely -, and after finishing its cycle it starts the right envelope, which then goes through its cycle – completely, if not interrupted by the next incoming end-of-cycle signal (in case the cycle of the left envelope is remarkably shorter than the cycle of the right envelope).

​

​

​

​

​

​


We have to consider the following cycle resp. frequency relations:

the length of the cycle of the module, that initiates the whole chain, the length of the cycle of the left envelope, and the length of the cycle of the right envelope.

The preset “envChain.vcv” (presets are only available in the book. See https://dev.rofilm-media.net) and the video behind the following link show more about it.


https://youtu.be/oi-d-4vQw4w


Method 3: Envelope Feedback


And now the real fun begins. A simple change makes the whole thing a fun LFO.

I simply add a feedback patch cable from the end-of-cycle output of the right envelope to the trigger/gate input of the left one. Then I only need one single trigger impulse, and the whole patch never stops cycling through both envelopes – endlessly.

 

 

 

 

 

 

 

 

 


The preset “envFB.vcv” (presets are only available in the book. See https://dev.rofilm-media.net) and the video behind the following link demonstrate this.


Chapter 4.2:
5 Faces of Randomness


Face 1: Looping Envelopes Plus S&H Feedback


The principle of this face reads in short: a looping envelope (or two, or three …) trigger a sample & hold module, which not only modulates the pitch of a VCO, but also feeds back its output to modulate the time related stages of the envelope(s).

As a result not only the pitches of the tones are random, but also the space, the time between them.


The sustain level(s) at the envelope(s) should be high enough to trigger the S&H module of course. But it´s not only the sustain stage itself, that can trigger the S&H, but also the attack stage, when reaching the trigger threshold of the S&H module.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


It will be a good idea to insert an attenuator in the feedback patch between the S&H module and the modulated stage(s) of the envelope(s).

The preset “faces1.vcv” (presets are only available in the book. See https://dev.rofilm-media.net) and the video behind the following link show an example.


https://youtu.be/QUjgH3NgtB0


A last note: If you are so lucky to have a multistage envelope, you can generate more than only one trigger signal per cycle, which increases the number of rhythmical changes.

​

​

​

​

​

​

​

​

​

​

​

​


Face 2: The Inheritance of Randomness


When one sample and hold unit triggers another one, and an attenuator is patched in the signal path between these two, the random voltages of S&H one sometimes reach the trigger threshold of S&H two, sometimes not – randomly.

The second S&H generates its random voltages at random times therefore, and with the inserted attenuator I can regulate how often S&H 2 puts out another voltage.

The whole patch generates randomness, but I can – at least quite a bit – determine whether the impression of “fast” or of “slow” prevails.

 

 

 

 

 

 

 

 

 

The simple block graphic shows the principle, and the preset “faces2.vcv” (presets are only available in the book. See https://dev.rofilm-media.net) as well as the video behind the following link demonstrate an example.


https://youtu.be/y5nVH3b1o4I


Face 3: LFO – S&H Feedback


It´s a simple principle: An LFO trigger the sample and hold module, and from the output of this S & H module there is the CV taken, which modulates the frequency of the triggering LFO. The graphic shows the block diagram, the preset “faces3.vcv” and the video behind the following link demonstrate how such a patch works.


https://youtu.be/IiZljJHutDw
 

​

​

​

​

​

​

​

​

​

Face 4: S&H Noise Roundabout


Here we have two independent sample and hold units, one of which triggers the second one and delivers the gate for an envelope module (which modulates the volume of a noise source), the other one modulates the filter frequency of a couple of filters, which are fed by the same noise, that serves as the sample source for both S&H modules.
The block diagram shows the principle of the patch, and the preset “faces4.vcv” as well as the video behind the following link demonstrate how the patch work.


https://youtu.be/eA9dgA1D_Fs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Face 5: Bernoulli Gate Networks


There is an infinite number of ways to combine a couple of Bernoulli gates to a network of course. But they all follow one common statistical rule:
If there is a series of Bernoulli gates, then each one later in the line opens less often than then one earlier in the line.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

It doesn´t matter, whether or not we use the same output (A or B) with all modules.
And:
If there are a couple of Bernoulli gates patched in parallel order, they all open more or less the same number of times.

And again:

It doesn´t matter, whether or not we use the same output (A or B) with all modules.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


In preset “faces5.vcv” and in the video behind the following link there are 4 Bernoulli gates. One of the gates is gate number 1, the gate, where the central clock pulses go in.
Gate 2 follows Gate 1 in series – from the A output.
Gates 3 and 4 follow Gate 1 parallel – from the B output.

This same B output of Gate 1 additionally serves to open and close a fifth voice.
Each of the 4 Bernoulli gates open and close a voice generating group of modules, which get their pitch information from one and the same quantizer at the same time, so that we get random melodies without any (in-)harmonic edges.
The block diagram shows the principle of the patch.


https://youtu.be/uzGmdfIwvXI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Chapter 4.3:
Random Harmonies


We can set up a succession of harmonic arpeggios using a sequential switch 1-to-X like in the preset “harmony1.vcv” and the video behind the  following link. Each of the arpeggios belongs to another voice playing another chord and using another timbre.

The voices are fed into a mixer, and the mixer channels are randomly activated and deactivated by the switch. A couple of slew limiters make the changes happen quite smooth.
The graphic shows the block diagram of the patch.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


I´m using one and the same LFO as pitch source for all 5 arpeggios, and all attenuating VCAs between this LFO and the individual quantizers are adjusted to the same value, but if I wanted different arpeggio speeds and/or different arpeggio ranges I could use separate LFOs for the voice quantizers and adjust the attenuators to different values as well.


https://youtu.be/7jo_nhLDuUg

The preset “harmony2.vcv” and the video behind the following link show another example of working with harmonies.
Three VCOs are tuned to a Cminor chord, and parallel modulated by a quantizer, which switches between C, F and G as the base note. The quantizer is fed by an LFO (triangle wave) adjusted to a quite low frequency. Appendix B shows the frequencies of musical notes, so that you can tune (software) oscillators quite easily. Otherwise do it like I do most of the times: rely on your ear.


At the same time there is a fourth VCO, which is modulated by a second quantizer generating the base notes C, Eflat, G and Bflat. This second quantizer is driven by random voltage (S&H), which changes remarkably faster.
The following graphic shows the block diagram of the patch. A little bit of percussion completes the patch.
The principle is: random pitches over regularly changing chords.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


https://youtu.be/GzJnleq1SzY

 


Another way of torturing a harmony shows the following example.
An arpeggio over 5 notes (here: C-Eflat-F-G-Bflat) generated by a modulates LFO and a quantizer, and played by a VCO serves as a sample source for a S&H module, which is triggered by another LFO (which is modulated by the same source as the first mentioned LFO, but runs at a higher frequency offset).


The S&H module modulates the pitch of 4 different VCOs, which send their outputs to VCAs, which are opended and closed by Bernoulli gates.
Because of these Bernoulli gates the VCAs of the four voices 2-5 open at different times, and we hear different pitches from the same sample source.
Wow! Sounds complicated – but isn´t Just take a look at the following block diagram of the patch.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


The preset “harmony3.vcv” and the video behind the following link demonstrate the patch.


https://youtu.be/mWSXL1AQZBY


Well, dear readers, this was the last article in this series.

The series as you have been following it so far covers the first 4 main chapters of volume 1 of my e-book trilogy called “A Systematic Introduction To Making Generative Music With Modular Synths”.

​

If you want to learn more about this volume 1 or even about volumes 2 and 3, please visit my website at:
https://dev.rofilm-media.net

 

Cheers and peace!
Enjoy your day!
Rolf

bottom of page