Stuck with a SynthEdit project?

Category: LFO

About LFOs- using the standard Oscillator.

An LFO is a low-frequency oscillator that is used to modulate a synthesizer controls automatically, and in a regular fashion. They are often used to modulate the filter cut-off frequency at a slow rate, for vibrato and for tremolo effects. Though it’s almost identical to an oscillator that produces audible waveforms, its frequency lies in the subsonic range between 10 Hz and 0.001 Hz. The most common waveforms are sine and triangle as shown below.


We can use the standard oscillator module to create an
LFO in SynthEdit.
Click on the module, and in the oscillator’s Properties window you will
see two modes for setting the frequency;
1 Volt/Octave,
1 Volt/kHz.
I recommend using 1V/kHz as it’s easier to work out your frequency ranges.
Since 1V = 1kHz, then 0.001V = 0.001kHz or 1Hz. It’s easier to work out 1 volt per kHz values, than using the 1 volt per octave formula below (unless you enjoy maths).

How low can you go? The stock SE Oscillator will (Since an update in 2019) go down as low in frequency as -1e27 kHz (0.00000000000000000001 kHz)… that’s well below 0.01 Hz.
An oscillator’s default output range is +5 to −5 volts. By adding a Level Adj
module in after the oscillator’s Audio Out plug you can adjust the
LFO’s output amplitude.
Note: If you make the range of the Level knob -10 V low to 10 V high, then when the Input 2 voltage is negative it will invert the phase of the waveform, and when it is positive the waveform will be in it’s normal phase.
Using the LFO is as simple as connecting to the Pitch plug of a filter (NB there are some filters such as the Butterworth EQ range that should not be modulated), the Pitch plug of an Oscillator (only small amounts are needed here) or the Volume plug of a VCA (it’s better to use a VCA than a Level Adj module).

By default this LFO will be “monophonic” this is because it is not connected to the MIDI-CV converter module. However we really don’t need to have a polyphonic LFO (and it would be a waste of valuable CPU resources too).
If you decided you really needed a polyphonic LFO, then you could connect the Phase Mod plug to the Pitch plug of the MIDI to CV module, and set the PM depth level to 0.
This is OK if you don’t mind having a few options an LFO wouldn’t normally have such as Pink/White noise. There is however a couple of excellent 3rd party LFO modules from TD modules which give you lots of extra options, see the TD LFO modules post.
We can also have even more complex modulation possibilities with a “complex LFO” by having a number of LFOs modulating each other.

Creating a Delayed LFO in SynthEdit

Another handy module we may want to create is a “Delayed LFO”. This is an LFO where the output level starts out at zero, and the LFO output gradually increases over a period of time. Again this is quite easy to replicate with a few more modules added into the LFO structure.

Delayed LFO with linear fade in.

Here I have used the TD_LFO_B. Essentially all we need to do for the slow fade in of the LFO level is to use an ADSR module triggered from the Keyboard. The Attack portion of the envelope, and the overall output level are the only ADSR parameters we need to control, so for the others a Fixed Values (Volts) module can be used with the following voltages set; Decay = 0V, Sustain = 10V, and finally Release = 4V the latter being to give a fade out rather than an abrupt end to the LFO output.
As the LFO doesn’t need to be Polyphonic we put the two voice combiners into the Trigger and Gate lines to force the modules into Mono mode.
Note: For the ADSR2 to work correctly both Trigger and Gate plugs must be connected to the MIDI interface module in use. This structure however, only gives us a linear fade-in.

Simple Delayed LFO

Delayed LFO with a non-linear fade in.

