Stuck with a SynthEdit project?

Month: July 2025

Value display for multiple controls.

This prefab is a means of taking the values from multiple controls, and combining them into one display. The voltages are converted from DSP volts into GUI text, and combined into a single string for display in a text module, the resulting control panel is shown below. The limiting factor for this application would be how complex you feel the display can be, and still be;
a) Useful and easily read,
b) How complex do you want this structure to be,
c) If you are handling large amounts of text data in this way (DSP to GUI conversion) you could potentially be using up valuable system memory, and slowing the plug-in down.
Note: Due to this works , entering text values to alter the control position/value is not possible, for this reason, to prevent bug reports I have made the display’s Text Entry module non-editable, and would suggest that you do the same.

The unit in action-control panel view.

How to combine multiple voltage values into one text string for display.

The main container structure is shown below. The principle is to take (in this example) three voltages, and combine them.

Converting DSP Volts to a Text string. (DSP Volts 2 GUI Text)

We have used this before for adding a readout to a slider or knob, so no big surprises here.
Tip: If you fix the number of digits after the decimal point rather than leaving Decimal Places at the default of -1, this stops the display from jumping around as the value changes and the number of digits changes.

Combining the text strings. (Text combiner)

This is where we combine (append) all the text strings into one long string for display, using the ED GUI String Append module (the typo in the module name is Elena’s not mine).

Creating the control name labels. (Value Labels)

I used the structure space, control name, space | space.
The idea is get a structure like so. Where _ is used to indicate a space

_5.5 _Control 1_|_6.6_Control_2_|_5.9_Control 3_
So the first Fixed string will contain;
_Control_1_|_

The Display.

I used Davidson’s DAM Text Enter module as it gives us options for the Font, Font size, Font colour, Background and Foreground colours. Just remember to set the Text Entry to “Non Writeable”.

DAM FOE Reverb.

A mode advanced natural sounding reverb.

This is a complex reverb module, but gives very good results. It uses a system known as a Feedback Delay Network. If you really want to know more there is information here and here (warning it is complex and uses lots of maths).

The reverb module.

Plugs;
Input L/Input R: The stereo audio input.
Size: Drop down list to select the “Room” size the options available are;
Cap, Can, Small Box, Box, Large Box, Closet, Room, Hall, Large Hall, Theatre, Stadium and Canyon.
Damp: Controls the amount of damping applied to the feedback.
Density:
Freq Band: Controls the bandwidth of the reverb feedback.
Decay: Controls how quickly the reverberations die down.
Pre Delay: Sets the time delay between the initial sound and the start of the reverberated sounds
Level: The main audio output level.
Mix: The Mix between wet and dry audio.
Early Mix: Controls the level of the early reflections, or the first sounds to be reflected (closest to the listener)

More advanced Chorus

Davidsons DAM Chorus module.

Note: As with all effects this module should not be used inside a polyphonic container. You will get distortion, clicks, pops, and high CPU usage.
Note: Do not exceed the normal audio input levels (10V peak to peak), the result will be aliasing and distortion.
The DAM Chorus is ideal as a stereo chorus module. It saves quite a bit of CPU having the one module containing the chorus modules LFO and the modulation modules, rather than a complex Prefab to do the same thing.
Plugs;
Input L/Input R: The audio input 10 V peak to peak maximum.
Mod Rate: Controls the internal modulation LFO’s speed. Scaled at 1 V = 1 Hz.
Mod Depth: Controls the depth of the chorus modulation. Scaled at 0 to 100.
Mod Phase: Controls the phase between the modulation oscillators for Left and Right channels -10 to + 10 Volts.
Width: Controls the Stereo Width at the output. Note: Unless there is a difference in content between LH and RH channels this will not have much audible effect on the output’s stereo width.
Damp: Controls the HF level of the chorus feedback (using a shelf filter?)
LFO Shape: Controls the shape of the modulation oscillator, the options are;
Sine, 3 x Sine, Triangle, Parabolic, Random.

TD Modules Chorus.

This works fairly well, but has fewer options. I tried adding external feedback, but the results were unusable due to problems with instability.
Note: You don’t want the modulation depth to be too extreme, so I find limiting the gain on the Level Adj modules to around x two or x three works well.

Virus alerts.

More and more virus alerts for SEM.

Recently I have noticed on groups.io particularly, an increase in people reporting Virus alerts when downloading and installing SEM’s, even module packs from reputable module developers. Google Chrome particularly will even block downloads of modules.
Rest assured this is down to over aggressive Virus/Malware detection programs that are unaware of SEM’s and what they are.

Blocked Chrome downloads.

You can tell Chrome to continue with a download when it blocks one as potentially harmful, I have even known PDF files to get blocked! If the download is blocked (typically Chrome gives no warning but the file never completes downloading all you will see is this in your downloads folder:

When this happens look in the top RHS of Chrome and you’ll see this

If you right click on the download progress icon (Blue circle with a downward pointing arrow) it will give you the option to continue downloading. You will then be able to complete the download and open it.

Synthedit doesn’t scan new 3rd party SEM’s.

This can be a bit baffling and frustrating. The SEM’s are there in the correct place, but even with repeated scans SE doesn’t list them. This is a typical Windows 11 issue. What has happened is Windows Defender is unsure of what the SEM is, and it’s unsigned. When this happens find the SEM in File Explorer and right click on it, you’ll see this pop-up window

The key thing here is the Security message just above the OK button. Click on the Unblock check box, then the OK button, this will allow SE to scan the file and add it to the menu. Please note you can only unblock one file at a time, with this issue you can’t do a batch process.

Stopping Defender from scanning a folder.

If Defender is causing real problems with SEM’s (I have known it to scan the Modules folder and remove a complete set of SEM modules from a particular developer you can stop Defender from scanning your Modules folder. The official Microsoft instructions for doing this can be found here…

Please don’t ask me for help with your AV software, as I only really know the basics of MS Defender, it will be much quicker to do an online search for help on your specific AV software, or if that fails to help contact the company themselves.

Anti-Virus is a big problem, it slows my PC reduces my productivity, and limits the efficiency of my DAW.

To be 100% honest, I totally agree AV can be a monumental pain at times blocking downloads etc. And whatever the AV companies (Including MS) say it does slow down your PC every time it performs a scan.
However I really, really don’t recommend turning off your AV/Malware protection completely if you use the computer online at all. The only way to go without is have a separate PC for internet use, then have your VST development and DAW on a non internet PC without AV, and to transfer downloads from your internet PC to a USB stick, do an AV scan of the stick, then transfer and install your downloads on the non internet PC.

Volts to Float2 module.

About the Volts to Float2 module.

This module has a few options that a lot of SynthEdit users aren’t aware of.
Although you can normally connect a Volts output plug to a Float input plug without any problems, there are times when this module is useful.

Volts to Float2 Response Plug.

This contains some of the “hidden” modes of the module that can be useful;
dB VU, (as in VU Meter)
dB PPM, (as in PPM meter)
dB Peak, (as in Peak)
dB Headroom,
Volts DC fast,
Volts DC Average,
Volts RMS,
Clip Detect (can be used to convert an LED to a clip indicator).

VU Mode:

This is used in the stock VU Meter prefab. The Volts to Float2 converts the input audio voltage to a Float value scaled for the VU meter.

PPM Mode.

PPM mode is used in the PPM Meter prefab to scale the audio voltage into the format suitable for a PPM meter display.

Clip Mode:

To make a Clip indicator LED, open the LED2 prefab, change the Response setting to “Clip”, close the Prefab and save it as something like LED-Clip. The LED will only illuminate when the input voltage exceeds the clip threshold for SynthEdit.

Update Rate.

This just sets how frequently the output is updated;
1Hz, 5Hz, 10Hz, 20Hz, 40Hz or 60 Hz. The slower sample rates use less CPU, but result in less frequent refreshes.

Free run and BPM Sync clock

Sometimes it’s convenient to have a free running clock, and sometimes you would like to Sync the clock to the host DAW. With this prefab you can have the best of both worlds.

NOTE: The BPM Sync will be stuck at the internal SE clock rate of 120BPM until the prefab is included in a VST and is running inside a host DAW. The free running clock will work fully within SE and a host DAW.

For the free running clock I have used Elena’s DSP Timer module with pulse length T1 set to 50 milliseconds, and the pulse interval T2 made variable from 330 to 1000 milliseconds. This works out at a range of 60 to 181 BPM. Switching between the Synced clock, and the free running is just a matter of using a Many>1 switch.

BPM Display

To convert the control voltage to a BPM readout the following structure is used. The control voltage from the slider is converted to an Integer value for the timer module, and also fed into an ED Divide (Int) module, where we divide the value by 60000 to obtain the BPM (ms/60000 = BPM). It’s then converted to text, and has the BPM text appended to it.

Adjustable clock pulse length.

This is achieved by using the stock monostable to vary the length of the pulse. The only point of note is that to save using a divide module to scale the readout, I used the Animation Position plug on the Patch Memory instead of the Value Out plug, as this is already scaled down (or normalized) for 0-10 to the 0-1 range.

You can download the Prefab here

Dual Wave Bending/Morphing Oscillator.

Generate complex and variable waveshapes.

This Oscillator combines two methods of waveshaping and shape modulation.
There is a DAM Waveshaper on the output of each VCO, and there is the facility to Morph between two waveshaping formulae, the sum of the formulae, and the difference between the two formulae. The phase of the second VCO is also variable, and if required there is a quantized input to raise or lower the second VCO in octave steps. The sum of the two Waveshapers is achieved when the Morph point is mid way between the ASin h and ATan h points.
The only reason I chose to use the two particular methods of waveshaping (ASin h and ATan h) were that they gave the widest, and most useful range of waveshapes at the output (feel free to experiment).
The bias voltage on the audio signal input allows further variation in the output waveshape. The phase of the second oscillator also affects the resulting shape when the output is the sum or difference of the two waveshapes. So we can introduce more harmonics and waveshapes into the output I have included a third oscillator which is not used in the audio, but just to phase modulate the second audio oscillator. The High Pass Filters are all set with their pitch/voltage at the 1 kHz/Volt setting to save calculating the frequencies. These are merely for blocking LF rumbles and DC from the audio output.
Note: Taking the Bend 1 and CVs outside the -4.5 to + 4.5 volts would be of no benefit as this will result in very little output.
Note: There is a High Pass Filter in the output to prevent DC or very low frequencies resulting from the Phase Modulation (this can produce large amounts of aliasing, so there is the possibility of reflected “harmonics” and DC).
Note: I did briefly experiment with using a Feedback (Volts) module to use the audio output to produce the phase modulation, but this proved to be too extreme and unpredictable in it’s results.
Note: I used the HD Oscillators from the Community Modules download from the Synthedit website as these give a slightly better waveform with a greater harmonic range.
Note: Don’t bother trying oversampling on this structure, I experimented and found that if anything it decreased the range of sounds (less high frequency content)

As you can see from the screenshot below this structure produces some interesting waveforms, and harmonic (and inharmonic) structures, which with the correct low frequency CV’s can produce some more unusual (and possibly un-musical) audio outputs..
Note: Although the VCO’s allow selection of Pink Noise, White Noise, and Pulse waveshapes none of these produce any interesting outputs (to me anyway).

The prefab in action

The prefab for this module can be found on the files section of synthedit@groups.io (click link to download).

Formant Synthesis Part 2

Applying the basics of Formant Synthesis.

The basic idea is to take three bandpass filters connected in parallel. Here we use three SV filters set to their 2 Stage Bandpass mode, each one followed by a Level Adj module so we can adjust the three parameters we need:
1) Frequency
2) Resonance or “Q”
3) The audio level of each filter.
Each of these three filters represents a Formant.

By connecting white noise to the input and a frequency analyser to the output we can see the filter in operation- (by using white noise it’s easier to see the resonant peaks than it is with a pulse or sawtooth). You can see below how I have set some frequencies and the resonant peaks corresponding to those frequencies are clearly visible.

This method has some disadvantages though;
1) The stock SV filters are fixed into 1 Volt per Octave for the Pitch control meaning we have to do some maths and use extra modules to convert the readout into a Hz or kHz readout.
2) The stock SV filters tend to oscillate and ring at high resonance levels.
3) Three separate filters, and the maths and extra modules for displaying the filter frequency will all add to the CPU use.

A more Efficient Formant filter.

Fortunately there is a purpose built filter module in the TD modules range, the TD_SVX4.
It is a module that does the job of four SV filters, with the advantage that the Frequency control voltage is 1 Volt per kHz, making readout easier, and they are optimised so as not to “ring” or oscillate at high resonance levels.
This makes quite a neat and more CPU efficient solution for a Formant filter.

The structure of the dual TD_SVX_4 container is shown below. I used two filters to get a steeper bandpass response. You can see below the filter in operation with the four resonant peaks (again using a noise input). Even at maximum resonance there is no ringing or oscillation

Not just for speech.

By their nature acoustic instruments also have resonant frequencies, so we can use our formant filter to make more accurate imitations of acoustic instruments by adding resonances to their audio spectrum. The chart is shown below, note how some resonances are quite broad compared to others.

InstrumentF1F2
Flute800
Oboe14003000
English Horn9302300
Clarinet1500-17003700-4300
Bassoon440-5001220-1280
Trumpet1200- 14002500
Trombone600-800
Tuba200-400
French Horn400-500
Cello300500 + 900
Double bass70250
Viola220350
Violin5031600
Acoustic guitar90-150

More on acoustic instruments and formants.

Note: The Formant frequencies of acoustic stringed instruments are by no means set in stone. These vary from instrument to instrument, as there are a large number of variables affecting the sound, such as differences in construction, differences in materials etc. Different styles and models of acoustic guitar will have different resonances, but generally speaking the resonance will be in the lower frequency end of the scale as these are the weaker frequencies and need boosting to make the sound project evenly across the playing range.
Even “classical” instruments such as Violin and Viola will have different resonances due to the way they are constructed.

The best way to find the frequencies for these instruments is experiment, and find the sound that seems right to your ears, and experience of acoustic instruments.

Formant Synthesis Part 1

Formants.

What are Formants?
In the study of acoustics, speech and phonetics a formant is the part of the audio spectrum, which has a large peak in volume that results from the acoustic resonances formed by the human vocal tract, or by a room or hall.
By their nature when sound waves are created in a room some frequencies will be attenuated, and some will be boosted due to the shape and size of the room. In a room there are not only the direct sound waves that we hear, but also the reflections from the walls, and from furniture. If you want to find out more about room resonances there is an article on Wikipedia.
This also applies to human speech as well due to the mouth and vocal tract forming resonant cavities, only in this case when we create speech we are changing the dimensions of those cavities.

Formants in Acoustics.

In acoustics, a formant is usually defined as a broad peak, or local maximum, in level of the audible spectrum.
For harmonic sounds, the formant frequency is sometimes taken as the harmonic that is most strongly boosted by a natural resonance. A room can be said to have formants which characteristic of that particular room, due to its resonances, which are due to the size and shape of the room, this resonance will also be affected by the contents of the room, and any sound damping materials in the room. Room formants of this nature reinforce themselves by emphasizing specific frequencies and cancelling others. For the purposes of digital signal processing such as reverb, the way a collection of formants generated by a room or hall affects a signal can be represented by an impulse response.

Speech Formants.

In speech the formants are characteristic of the resonances of the the vocal tract which is formed by the following; The lungs, the Larynx, the vocal cords, the throat, the mouth, the palate, the shape and position of the tongue, the lips and teeth all affect the formants.
These formants make up all the sounds we recognize as vowels, and to a lesser degree also make up the sound of the consonants too.
The formant with the lowest frequency is called F1, the second F2, the third F3, and so forth. The fundamental frequency (or pitch)of the voice is sometimes referred to as F0, but it is not a formant. Normally the two first formants, F1 and F2, are sufficient for us to recognize the vowel.
In normal voiced speech, the vibration produced by the vocal cords resembles a sawtooth, rich in harmonic overtones.
If the fundamental frequency (or more often) one of the overtones is higher than one of the resonance frequencies of the system, then the resonances will be weak, and the formant usually produced by that resonance weak or almost completely inaudible. This is usually noticed in the singing of operatic sopranos, who sing at pitches high enough for their vowel sounds to become very hard to distinguish.

Note: Consonants are, to a large degree, noise bursts shaped by the tongue and lips, and we can model these using amplitude contours rather than spectral shapes, so these won’t concern us here.

Approximate frequencies found in vowel sounds. (Not a comprehensive list)

Vowel.Example.F1 Hz.F2 Hz.F3 Hz.
aLap66017002400
eeLeap27023003000
iLip40020002550
ooloop3008702250
“u”lug64012002400

This means that we can use these frequencies in a synthesizer to create roughly human sounding vowels, and “singing”.