Spread the love

I thought you couldn’t use feedback in SynthEdit?
In the true sense of feedback in an electronic circuit, no it’s not possible.
Tight feedback loops (as in timing) are NOT currently supported in SynthEdit.  Like VST, SynthEdit processes samples in ‘blocks’ of about 100 samples at a time, this processing method prevents having tight feedback loops.  The Feedback-Delayed modules allows feedback at the expense of a small one-block delay (usually about 2ms).

What is feedback?

In a physical electronic circuits feedback is where we take a portion of the output of an amplifier, filter or other circuit and “feed it back” to the input (hence the term feedback) in this case through the resistor RS.
Feedback can be either negative (180 degrees out of phase with the input), or positive feedback (in phase with the input). The type of feedback affects how it interacts with the input signal. An example of negative feedback in an OP amp circuit is shown below.

Hardware feedback loop with an op-amp.

To obtain positive feedback we would merely connect Rf to the + input of the amplifier rather than the – input. In the case of a filter, adding positive feedback to the circuit will boost frequencies at the cut-off frequency producing a resonant peak much used in synthesizers. If the filter is a delay line based “comb filter” then we can use either negative or positive feedback. Negative feedback will cause notches to appear in the frequency spectrum, and positive feedback will cause resonant peaks to appear. The resulting sound from negative and positive feedback will noticeably different.

Both signals in phase.

AC voltages in phase.

From this we can see that if the two signals are both +/-5 V peak to peak they will add together 5V + 5V = 10V peak to peak.

The signals are 180 degrees out of phase.

AC voltages out of phase

Here you can see that the two signals if they are both +/- 5 V peak to peak will cancel out when added together (+5)+(-5)=0V.

In simple terms Positive feedback is IN phase and therefore adds to the signal level, whereas Negative feedback is 180 degrees OUT of phase and therefore subtracts from the signal level.

Why is there no true feedback in Synthedit?

This limitation is due to the way a VST Plug-in, and therefore SynthEdit, processes audio in blocks. A block is a group of samples representing a short piece of sound. Each block contains around 100 samples.
For example, in a typical VST synthesiser, the Oscillator produces a short piece of sound (100 samples long), then passes the block of samples to the filter, which then processes the block, before passing it on to the next module. This carries on through the chain of modules.
Feedback in “real” electronics is considered instantaneous (so fast it would make no difference to our audio) . In any block-based system such as SynthEdit, feedback must be delayed by at least 1 block of samples. Therefore you cannot create a feedback path without introducing a delay of at least 96 samples in length.  Because of this, true feedback is not possible, there is just too much of a delay at higher frequencies (2kHz and above), meaning there will be too much phase distortion introduced by the delay.

Filter feedback in Synthedit.
Normally (unless you’re a module designer) you won’t need to worry about feedback for filters, it’s all handled inside the module, but there are some times in Synthesizer circuitry when some feedback would be very useful.

How feedback works in Synthedit.

There are a set of modules specially created for enabling feedback loops. Say you wanted to have a circuit where you want to add feedback to a filter. You might try this:

However you’ll get the message saying feedback is not allowed, and the loop will be highlighted in red. You won’t break anything, but the sound engine will not start until the loop error is resolved.

Escaping from the loop.
However there’s a module we can use that does allow feedback of sorts. For our purposes here it’s the Feedback-Volts module (there’s a whole set of feedback modules in the “Special” folder one for each type of DSP data/signal that you might need).
If you connect up the structure shown below, introducing this special Feedback module means your loop will work without any errors. Just be aware of the limitations caused by the signal delay (about 2mS) at higher frequencies.

Correctly set up feedback loop.

With the layout above you will get a feedback type effect on your filter, but it won’t be quite the results you would get from an electronic feedback loop- because of the unavoidable delay you’ll get more of a flanger combined with LPF sound than a resonant filter.

So yes, you can use feedback, but if you’re expecting the same results as a hardware feedback loop you’ll be disappointed.

Types of SynthEdit feedback module available.
Basically all the data types:
BLOB,
Bool,
Double (Double precision Float),
Float, Int,
Int64 (64 bit Integer),
MIDI,
Text,
and Voltage.

Feedback for FM Synthesizers.

This means that if you wanted to set up an FM synthesizer in Synthedit and include feedback between VCO’s you can, but, there’s a caveat. (There’s always a catch somewhere!)
Our feedback delay means that the waveform that is being fed back to the oscillators PM input will not be phase matched to the oscillator as in a hardware circuit, so although it will work and provide quite acceptable FM feedback results the resulting sound can never match a hardware synthesizer such as a Yamaha DX7. The feedback will always sound “off” especially at higher pitches.

Feedback loop with filtering for an Echo plug-in.

This will work well, especially if you want to introduce filters or pitch shifting into the feedback loop. The delay will still be present, but have virtually no effect (if any at all) on the resulting audio output. The structure below would give us an Echo effect with variable HF damping in the feedback loop. Just remember to set the Feedback on the delay module to 0 to avoid any strange things happening!