Synthesis College

Part 2

In the last part of the synthesis tutorial, we started building a subtractive virtual analog synth. We got it to a point where it is functional, but various minor features can be added, greatly improving the synth's sound pallete and versatility. In this part we will go ahead and make these improvements, and afterwards organise our synth's front panel, add our own background gfx and wrap it as a vsti instrument.

Let's start by opening up synth edit and loading our project. If you haven't gone through part 1 and want to skip forward to this part, you can download the project file HERE. A reminder also that synth edit itself can be downloaded via www.synthedit.com.

Ok. First thing, to make this synth have a wider, fatter sound let's add some more oscilators. Either copy and paste your current oscilator twice, or pull out two oscs from the waveform menu. Now copy and paste your waveform selector (list entry) from the first oscilator twice, and connect one to each of your new oscilator's waveform input. Also, connect the incoming midi pitch to the other osc's inputs.

We will now add an option to chose diffrent octaves for each of the oscilators. This will allow us to play broad layered sounds with each note we play. Go to the flow control menu, and drag out a module labeled switch (many->1). Now, from the controls menu drag out three slider modules. Connect all of these sliders to the switch module's spare input. Notice that as you connect each slider, a new spare input is opened. This way the switch module can be used for as many connections as desired, in our case three. Each time you connect, make sure you connect to a new spare input.

After connecting the sliders, right click on one of them and go to its properties menu. Change the "Title" to "0", Lo Value to "0" and change the "Appearance" from "Vert Slider" to "Button". This button will be the nuetral position of your octave selector, playing in the same octave as you play your midi notes. Now go to the second slider. Title it "+1", set lo value at "1", and again change the appearance to "Button". Setting the octave switcher to the "+1" position will play the oscilator at an octave above what your midi notes. Move on to the last slider, title it "-1", change lo value to "-1" and appearance to "Button". This position, as you probably guess already, will play the oscilator at an octave below your played midi notes. Right click on the switch module and go to properties. Name each choice slot according to the button attached to it. You can also title the switch "Octave" or something similar.

One more thing we need to do is go inside the switch module's properties, and label each input "-1,0,+1" according to the button attached to it.

We would like each of our oscilators to have its own octave selector. we can do this on our main project window by creating a set of buttons and switch for each oscilator. This way is perfectly fine, but in order to keep things neat, and to learn how to work with containers we will place the octave switcher we built inside a container. Right click on your project and insert a container from the main insert menu.

Highlight the switch and the three connecting buttons by dragging the mouse over them, or by clicking each one while holding the cntrl key. Once highlighted cut them (cntrl-x). Right click on the container module and go to its structure.

Paste (cntrl-v) the octave switcher modules in the container's structure.Notice that inside the container structure you have a small module titled IO Mod. This is the way the container recieves input and sends output to other modules. Connect the switch module's "output" and "Choice" to the IO Mod's spare input. Take care to connect to a new spare input, just like we did earlier with the switch module. You can now close the container's structure and go back to your main project structure.

Notice your container now has a "Choice" input and and output. Bring out a "List Entry" module from the "Controls" menu and connect it to your container's choice input. Notice how it automaticaly offers the 3 choices offered by the switch module: -1, 0, +1.

Now you can connect your octave selector container and choice to one oscilator, and copy/paste and then connect two more octave selectors for your other oscs. Notice that at this point we already have a lot more going on in our workspace than last month. You can start organizing it to keep it simple and effective for your mind and eyes like I have done in the next screenshot.

We can further enhance our control over pitch by fine tune control over each oscilator's pitch. By bieng able to detune one or more oscs we gain more control over the tonality of our synth as well as fatten it up further. Insert a slider from the controls menu and attach it to the first oscilator's pitch input. Right click on the slider, change title to "fine". The low and high values determine the range of the knob, in other words how much detuning is possible. You can experiment with diffrent settings, but usually low values are used. Set "Lo Value" to "-.01" and "Hi Value" to "0.1". Now make and then connect the same "Fine" sliders for your other two oscilators.

The last thing we are going to do in regards to pitch is add a pitchbender. Synth Edit has a ready made pitchbender module. Drag a pitch bender out of the controls menu and connect its output to the pitch input of all three of your oscilators.

Now that we have three oscilators, we surely would like to be able to control each osc's volume seperatly. Insert three VCA modules from the modifiers menu. Disconnect your first oscilator from the filter and connect each osc to one of the VCA module's signal input. Open three slider modules and connect one to each VCA's volume input. Now connect all threeVCAs to the filter's signal input.

On to the filter then! We are going to make an LFO and have it modulate the filter cutoff (pitch). LFO stands for Low Frequency Oscilator. It is an oscilator that outputs values swaying at different speads acording to the pitch of the oscilator, and affecting whatever it is attached to by a degree determined by a slider and a mulitplier. Lets make some sense into this by opening an oscilator fromt he waveform menu. connect a slider to the pitch input, enter the slider's properties and title it "Rate". In order for the LFO to function in the classic manner, we will need to limit the range of the rate button (the speed of the lfo). In one of the examples synth edit comes with, they set the low value to "-5" and the high value to "1". We will do the same as well, but these values can be experimented with.

Once done with that drag a list entry module from the controls menu and connect it to the waveform input on the oscilator. Insert a multiplier module from the math menu. Add a slider and connect it to the first input on the multiplier, right click on it and in the properties title the slider "Amount". Now connect your new oscilator's output to the other multiplier input.

Connect the multiplier output to the filter's pitch input. You now have the filter's pitch button controlling the cutoof frequency in a linear fashion and an LFO for creating variations in the filter's cutoff. When the amount knob of the LFO is turned all the way down, it is in its "off" position.

Just before we move on to setting up the panel, we are gonna add pulse width control and portamento. If you look on each of your oscilators you will see and input labeled "Pulse Width". Pulse width control on each oscilator is only enabeled when that oscilators waveform is set to pulse. When set to pulse, the width knob controls how wide each pulse cycle will be. Insert three additional sliders and connect one to each oscilator's pulse width input.

Portamento control allows for a synth to gradualy glide from one sent note to the next without actually defining the intermediate notes, rather than abruptly shifting to the new note when one is pressed. In Synth Edit portamento is easily achived. Just open up another slider and connect it to the portamento time input on the midi to cv module. When set to zero, there will be no portamento at all and the pitch will change normally from note to note. The higher the setting on the portamento knob the longer the pitch glide from note to not will be.

Whew! Done with the sound stuff for a bit. Moving on to the front panel layout. Right click on your project and chose "Panel Edit".

You'll see all your diffrent sliders and boxes in one big mess, with generally no way of knowing wich volume knob belongs to wich osc and so forth.

Start organising the mess by first going back to your structure and naming every slider with the apropriate oscillator or other component it relates to (in fact, in the future you should label each module with the appropriate oscilator set it belongs to as you work. Saves time and effort).. For instance, title the volume slider for the first oscilator "vol1" the second "vol2" and the third "vol3". Proceed and do the same with the fine, pulse width, waveform choices and octave selector for each oscilator as well. You can perhaps also rename the filter's pitch knob to something more familiar like "cut" to avoid cunfusion. After doing that you can then go back to the panel window and start grouping related sliders and boxes. Right click on any of your sliders. Looking in the Appearance list you see there are various choices of graphics and typs for your slider. Buttons and sliders do diffrent things, but you an change the slider appearance to a knob, small knob or other type of slider. Choice of slider gfx is really up to you. You can leave it all as it is, use smaller knobs for lesser used functions such as pulse width, change all to small knobs , etc. I will use vertical sliders because they react in a simple, predictable up-down fashion - but it is really up to you.

In order to wrap your synth as a vsti plugin you need to first select by draging and highlighting with your mouse the entire structure of the synth (all the modules on the structure window). Then, with everything highlighted you go to the main edit tab on the top bar and chose "Containerise Selection"

Right now alll you will see on your main structure is your synth container. Right click on it and go to the structure. All of your modules are in there, but you will also see a new module inside your container called "IO Mod". You have already seen this when we built containers for our octave selectors. What we will be doing in a minute is wrapping the container as a vsti instrument. This IO Mod serves as the means of communication for the between the vst host program and the synth, so we need to disconnect and delete the "Midi In" module and "Sound Out" module from our project. Connect your main VCA to the spare of the IO Mod, and the midi in from your Midi to CV to the 2nd spare that opens up.

Don't forget to give your container a name (right click, properties, title). This name will appear in your vst host program when you insert the instrument in a channel. It is also very important you size your panel window neatly around your synth. Whatver you see in your panel window is exactly how the synth will look in your vst host program. Four pictures back is how it should be, and following is how it should not:

Go to the main File menu and chose "Save As VST". You will get a menu with some fields to fill out: a name for your synth, the actual *.dll filename, vst identifier, specify if the plugin is a synth or effect (vst or vsti plugin, in our case vsti), and you can also add some comments in the info field.

Press OK when you are done, and that's it! Your synth is exported as a vst plugin. (Synth Edit may give you an error saying it can't find the directory. If this is the case go to your synth edit folder and create a folder called "vstplugins"). Copy your *.dll file to your vst host's vst plugin folder, and you are ready to use it.

The structure and panel as you see them in the above final screenshot are available for download HERE

In this 2 part tutorial we learned the basics of modular environments, and built a basic synth. You now know how to use synth edit and build most of the basic chains involved in moduler patching. You can try yourself to improve this synth - build another LFO and attach it to pitch, build an ADSR for the filter, add 17 oscillators - possibilities are endless. Try out and have fun.