Basic Synth 4: LFOs, Envelopes, and Random Voltage
Over the last few posts, we’ve talked about all the basic modules that exist within the audio path of a synthesizer patch: oscillators, filters & VCAs. At this point, we can make a sound that has the potential to change pitch, texture, timbre, and loudness. The question now is how to make these changes in sound happen in specific and precise timings, shapes, levels, and movements. How do we breathe life into our patch and make it both organic and musical?
The answer, of course, is modulation.
Last time when we spoke about VCAs, we learned that modulation can occur at control rate and at audio rate. The modules that change voltage in the realm of control rate are those we’ll focus on today.
LFO (Low Frequency Oscillator)
Low frequency oscillators are exactly what they sound like. They are oscillators with a frequency range that can go much lower than the range of human hearing which is 20Hz - 20kHz (some LFOs go well into audio rate, and yes, even at control rate one will hear a click with each period of the waveform). This continuous low and slow AC signal can be used to modulate parameters of other modules.
For instance, the output of a LFO can be patched to the pitch input of an oscillator making the oscillator change pitch at the frequency, waveform, and amplitude of that LFO (this is how we make vibrato sounds). It can also be patched into the cutoff frequency input of a filter, changing the cutoff frequency in the same manner at the oscillator (this is how we make sweeping sounds). Same for the amplitude of a sound going through a VCA (this is how we make tremolo sounds).
(Image courtesy of Bob Moog Foundation)
Frequency: The frequency is the number of waveform cycles per second. It’s also called the rate. If it was an audio oscillator, the frequency would be the pitch of the sound.
Waveform: LFOs have multiple waveforms to choose from. Often they consist of the classic waveforms - sine, triangle, sawtooth/ramp, square. But some can smoothly morph between waveforms where more interesting shapes can be accessed.
Reset: Many LFOs have a reset input that forces the LFO’s waveform cycle to reset. I use this in keyboard synth patches when I want the keypress to reset the LFO ensuring that the onset of sound doesn’t occur in the middle of the LFO’s cycle.
Depth of Modulation: The depth of the LFO is altered by changing the amplitude of the signal. The lower the signal, the less modulation that occurs. The higher the signal, the more modulation that occurs.
Tap Tempo: Some digital LFOs have a tap tempo, meaning that they can be externally clocked. After the first two clock pulses, the LFO calculates and adjusts its frequency to fit the entire waveform within one clock pulse.
Examples of LFOs with tap tempo:
4ms Quad Pingable LFO (QPLFO)
Mutable Instruments Peaks
Here are some LFOs that fit the bill on almost all the other parameters:
Industrial Music Electronics Kermit mkIII (digital)
Instruo Ochd (analog)
Malekko Quad LFO (digital)
Xaoc Devies Batumi (digital)
Envelope generators are similar to LFOs but where LFOs constantly output cycles of their signal, envelope generators only output a single cycle of a waveform when externally triggered. As we mentioned in the VCA post, pressing a key of a keyboard synthesizer generates a gate signal that triggers (and probably sustains) an envelope generator. The envelope generator then outputs a continuous control voltage signal that modulates the amplitude of the oscillator’s signal passing through the VCA.
Envelopes don’t usually have a waveform shape that falls into the classic waveforms (except for maybe a triangle waveform). They instead are multi-segment voltage contours that rise and fall at different times.
One of the classics is the Attack/Decay (AD) envelope. When triggered, a voltage signal rises from 0V to its highest voltage and then falls back down to 0V. Another one is the Attack/Decay/Sustain/Release (ADSR) envelope. When triggered, a voltage signal rises from 0V (attack) and then decays (decay) to a level defined by the sustain parameter. The voltage then sustains at that level for as long as the gate signal that triggered the envelope is held high (sustain). Once the gate signal goes low, the level falls back to 0V (release). Increasing the sustain level to its maximum value creates an Attack/Sustain/Release envelope (ASR) which is the same as an ADSR envelope, but because the sustain level is at its maximum value, the decay segment is omitted, as there isn’t a lower signal to decay to.
Having two separate ADSR envelopes control the cutoff frequency and the amplitude of the sound is a classic route. Envelopes can also be used to open VCAs allowing control voltage to pass through like in the faded-in vibrato patch we learned about last time. AD envelopes modulating the pitch of a drum patch is great for adding impact sounds to each hit.
(Image courtesy of Bob Moog Foundation)
Envelope Generator Parameters:
Trigger Input: By its very nature, an envelope must be triggered.
Segments: All envelopes will have a control for their segments. Some will even have a control voltage input for each segment like the Instruo ceis (analog) https://www.controlvoltage.net/instruo-ceis.html.
Response Curve: Some envelopes can change from logarithmic, to linear, to exponential. This changes the way each envelope segment affects the generated voltage contour.
The Make Noise Function (analog) has this functionality https://www.controlvoltage.net/make-noise-make-noise-function.html.
Gate Outputs: Many have gate outputs that correspond to different parameters. The common ones are a gate for each segment, a gate at the end of the attack, and a gate at the end of the cycle. Both the modules listed above have these types of features.
Looping: Some envelopes can be transformed into LFOs with a cycle button like the Qu-Bit Electronix Contour (digital) or Make Noise Maths (analog). This forces a new cycle of the envelope to start at the end of the previous cycle.
Attenuverters: Some of the bigger envelopes modules also include attenuverters for the CV outputs. This allows for the scaling and inversion of the voltage contour like the previously mentioned Contour, Maths, and the Pingable Envelope Generator.
Random Voltage Generators
Random voltage generators are by far my favorite control sources. With every clock pulse, a new random stepped voltage is generated, meaning that the level of the voltage immediately moves up or down every time it receives a clock signal. This is different from an alternating voltage like a LFO or Envelope. Some uses for random voltage are changing the pitch of an oscillator, the cutoff frequency of a resonant filter, the amplitude of a VCA, or even the segment times of an envelope generator.
Analog & Digital
Random voltages can be both randomly and digitally derived.
In the analog world, white noise (which consists of all frequencies at an equal amplitude) is connected to a sample & hold module (S+H). When the S+H module receives a clock pulse, the white noise is sampled and held until, creating a random non-fluctuating voltage until the next clock pulse. Here are some analog white noise and/or sample & hold modules:
Mutable Instruments Kinks
Make Noise Richter Wogglebug
Steady State Fate Quantum Rainbow 2
In the digital world, a clocked random algorithm can simply be coded and implemented onto a chip.
Here are some digital random voltage generators:
2hp Rand V2
Looped Random Voltage Generators:
Instead of having a never repeating stream of random voltages, some modules allow you to lock and loop random voltages. This is great for creating random melodies and slowly transforming them to completely new melodic lines. Here are some looped random voltage generators:
2hp TM (digtial)
Grayscale Permutation 6hp (analog)
Mutable Instruments Marbles (digital)
Slewed Random Voltage:
Often there is a way to add slew (portamento, glide, lag) to the random voltage. This forces the random voltage to slowly change to the next value and is great for modulating oscillator waveforms, cutoff frequencies of filters, envelope segments, or the parameters of your favorite granular sampler.
If the module itself doesn’t have a slewed output, a separate slew limiter module can be used to create definable attack and decay times for the random voltage
Here are some slew limiter modules:
Make Noise Function (analog)
Make Noise Maths (analog)
Roland 555 (analog)
WMD / SSF VC Mini Slew (analog)
Thanks again for checking out our blog and learning modular synthesis with us!
Feel free to comment with any questions, ideas, or opinions!
Next article in the Basic Synth series: Basic Synth 5: Sequencers & Keyboards