Synthedit help and tutorials

Stuck with a SynthEdit project?

Page 11 of 20

The new Vector Knobs

Important note about the vector knobs:

Note: These knobs are not suitable for use in SynthEdit 1.4, although some have tried (with varying success) to use them in 1.4 it is really not recommended as you may well introduce “buggy” behaviour.

Vector Knob C

These control knobs have the advantage of being resizable. They can be used just as the old style “Image” knobs
With a few conversion and Patch Memories we can add text labels and a value readout, with customizable text colour and background. The colours for the centre of the knob (Foreground) and the “skirt” of the knob (Background) can both be changed too. Once the values have been set, they will be retained by the Patch Memories

Using the Vector Pan knob – adding a centre return “spring”.

There’s only one catch to be aware of here, the operation of Spring3 is different from the old Spring module. You must use the right hand Mouse Down input plug for it to work, the left hand plug is just a “through” signal that outputs the Mouse Down signal that the module receives. All we need do is enter the Reset Value of 0.5 in the properties panel. There is the option to enable or disable the spring action by setting and unsetting the On/Off plug. I have added the ED Joystick image as a pan position indicator (which can also control the Pan knob too…)

Vector Bar as a list option selector.

This uses a List to animation module to scroll through a list of options. The options are automatically taken from the List plug of the module it’s connected to.

The Arpeggiator module.

Free running Arpeggiator. (Note this module is V1.5 only)

This arpeggiator is free-running (not locked to the host DAW’s tempo)
Note: Don’t be tempted to use the MIDI-CV2 module on the input of this structure as well as the output. You’ll get a feedback loop warning!
Trigger: The trigger ‘input’ is used to reset the Arpeggiator so it always starts in the correct position.
Gate: The gate ‘input’ is used to ensure that the clock signal is only received by the arpeggiator whilst one or more keys are held down.
Mode: The Arpeggiator mode is a list of off, up, down, up/down and random.
Octaves: Selects the number of octaves that the arpeggiator’s output will cover.
ED DSP Timer: The timings are in mS so we will need to do some maths to convert this to a readout.

Just connect the MIDI-CV 2 module up to a Synth as normal. It should be a Monophonic synth.

BPM Syncing the Arpeggiator to the host DAW.

This is quite a simple modification, we just need to connect up the BPM Clock 4 module as shown. Again the output is simply connected to a Monophonic Synthesizer.
Note: The tempo selection only works correctly when the structure is converted to a VST, and is running inside the host DAW, it will not operate inside SynthEdit.

Rectifier module.

This module flips negative voltages to positive, whilst leaving positive voltages unchanged. Behaves exactly as a “real world” bridge (full wave) rectifier.

Plugs.
Left Hand Side:

Signal in:- (Voltage) Input signal (AC)

Right Hand Side:
Signal Out:- (Voltage) Output signal

Example below: (The fixed voltages are just used to provide offset for the scope “Beams” for clarity)

This is a “Full Wave” rectifier, which passes the positive cycle, and flips the negative half over to become positive, suppose we just want a half wave rectifier? That is one that passes the positive cycles, and blocks the negative?

To create a Half wave rectifier that can output either a positive or negative output we can use the structure below. The comparator only passes an output signal when the input signal is positive by using the comparator to “gate” the Level Adj module. Inverter 2 is added to “flip” the polarity from +ve output pulses to -ve output pulses.

SINC (IIR) Filters

Windowed-sinc filters are used to separate one band of frequencies from another. They are very stable, produce few surprises, and can be pushed to incredible performance levels.
These exceptional frequency cutoff characteristics are obtained at the expense of poor performance in: a) the time domain (meaning they will always introduce latency), b) excessive ripple and c) overshoot in the step response.
In the image below you can see how the signal pulse (Oscillator 280Hz) is delayed as the number of “Taps” at a filter frequency of 5 kHz increases, and the amount of “ringing” or ripple on the pulse waveform also increases.

Increasing TAPs increases the latency:

TAPs and latency.

The SINC Lowpass filter is a linear-phase FIR Filter. The number of “taps” specifies the number of coefficients, more TAPs means increased filter cut-off steepness as seen below however, increasing the number of TAPs introduces more latency. In SynthEdit however there is latency compensation. The module is watching for any change to the default value of the ‘Taps’ pin. The module then uses this value to calculate how much latency compensation it requires and passes that value to the host via the ‘SetLatency’ method. Latency is measured in sample frames.
The module reports this latency to SynthEdit to enable PDC (Plugin Delay Compensation). PDC hides the effect of latency through the clever use of delay lines. You can literally think of all FIR/SINC filters as a multitap delay with no feedback, all the taps are spaced 1 sample apart, then gain is applied per tap and then all taps are added together. So for a 171 tap delay, you have 170 delays, 171 gains (like level adjust modules) and 170 adds. It’s already well optimised with SSE2, as it’s doing 4 calculations at a time.

Resonance/Q/Feedback.

SINC filters do not include a feedback path, so have no feedback, resonance, or “Q” control plug. The are intended to be used as a filter with a very steep low/high pass cutoff characteristic, rather than for colouration of sound.

Increasing the number of TAPs and the effect on frequency roll-off.

Note about 0 Hz filter cut-off:

Although this filter will allow you to set a cut-off frequency of 0 Hz, you cannot use a filter frequency of 0Hz, this is is an ‘illegal‘ value. You will get quite loud clicks and pops, along with “glitching”.
Most SynthEdit filters are “clipped” internally so that end-users don’t input wrong values (this comes at a slight CPU cost of course), usually limited to just above 0Hz and just below the Nyquist frequency.
Why 0Hz is illegal is easiest to explain with a simple 6dB/Octave lowpass. If we set the lowpass to 100Hz, then 200Hz (2nd octave) will be filtered by -6dB, 300Hz (3rd Octave) by -12dB, 400Hz(4th Octave) by -18dB and so on, hence the “6dB/Octave” name. Now try and do the same thing with 0Hz….what is an octave above 0? 0 multiplied by 0 is still 0. It’s the same as dividing by zero.
To prevent loud pops, clicks and glitching you must limit the lowest cut-off frequency to 14 Hz.
Just be sure to limit your patch memory values to prevent illegal values.
Other than this the SINC filters are suitable for fast modulation of the cut-off frequency. Note that there is no resonance/feedback on these filters.

Changing TAP value.

One point to note with SINC filters is that when you change the TAP value the audio engine has to reset for the recalculation process.

TAP Value and filter cut-off slope.

Although we can vary the cutoff slope on SINC filters by altering the TAP number, this bears no relation to the more familiar dB/Octave slope, so unfortunately you cannot say that a certain TAP number is equivalent to a particular dB/Octave cutoff slope. This is due to the DSP structure, and the way these filters work, they are a using a different method of filtering which bears little or no mathematical resemblance to the more traditional analogue filter emulations.

Complex CV Generators.

X-Mix CV Generator.

The first complex CV generator uses a pair of Time Domain modules X-Mix modules to gradually morph between four Time Domain LFO modules.
All the LFOs can be set to run at different rates, and have different wave-shapes making a very versatile CV generator. The morphing is likewise controlled by two more Time Domain LFOs.
The Multiplier module has a value of 2 on it’s Input 2 plug to give the correct scale for a GUI Level Bar indicator.
The Fixed Values (Volts) Module has an output of 5V, as the output from the
TD X-Mix modules has a maximum of +/- 5 V, so we want to convert the minimum -5V to convert to 0V for the meter.
The offset control is fed to input 2 of the second Level Adj module so as not to affect the readout of the level indicator.

Download the Prefab from here (SE 1.4)

Four LFO Four Modulator complex CV Generator.

This works on a similar principle to the previous example, except the modulation is even more complex given the two extra modulation LFOs

Download Prefab from here (SE 1.4)

Shelf filters what are they?

What is the difference between an ordinary low pass filter, and a low shelf filter? Why do we have the two different types of filter? What is a Butterworth Filter?

Low pass compared with low shelf filter.

Comparing the two types of filter: In the structure below I have used the Oscillator set to white noise to give us a signal with (as seen in the first Frequency Analyser screen) a fairly even output across the audio frequency range. Feeding this into the different filters we can immediately see a difference in how they change the frequency spectrum. The first noticeable difference between the two types is the Low Shelf filter has an additional Gain plug.
Filter 1;- Low pass, 4pole, 400 Hz pitch. This gives us a complete roll-off of the output above 400 Hz.
Filter 2; Low shelf, 4 pole, 400 Hz pitch +40 dB gain.
Filter 3; Low shelf, 4 pole, 400 Hz pitch -20 dB gain.
Looking at the Frequency spectrum for the two Low Shelf examples we can see that the +40 dB gain filter has boosted frequencies below 400 Hz, and the -20dB gain filter has reduced the frequencies below 400 Hz. So using the voltage on the Gain plug we can control the level of the output below 400 Hz, cutting and boosting it as needed. This makes shelf filters an ideal candidate for tone controls like you have on a Hi-Fi sound system.
Using the pitch plug voltage we can vary the frequency at which the output starts to cut or boost.
Note: This voltage must never be modulated dynamically by an LFO or ADSR. It is only suitable for relatively slow changes.

High shelf, Low Shelf, Band shelf filters.

There are three shelf filter types; Low shelf, Band shelf, and High shelf. In the image below you can see how a boost of +40dB affects the output level of each filter as regards frequency.
Important note: These filters are not suitable for use as, and must never be used as Voltage Controlled Filters. Modulating the cutoff frequency rapidly will cause very loud clicks, pops and undesirable audio artefacts!
Note: Shelf filters have no feedback, and cannot introduce any resonance effects.

Butterworth filters:

The Butterworth filter is a type of signal processing filter designed to have a frequency response that is as flat as possible in the passband.
The Butterworth filter is an IIR filter design which produces the best output response with no ripple in the pass band or the stop band resulting in a maximally flat filter response but at the expense of a relatively wide transition band.
In applications that use filters to shape the frequency spectrum of a signal such as in communications or control systems, the shape or width of the roll-off also called the “transition band”.
For simple first-order filters this transition band maybe too long or too wide, so active filters designed with more than one “order” are required. These types of filters are commonly known as “High-order” or “nth-order” filters.
The complexity or filter type is defined by the filters “order”. We also know that the rate of roll-off and therefore the width of the transition band, depends upon the order number of the filter and that for a simple first-order filter it has a standard roll-off rate of 20dB/decade or 6dB/octave.

Important Note: Butterworth filters are not intended to be used as VCF’s or have rapid changes in frequency. They are designed and intended for use as static or (manually changed) frequency equalization filters
Notes:
1) This filter is not suitable for fast changes in frequency!
2) Don’t go below 100Hz filter frequency, as the filter behaves incorrectly
3) Below 100Hz bandwidth the filter behaves incorrectly

Comparing the Low, Band and High Shelf

Plugs.
Left Hand Side:
Signal:- (Voltage) Audio input signal
Pitch Hz:- (Floating Point) Frequency set by floating point value (Note: Don’t go below 100Hz as the filter behaves incorrectly)
Width Hz:- (Floating point) Band shelf only. Controls the width of the band of frequencies which are cut or boosted.
Gain dB:- (Floating Point) Sets the level of boost or cut in dB relative to the input
-ve for a cut +ve for a boost.
Poles:- (List) Number of filtering stages, the larger the number of poles, the more efficient the filtering, and more CPU power used. 1 to 12 Poles.

Right Hand Side:
Output:- (Voltage) Cut or boost the spectrum of the filtered audio signal depending on the filter type.

Making a tone control structure.

Connecting these modules as a tone control is relatively simple: Just take your input signal and feed it through the three filters, using the sliders for cut and boost controls with minimum and maximum values of -40 and +40

Stereo Imaging- The Haas effect

What is the Haas Effect?

The Haas effect (properly known as the “Haas Precedence Effect”- there are other unrelated Haas effects) is a way to create a simulate a stereo signal in the studio even when we don’t have a stereo source – or even have access two individual sound sources to start with.
The best way to create a good stereo sound is with multiple takes. This will will provide the best sounding results when you’re looking for a nice, thick stereo sound. Usually in a recording studio we would record two mono takes of an instruments part, put each take on its own track, and pan those tracks left and right. Judicious use of reverb will also help create the sense of space.
However we may want to work from a pre-recording of an instrument or sound and widen the stereo field, in which case recording two takes isn’t an option. Maybe time and resources are limited. For all sorts of reasons two takes might not be a practical option.

How the Haas Precedence effect works.
The Haas Effect is a psycho-acoustic phenomena, resulting from the way our brains work when trying to make sense of the world around us.
If two separate versions of a sound occur in rapid succession – separated by say 5-10 milliseconds, when we hear this our brain “fuses” these two sounds into one.
This merging of the sounds continues to occur until we reach a separation time of about 30 milliseconds, but, when we get to a separation of 50 milliseconds upwards, we will interpret this as two distinctly separate sounds (depending to some extent on what kind of sound we’re talking about). There are some curios things regarding how our brains give priority to the first perceived sound – even ignoring the the second sound, which is covered in detail in research into the the Haas effect and it’s effect on our perception of sounds. For more information have a look at this Wikipedia article about The Precedence Effect.

Using this effect.
What we are really interested in though is that if you take a single audio source, split off a copy to create a second version of it, and delay that second version by about 25 to 40 ms – your brain will still not hear the sound as two distinct sounds, it’s already reinforced and sounding like there’s more than on instrument playing. Now comes the good bit: if you pan the two sounds left and right, your ears and brain will interpret the two sounds as being more spread out, that is a wider sound than the your original single point-source of our original mono sound.

Creating a Haas Precedence stereo effect for SynthEdit.

With these few (stock) modules shown below we can create a simple Haas stereo effect. The values for the Delay2 module are shown on the Fixed Values (Volts) module I find a delay of 40 milliseconds (0.04 V) works well, you don’t want any feed back so this is held at 0 V The Level Adj module on the input is just a buffer.
With the default values on the Width slider you get a progression from a mono signal at 5 V through to a wide stereo image at -5 V.
Note: Due to the delay time inherent in this method of imaging you will probably notice some “phasing” effects between the original and the delayed signal when you reach 50% of the mix. This IS a normal artefact with Haas Precedence widening.

Dual delay Haas stereo effect.

Shown below is a an improved version, with two Delay modules for improved separation along with high pass filters. The two Delay modules have different delay times, 30 milliseconds and 40 milliseconds.

Dual delay Haas stereo effect

Haas effect with pitch shifter.

Another variation is to add a small pitch shift into one channel along with the delay which add slightly to the amount of separation between the channels.
This also gives the impression that the pitch shifted channel is another separate instrument being played.
You don’t want too much pitch shift, otherwise you can get some unpleasant beating and dissonant effects due to the frequency difference. I found that about 0.02V On the Pitch plug was plenty. It’s also best to enable the Anti-Aliasing option in the properties panel, and increase the Block size to 4096.

Chorus effects

What is chorus and how does it work?

Frequency or pitch.
Before we jump into understanding how chorus works, and creating chorus effects, it’s handy to have a basic idea what makes an audio signal sound like its does. One characteristic of a musical sound is that it is more or less cyclical.
This means that the sound waves repeat a regular pattern moving between positive and negative cycles of the signal. The amount of time it takes for this signal to complete one cycle is the signal’s frequency in Hertz (Hz).

Components of a sine wave

Another characteristic of all the components making up a sound wave is the phase between these components.
What is Phase?
Phase in audio is the position of a sound wave at a particular point in time, and our interested will be in the amplitude of the signal at that point.
Think of our sound wave on a graph. The phase of a wave is its position along the x-axis (time) relative to the start of the wave’s cycle.
When discussing the phase of a sound wave, we refer to it in of degrees (similar to how we think about a position the circumference of a circle). One full wave cycle is defined as 360º and each multiple of 360º marks the beginning of a new wave cycle. To keep things simple, we’ll use a sine wave to illustrate this concept.

Phase

Phase difference.
When looking at phase relationship between two or more waveforms of the same frequency, we can say that these signals are either in-phase (0 degrees), out-of-phase (180 degrees), or anything in between. It’s these phase relationships between audio signals that creates the audio effects that we call chorus, flanging, and phasing.
In the diagram below we have two audio sine waves of the same frequency, that are out of phase by 90 degrees.

Showing a 90 degree phase shift

How phase affects sounds.
There are two phase relationships to keep in mind:
a) Constructive (in-phase)
b) Destructive (out-of-phase) interference which is more likely to occur when identical signals are layered together, as is the case with chorus, flangers, and phasers.

Constructive interference: in-phase
When two signals of the same pitch are in-phase, it means that they are perfectly aligned in time, and if they are the same amplitude we will have a voltage difference of 0 volts between them.
Think of when you record a track and then you duplicate it without making any changes to differentiate them from one another.
This is an example of constructive interference: the identical waveforms will add together to produce a signal with amplitude equal to the sum of the individual waveforms (+6 dB of gain on a meter).

Destructive interference: out-of-phase
When two waveforms are perfectly out-of-phase (180 degrees), it means one waveform’s peak (highest point) is being subtracted from the other waveform. If the two are of identical volume and pitch they will cancel each other out.
We can see the results of in Phase and Out of phase signals below. The signals of the left are in phase and add to each other, the signals of the right are out of phase and are cancelling each other.

How phase can add to and cancel out signals

Destructive interference: comb filtering
Comb filtering is using destructive interference in a complex audio signal where an identical copy of the signal is time shifted slightly. This delay can be anywhere from 0.1ms to 10ms. Depending on the time delay, this will result in a frequency response that looks like a comb when the two signals are mixed together. The teeth the “comb” represent the cancellation of certain parts of the spectrum, resulting in the “whooshing” sound we hear sweeping back and forth in flangers.
The diagram below shows how we achieve the flanging effect:

Flanger diagram

And this is what the end result is in terms of our output frequency spectrum.

Comb spectrum

What does all this have to do with Chorus?
“Chorusing” is meant to recreate the (usually) subtle differences in pitch and timing that occur when a number musicians or vocalists create the same note, but there are natural variations in pitch and timing.
We can describe the sound of “chorus as a sort of doubling effect that adds thickness, shimmer, and helps to create an instrument sound “larger” than it would on its own.

How does the chorus effect work?

You create a ‘chorus’ effect by creating a copy (or better, multiple copies) of a signal, the slightly varying the pitch, introducing a small delay to each copy, and then mixing these copies with the original signal.
Rather than using pitch modulation to modulate the pitch, like a vibrato effect, a chorus achieves subtle changes in pitch by modulating the delay time of the waveform with a low frequency oscillator (LFO).
These moderate differences in time and pitch cause a constantly changing
phase-shift between the original signal and the copied signals.
Timing is important.
A chorus effect will use typically use time delays in the order of 15 to 35 mS so that the ear is tricked into perceiving these delayed copies a separate instruments, and the small pitch shifts will add the rich “shimmering” sound.
We don’t want to use a delay that’s too short otherwise we are going to get more of a comb filter effect, or a delay that’s too long as then we are starting to get a “reverb” effect.

Creating a simple chorus effect in SynthEdit:

In this structure I’m using four of the stock Delay2 modules with the delay times set in the properties panel as;
15 ms (0.015), 18 ms (0.018), 20 ms (0.02) and 25 ms (0.025).
I have used two TD LFO_A_ST “stereo” LFOs with their phase plugs set to;
1.0 V and 2.5 V for the top LFO and -1.0 V and -2.5 V for the bottom LFO so that the modulation of each delay is always always slightly shifted in time. The feedback on each delay module can be left set to 0, or you could add a slider control common to all modules feedback plugs so that you can set a small amount.
Converting the design to stereo is just a matter of doubling up on the modules for left and right channels, though you’ll probably want to have the controls common to both channels. The modulation depth doesn’t need to be very great, setting the Max value on the slider to 3 V will give more than enough of a pitch variation.
Note: You will need to set the Interpolate Out setting to “On” for all the delay modules as we are modulating the delay time.

Sub Controls – Modifying the Knob

Have you Ever wished that the Moog style Knob control was just a little more versatile? Well it can be and it’s not “rocket science”. If we take the original Knob Sub-control prefab that comes with SynthEdit then its a matter of adding a few extra modules.

With some extra modules (as shown below) we can create a Knob which can be easily re-named, have a value readout, which has a suffix to indicate the type of value (Hz, Volts, dB etc.).
I have used the following ED modules:
GUI String Append, Fixed_string, and Text Entry (I like this module as it’s easy to control the appearance of the text, and set the background to transparent)
We also need to convert DSP Float values to GUI float values for the Hue switching so the QTN Float2GUIFloat is ideal here. The Bool to float modules are used so you can switch the Saturation from colour to mono, and the Brightness from light to dark using a simple tick/untick option.
With some basic maths we can re-scale the voltage to give us readouts such as; Volts->Hz, Volts->kHz, Volts->dB etc.
The switch with the fixed values allows us to easily select a text colour, or by unchecking the colour/mono option just to have black or white text.
The Text and BG (Background) ARGB values are standard, and using 00 for the A value on the BG ARGB setting gives us a fully transparent background.
The string Append module allows us to add mode text after the Float To Text value, so there’s a single space in the Fixed String module, and then the third value is set by you for the appropriate Volts, Hz whatever for the control.
You can also change the number of decimal places that are used for the value readout using an integer value.

The finished control is shown below, and you can download the prefab (for V1.5) from here
Note: You must have the correct 3rd party modules installed!.

How the finished prefab looks

Sub Controls-LED2

Another sub-control-based prefab, it’s flexible very as an indicator, in that its Hue, Saturation, and Brightness plugs let you adjust any colour dynamically with a small modification to it’s structure.

What’s inside the LED control, and how it works:

An animated Bitmap Image provides the lens, and a Tinted Bitmap Image supplies
the colour. When a voltage greater than 5 V arrives at the Signal In plug, this causes the Bitmap image to display the lens image’s second frame. The second image is more transparent than the first, allowing more of the colour from the Tinted Bitmap Image be visible when the LED is in it’s “on” state.
For this to work, the Tinted Bitmap Image needs to be behind the Bitmap Image in
the z-order by using the “To Back” command on the module’s right-click
context menu.
The Tinted Bitmap:
The Tinted Bitmap Image uses a single-frame bmp image file.
The Bitmap:
The Bitmap Image uses a two-frame bmp image with a mask.
How it works:
A Volts to Float and Patch Memory Float Out 3 convert the
voltage input to a Float Point value.
DC Volts (Fast) is selected for the Volt to Float Responses, and the Update Rate is set to 20 Hz.
The value at the Signal In plug drives the lens Bitmap Image’s
Animation Position. The Tinted Bitmap Image’s Hue, Saturation, and
Brightness inputs require values ranging from 0.0 to 1.0, so we use the Animation Position output to scale them down from SynthEdit’s 0-to-10 volt range.

The basic LED2 Control

With a simple modification (below) we can make it easier to adjust the colour of the LED by linking the Hue, Saturation, and Brightness plugs to plugs on the IO Module.
Note: These value are all 0 to1.

The modified LED2 control
« Older posts Newer posts »