In the structure below we have changed the ADSR module to give us a range of different fade-in curves, it’s now the Community ADSR (Download from https://www.synthedit.com/modules/), which allows you to specify the curve of the envelope by changing the voltage on the Attack Curve, Decay Curve, or Release curve. In our case we only want to change the Attack Curve. The range for this plug is from -5 Volts to +5 Volts which gives us a variation from an exponential curve (-5V), through linear (0V) to a logarithmic curve

Delayed LFO with non-linear fade in

Logarithmic curve.

Logarithmic curve

Exponential curve

Exponential curve

TD_LFO Modules for Synthedit.

These are some third party Low Frequency Oscillator Modules specifically designed and optimised for use as an LFO in SynthEdit.
These LFO modules can be downloaded from https://tdmodules.wordpress.com/ as a (free) module pack. The LFO modules in the pack are shown below.
One useful thing about them is the “Off” selection in the waveform list that puts the module to “sleep” thus saving CPU when you don’t need an LFO running.

The four varieties of LFO

TD LFO A:

LFO A waveforms

LFOA is the more basic LFO module. The screenshot above shows the LFO modules LFO Type (shape) settings available, and the Plugs.
The plugs are fairly self explanatory:
Rate Hz: controls the tempo of the LFO with a scale of 1V/Hz (Maximum of 500Hz).
Phase: shifts the phase of the LFO. 2.5 volts = 0 degrees phase shift.
Modify: Changes the shape of the waveform. In the case of CRnd it’s a randomly fluctuating smoothed voltage . The best description however is a picture… (worth 1000 words)
Hold: Holds the output voltage at the LFO output value present when the Hold plug voltage is taken above 0 Volts.
Sync: Used to synchronize two oscillators, which can introduce variations into the waveform if the two oscillators are running at different rates.
Note:- The Phase and modify voltages are internally limited to the range -5 to +5 volts exceeding this value won’t cause any problems, it just has no further effect.

Variations on the SinPin shape
Variations on the TriSaw shape
Variations on the TrapBias shape
Variations on the TriFin shape
Variations on the CRnd "shape"

The screenshot below shows the effect of using Sync on a sine waveform:

Effect of Sync on a SinPin shape

Creating an LFO with the TD_LFO_A module.

There’s nothing too unusual here, the only thing you need to be aware of is the limits on some of the Plug inputs, you can’t “crash” the module, it just won’t respond to excess voltages.

Basic LFO

TD LFO_A_ST Synthedit Module

This is just a “doubled up” version of the TD_LFO_A module. The extra plugs are fairly self explanatory. You have a Left and a Right oscillator, hence a Left Phase, Right Phase etc.

LFO A ST

Modify Flip does just what you would expect when set to “True”, it just “flips” or inverts the LFO Out R waveform Note: Except for CRnd.

Effect of Modify Flip on the waveshape

TD_LFO_B LFO Synthedit Module.

TD LFO B

The main difference between the A and B LFO’s is extra waveforms:
Off, Sine Saw, Ramp, SawP2, RampP2, Triangle, Trap, Spike, Square, TriSquare, Pulse 25, Fin, FinInv, DblFin, Blip, SineOff, Sine Fold, Dip, Hump, BounceA, BounceB, BounceC, BounceD, Splice2, Splice4, SineUp, SineDown, StepSeq, MultiSeq, CRnd, CRnd Hold.
The best option is to explore these waveforms, some I find are more useful waveshapes than others.
There is also no Modify, or Modify Flip Plug (not needed with so many options)
The TD_LFO_B_ST is essentially like the LFO_A, it’s just a doubled up version with Left and Right outputs.

TD LFO B ST

Adding a Low Frequency Oscillator in SynthEdit.

A LFO in a synthesizer design is a fairly essential option. We can create variations in timbre by modulating the VCFs cutoff frequency, or vibrato effects by modulating the VCOs frequency slightly.
There are two choices, we can either us the stock oscillator (after all an LFO is just an Oscillator running at a frequency below the audible range which they do quite nicely), or we can use a third party LFO module. I’ll cover both options Stock oscillator in this article, and the third party LFO in the next post.

Using the stock Oscillator as an LFO.

The basic structure is quite simple, it’s just the oscillator with a slider control connected to the pitch plug, a list entry selector to select the waveform, followed by a level adjuster module so we can control the LFO’s output level.
The main changes to make are;
1) Set the Frequency scale to 1V/kHz in the properties panel (this is to make working out the LFO frequency easier).
2) Set the slider connected to the pitch plug so it has a minimum value of 0.0005V (=0.5Hz), and a maximum of 0.005V (=5Hz)- we are using 1V/kHz so divide by 1000 to get the frequency in Hz.
3) The level control can stay at the default of 0V to 10V to give us a useful LFO output range.

A basic LFO

Reducing CPU load and adding sync.

So the LFO above is OK as a basic one, but there are two ways we can improve on it a bit.
1) One thing we may want it to do is synchronize with the keyboard, so pressing a key triggers the waveform at the 0 volts “starting point” every time, or it can be synced to another LFO, or a clock oscillator.
2) Efficiency: With the basic LFO it can still clone itself when you press more than one key on your keyboard – it’s a polyphonic oscillator after all. So this is un-necessary, we don’t need it to be polyphonic, and its wasteful of CPU resources (each note means a clone, which means more CPU time used).
How can these options be added to our basic LFO?
Quite simply:
The first thing we need to do is add another IO module into the container, connect the pitch plug of the Oscillator to one of the IO Plugs via a Voice Combiner module (Found in the “Special” folder) this module effectively forces the Oscillator to always be monophonic whatever the settings are in you synthesizer, and however many notes you play on the keyboard.
To add sync we take a connection from the Oscillators Sync plug, via a Switch (Many->1) to the IO Mod.
Adding a Fixed Values (Volts) with a 0 volts output allows us to have a Plug labelled “Sync Off”, along with a “Sync On” plug.
This means our List Entry module will have the options Sync On , and Sync Off available- otherwise you list will just contain “Spare Value” as every option! So now you can have the LFO as free running, or to be synchronised with a key-press, or another LFO.
The improved structure is shown below.

Reducing CPU load and adding sync.