Synthesis College

Part 1

When you play around with analog or software synths, they may seem mysterious and magical but in fact, most synths incorporate similar ideas and methods. If you udnerstand the basic ideas of synthesis, and the concepts behind synth design you can further enhance your skills as a musician. In this multi-part tutorial we will discuss the principles of synthesis while building our own vst synths. This tutorial assumes you have played around with synthesizers and know a thing or two about the "musical" aspect of synthesis.

To follow the examples and build your own you need synthedit. The current versions are available for free download at www.synthedit.com

In this issue we will go right ahead and talk about various basic building blocks (and how they interact) of many common synth designs classified as "subtractive synths". A subtractive synth is called that because the sounds are achieved mainly by subtracting frequencies from a module called an "oscillator" using various techniques like filtering for example.

The original term "oscillator" was derived from analog circuits. When voltage is driven through certain electronic circuts it spins, meaning the current is swaying such that it produces audible frequencies. This spinning is called oscillation. In fact, all atomic structures have a set oscillating frequency, even the earth's oscillation (spinning) causes a resonance of 7.84hz (inaudible). The digital oscilators mimic this process and generate audible frequency tones. Right click on your empty project and go to insert. This brings up a sub menu with the various SE modules grouped by thier function. Go to waveform and chose oscillator. This will bring up an ocillator, and you now see the osc module on your project. Notice the various inputs and outputs labeled on the module. The inputs are used to control the oscillator's behaviour and the output passes on the audio results.

In order for our osc to know what frequency (pitch) to produce we need to connect the pitch inputs to something outputing values. If we are going to want to play notes using this oscilator then we will need to connect the pitch to a module that can recieve and pass on incoming midi data. Right click on your project and choose Midi to CV from the MIDI submenu. Right click once more, and choose midi in from the midi submenu. Drag the mouse to connect between the midi in's midi data output to the Midi to CV midi input and connect the pitch output of the Midi to CV module to the oscillator's pitch input. The oscillator will now be receiving notes (pitch) from your keyboard or external sequencer.

If we don't tell the osc when to start and stop playing, and for how long it will just make a continues tone without volume changes and without stopping. We want it to start each time we play a note and we want to be able to control how loud the tone is when we hit the key, while we hold it down, and after we let go. By being able to control these parameters dynamicaly we can mimick the way variousacoustic instruments and "natural" sounds change thier volume when we play them - for instance, a violin string's volume is slow to rise and slow to fall in comperison to a kick drum's sharp volume as it is hit and sharp drop back to quiet. right click on your project again and insert ADSR from the waveforn submenu. An ADSR is a type of envelope and is used to dynamicaly control various synthesis functions. When you route an ADSR to control a paramater you are essentialy giving it a "curve" that changes the value of the parameter . You define this curve using four points - Attach, Decay, Sustain, and Release. An aditional input called "gate" tells the evelope when to start running the curve and for how long, (in our case each time a new note is hit and how long the player is holding it down). Connect the gate output of the Midi to CV module into the gate input of the ADSR.

Now right click on your project and insert a slider from the controls submenu. Connect the slider signal out to the ADSR attack input. Insert 3 more sliders and connect one to decay, one to sustain and the third to release. The last input is for the overal level of the ADSR - in our case, it would be the overall volume of the tone. Insert an additional slider and connect it to the overall level input on the ADSR.

The ADSR in itself is just an envelope and is only used to control a paramater. For the ADSR to control the osc's volume we need to use an amplifier together with the ADSR. Insert a VCA from the modifiers menu. A VCA module stands for "Voltage Controled Amplifier" and it does just that - mimicking an amplifier. Connect the osc's audio out into the VCA signal input and the output of the ADSR into the volume input of the VCA. Your ADSR envelope now officialy controls the volume of your oscillator.

 

Right now, if you connect the audio output of the VCA module you got yourself a functional synth, but with a very limited range of sounds, and pretty limited control. Let's enhance this a bit by adding a filter module. A filters job is to receive an audio input and based on the filter settings output only some of the frequencies. The filter that we are goign to use is called a "low pass" filter. It works by letting only the frequencies to the left of the filter's "pitch" input pass to the output (most programs call it cutoff or frequency but techically it is also correct to call it pitch). The filter analyzes the incoming input and based on the design of the filter, audio is passed to the output while becoming softer in volume as it approaches the frequency at wich the knob is set at. This is called the filter's "slope". The filter module we ae going to use is called a "moog filter", implieing the slope is set to 24db per octave.

Go ahead and insert a moog filter module from the filters submenu. Notice the filter module itself has no volume input. The simplest way to control the overal volume of the synth without adding more modules, is to insert the filter before the VCA. That way, our "overall volume" slider on the ADSR will serve as a master volume for our synth. Disconnect the VCA's "signal" input from the oscilator. Connect the osc "audio out" to the filter's "signal" input, then connect the filter "output" to the VCA "signal" in. Now insert two more sliders (you can also highlight an existing slider module from your project and copy it - cntrl+c then paste it - cntrl+v). Connect one slider to the filter "pitch" and one to "resonance". Resonance, in a very simple manner of speaking, raises the volume around the value of the "pitch" slider. When you increase the resonance value, volume increases around the center frequency, but the higher the resonancse value is, the range of the area boosted covers less frequencies around the center. Some types of filters reach what is called "self-oscillation". It means that with the resonance value set all the way up, the filter produces its on audible tone, at the frequency of the "pitch" knob.

 

Lets take a minute to disccus the oscillator again. When we talked about oscillators, we mentioned that current driving through an electronic circut is the basis for the term. The part of the circut the electricity passes through to make the sound is called a "waveform". The elecricity would pass through these waveforms, flowing in positive to negative electronic waves and form repeating "cycles" of audible sound corresponding to the selected waveform. A cycle is essently one current pass through the waveform from positive electoronic values to negative, hence one crossing of the 0 value on the X axis of a wave editor is one pass. In fact, you can say any sound we know in nature has a waveform. If you take any sound, and analyse it in a wave editor, you will see it is built of waveforms - coming in many shapes and lengths and often changing in shape very rapidly. Longer cycles produce lower bass frequencies, and faster cycles produce high frequencies.

a complex waveform

Oscillator modules like the one we are using useally allow you to choose between a number of simple "mathematical" waveforms. Many of these are traditional waveforms used every since synths have been around like the "sine", "square", and "triangle" for example. The names correspond to the shape of the sound as you would see it in a wave editor.

Notice on your oscillator module the green "waveform" input. In synthedit, green input are to be conected to the list entry module. Bring one out of the controls submenu and connect it to the osc's waveform input. You will notice that as soon as you connect the modules, choices of waveforms apear on the drop down menu of the list entry module. These are your choices of waveforms on this particular oscillator.

Right click on your project again and insert a sound out module from the Input/Output menu. Connect the VCA's output to the sound out's 1 and 2 inputs. Your synth should now be responding to incoming midi and all your sliders should function.

The structure for this part of the tutorial as you see in the above final screenshot is available HERE. In part 2 of this tutorial we will learn how to improve this synth by adding some more oscillators, improving the filter and adding more ways to control our synth. We will also learn how to organise a panel, and save our synth as a vst instrument.

---> PART 2