Control Signals Part I – LFOs and Envelope Generators

Control Signals:  LFO’s and Envelope Generators

Foundational Concepts Review

  • Audio Rate vs. Sub-Audio Rate
    • Audio Rate is 20 Hz to 20,000 Hz (20 kHz.)
    • Infrasonic/Ultrasonic (frequency of sound)
    • Subsonic/Supersonic (speed of sound):  this doesn’t apply to synthesis.
    • Sub Bass: bass 90 Hz and below
  • Bipolar vs. Unipolar
    • Audible sounds are examples of oscillations of positive and negative air pressure and in synthesis are modeled with positive and negative voltage or numbers.  In most computer synthesis environments, these amplitude changes are represented with values that oscillate from –1 to +1 or ±1.
    • Because they stay within the ±1 range they can easily be rescaled with another value (or signal) that is also less than or equal to 1.  Anything multiplied by 1 is unchanged so this is a convenient way to prevent the signal from ever exceeding 1 and clipping.
    • Oscillators (including LFO’s) are almost always bipolar[1], generating values in the range of ±1.  Envelope Generators were designed to rescale the values of these oscillators and so they typically generate values that are Unipolar, i.e. 0~1.

Low Frequency Oscillator: LFO

LFO’s are oscillators that are not meant to be heard because they are meant to control a parameter of something else.  Because humans can’t detect these changes at anything other than a slow rate, the LFO’s are set to oscillate at a sub-audio rate, typically between  0 Hz to around 24 Hz.  LFO’s are control signals with four important parameters:

  • Frequency: the rate or speed of oscillation
  • Amplitude: the depth or amount of modulation
  • Waveshape: sine, triangle, sawtooth, pulse, square, sample & hold (aka, S&H, noise, random)
  • Destination:  The parameter that they are modulating at the sub-audio rate.

LFO Signals are commonly used in subtractive synthesis for the following, i.e., they are mapped to the following destinations:

  • An audio rate oscillator’s pitch to yield vibrato effect.
  • An audio rate oscillator’s amplitude to yield tremolo effect.
  • A filter’s cutoff frequency to yield a wah wah effect
  • A pulse or square wave’s pulse width to yield pulse width modulation effect.

Not all destinations are looking for the same range of values. For example, if an LFO is outputting a signal in the range of ±1 and it is mapped to the frequency of an audio rate oscillator that is, say at 440 Hz, then the audio rate oscillators frequency will change from 440 to 441 back to 440 and down to 439 Hz.  None of those changes will be audible.  In this case the amplitude (amount, depth) of the LFO needs to be greater, such as ±100 Hz.

In Reaktor you can map the LFO to the Pitch input which uses MIDI note numbers and the effect will be audible but later, in Freqency Modulation, we will need to rescale the amplitude of the LFO by multiplying it by a bigger number such as 100 or 200, etc.

The following are the ranges of values needed:

  • Vibrato: Map the LFO to the Pitch input by adding it to the MIDI NotePitch.  No change is needed unless you want a bigger vibrato , e.g. to change the oscillator over a larger range such as a Perfect 5th or octave.
  • Tremolo:  Convert the LFO to a unipolar signal using the multiply&add object the multiply with the amplitude (or EG.)
  • Wah Wah: Using a unipolar LFO, rescale it by multiplying it by the frequency control for the filter’s cutoff frequency (this is usually in the range of 5000).
  • Pulse Width Modulation:  This input is looking for ±1 so no change is needed.  Use this input directly, no multiplication or addition is needed.
  • Resonance:  This input is looking for a unipolar, 0~1 signal. Use this input directly, no multiplication or addition is needed unless you are wanting to rescale a control such as a knob.

Lastly, note that LFO’s can also be mapped to other LFO’s to yield more complex modulations: modulating the modulator.

Envelope Generators

Envelope Generators differ from LFO’s in that they typically do not repeat.  In addition, instead of having a simple wave  shape (sine, triangle, sawtooth,  etc.) they usually have a user-defined breakpoints that shape a line segment.  The most common is the ADSR.  The user sets the following values:

  • Attack Time:  The time it takes to go from zero (or beginning value) to maximum (or Attack Level)
  • Decay Time: The time it takes to go from maximum (or Attack Level) to a Sustain Level.
  • Sustain Level:  The value that the EG remains at until the note (key) is released.
  • Release Time:  The time it takes for the signal to go from the Sustain Level to Zero (or Release Level)

Envelope Generators are almost synonymous with amplitude controls but they can be used to control any parameter any other audio rate or sub-audio rate signal (LFO) such as the following:

  • Filter Cutoff Frequency
  • Filter Resonance
  • LFO rate (frequency)
  • LFO depth (amplitude)
  • Oscillator frequency to yield a Pitch Envelope Generator

EG’s can also be used to modulate bi-polar parameters (such as pitch) but they would need converted with a reverse process used to change bipolar to unipolar (multiply&add).


Releated Concepts

  • Phase
  • Sync
  • Modulation Synthesis (FM and AM synthesis)
  • Vibrato
  • Tremolo
  • Pulse Width Modulation
  • Chorus
  • Flanging
  • Phasing
  • Auto Panning
  • Modulating the Modulator

Advanced Concept: 

LFO’s and Envelope Generators are really the same thing.  An Envelope Generator is simply a unipolar LFO with a frequency of 1/duration of the sound.

[1] An exception is a phasor or ramp oscillator that is unipolar, 0~1, and is used to read through a table.  Another example is a clock signal, that is usually a pulse wave, 0~1.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: