Stuck with a SynthEdit project?

Month: December 2024

Additive Synthesis part 2

We want to set up a number of sine wave VCOs for our basic Additive synthesizer.
The containerized layout below will do the job nicely for the oscillators. Although we have a drop down list for the tuner (note the lack of note and fine tune controls). I have also modified the tuner. The only purpose of the tuner in this Plug-in is to set each oscillator to the correct octave. The VCO container is set so that the controls are not visible, the list is just there for setting up the harmonic that this oscillator will operate on.

Modified tuner.

So the Fixed values in the Tuner are now 0,1,2,3,4,5,6,7,8 volts respectively. Fine tune and note controls are removed as they are not needed. The Harmonic drop down list is not visible to the user, we just need this when programming our synthesizer. All the oscillators are left as sine wave, as we don’t really need the waveform to be changeable.

Sine wave VCO

The level control sliders are set with a maximum of 4 volts to prevent clipping when the oscillators are mixed. The mixer is set with a level of 4 volts on the Input2 plug to prevent clipping. The ADSR has been set up so that the synth at this stage functions more like an electronic piano (Sustain = 0).

At his stage although we have a functioning additive Synthesizer it’s still very basic in its operation. Each harmonic has it’s level manually controlled by a slider. There’s no filtering or other sound sculpting.
How far we go with sculpting the harmonic content is dependent on how complex you want your synth to be. You could have a VCA on the output of each oscillator, each with their own envelope generator…

About dB and signal levels.

This is a subject that can cause a lot of confusion it seems.

The decibel (symbol: dB) is a relative unit of measurement equal to one tenth of a bel (B). It expresses the ratio of two values of a power or root-power quantity on a logarithmic scale. Two signals whose levels differ by one decibel have a power ratio of 101/10 (approximately 1.26) or root-power ratio of 101/20 (approximately 1.12).

dBV

The dB unit expresses a relative change in amplitude, but may also be used to express an absolute value as the ratio of a variable value to a fixed reference value. When used in this way, the unit symbol is often suffixed with letter codes that indicate the reference value.
For example, when using reference value of 1 V, a common suffix is “V” (e.g., “20 dBV”).

dB Scaling.

Two principal types of scaling of the decibel are in common use.
When expressing a power ratio, it is defined as ten times the logarithm with base 10. That is, a change in power by a factor of x 10 corresponds to a 10 dB change in signal level.
When expressing root-power quantities, a change in amplitude by a factor of x 10 corresponds to a 20 dB change in level. These decibel scales differ by a factor of two, so that the relative power and root-power levels change by the same value in linear systems, where power is proportional to the square of the signal amplitude.

The origin of the dB system of signal level measurement.

The definition of the decibel originated in the measurement of transmission loss and power in telephony of the early 20th century in the Bell System in the United States. The bel was named in honour of Alexander Graham Bell, but the bel is seldom used. Instead, the decibel is used for a wide variety of measurements in science and engineering, most notably for sound power in acoustics, in electronics, and in control theory.
In electronics, the gain of an amplifier, the attenuation of signals, and signal-to-noise ratios are frequently expressed in decibels.

How dB are used in SynthEdit.

In Synthedit we are using the dBV measurement, and the reference level of 0 dB is taken as 10 volts which is our maximum audio amplitude, after which audio signal clipping will occur. So if 10 V is our 0dB level, 5 V would be -6.0206 dB lower, and if we allow the signal to rise to 12 V we would get an increase of 1.583625 dB. But don’t forget these are the ratio between two signal levels. So we always need to define what voltage/wattage/sound pressure we are going to refer to.
There is a handy online online dB calculator which can be used to work out dB signal ratios.

Fortunately to save us doing a lot of messing around with math modules and formulae there are two third party conversion modules.
Important Note: These modules are not intended to convert audio signals, they will merely introduce distortion to the audio signal. They are purely for use with control voltages.
TD_dB2Volt:
To convert from dB back to the standard 0 to 10 volts scale, where 0 dB = 10 volts.

TD_Volts2dB
To convert the linear 0 to 10 volt scaling to a dB scale where 10 volts = 0 dB.

Stock Volts to Float dB conversion.

The stock Volts to Float2 module also gives us a Volts to dB conversion which can be selected from the Response plug.

An example of it’s use can be found in the stock Prefab VU meter which converts the 0 to 10 volts audio signal range to a dB scale and displays it.

Additive Synthesis part 1.

Additive synthesis is a technique that is little known and often poorly understood–especially compared to the more usual subtractive and FM synthesis methods of sound sculpting.
However when used effectively, it can be a powerful tool for making sounds that are difficult to create by other means. So what is additive synthesis , and how can we create an instrument that uses it? First we need to understand exactly what it is and how it works to create sounds.

How additive synthesis works.

To understand additive synthesis, let’s compare it to the better known, subtractive synthesis as used in the early Moog, Roland and ARP synthesizers.
A subtractive synth starts by generating a rich, full waveform, like a square or sawtooth wave. We then use filters, envelopes etc to tailor this sound, until we achieve the sound we want. This is the method along with FM that we are more familiar with.
Additive synthesis starts work from the opposite end. Rather than starting with a complex sound and changing it to our needs, we build our sound from scratch, one element at a time. This sounds dauntingly complex, but approached piece by piece it’s quite easily understood and managed.
A Hammond drawbar organ for example can be considered as a basic additive synthesizer We start with our strong fundamental frequency that give the tone its definite pitch. Lets take 440 Hz (A4) to start with, we can then start adding in more tones such as 2nd harmonic 880 Hz (A5), 3rd harmonic 1320 Hz (A6), and so on. Doesn’t sound so daunting when compared to a Hammond organ does it?

To further understand how this works, we’ll need to understand harmonics.
A very basic example is; as we have already seen, complex sounds can be approximated by layering sine waves at different frequencies (pitches) and amplitudes (volumes). These extra tones are known as “Partials” rather than harmonics (you’ll see why later).
A harmonic waveform, like a square or a sawtooth, contains a sine wave at the “fundamental frequency”: that’s the lowest frequency in the sound, and the one whose pitch we hear. It’s also called the first harmonic.
After this we have more layers of sine waves, or harmonics (partials) which all add together to create our unique sound. In this case they are at whole-number multiples of that fundamental frequency (x2, x3, x4 etc).
As an example: A 100 Hz sawtooth wave will contain the fundamental frequency at 100 Hz, and can then be created using more sine waves (or harmonics) at 200 Hz, 300 Hz, 400 Hz, and so on, gradually diminishing in level as we increase in frequency.
The number of upper harmonics that are present in a sound, and how loud they are, is what gives the sound it’s distinctive timbre.
A square wave, for example, features only harmonics that are odd-numbered multiples of the first harmonic: so, 300 Hz, 500 Hz, and so on (x3, x5, x7) but they are still whole number multiples.
In the illustration below you can see (especially in the lower frequency region) the difference in harmonic (partial) structure of the sawtooth and square wave signals, which are both set at 220 Hz.

Additive synthesis makes use of this, allowing us to build new sounds from scratch by controlling the frequency and amplitude (volume) of their harmonics.
Naturally, this is a long-winded way to make a square or a sawtooth wave: for that we just need to switch on our faithful Moog or ARP.
Stepping outside the boundaries.
However by getting involved in controlling the individual harmonic components of our sounds, we can leap far beyond the bounds of these familiar sounds, and create sounds that are less accessible using other forms of synthesis.
By changing the amplitudes of a sounds constituent harmonics over time, by using LFOs or Envelopes we can create some really interesting sounds that are completely unlike other instruments.
Inharmonic Partials.
A further leap forward is also possible by introducing inharmonic (not harmonically related) partials which are not whole number relatives, but partial numbers such as x2.5 for example, we can then create some really unusual sounds, such as percussion, bells, metallic sounds and some quite “other worldly” effects, we end up with sounds that are sometimes like ring modulation and some that are beyond what we can do with a ring modulator and two VCOs.

If you want a really in depth explanation of the principles of additive synthesis (warning: there’s a lot of advanced maths in this article- think Fourier analysis) then have a read of this Wikipedia article on the subject.

In the next post I’ll start to delve into how we can achieve some of this in Synthedit.