Designing a modular synthesiser Part 1: Getting started with oscillators.Follow article
This journey began while conducting research into the developments in virtual analog synthesis. Virtual analog synthesis is a field of study that focuses on sound generation and filter methods, with the goal to improve the realism of digital waveshapes. Before diving into the algorithms and programming my own virtual analog synthesiser I first had to ask myself how does a hardware synthesiser work? More specifically, how does an oscillator produce the classic waveshapes we are all used to hearing? A quick browse on the internet will show that oscillator circuits can be either too complex to develop at home, or too simple to be practical in a musical application. I wanted to find the middle ground, Something stable with traditional western tuning that could be used in a musical setting.
Over the next couple of posts, I am going to share what I learned as we take a look at implementing a basic oscillator circuit, with several improvements being made on the base design. Improvements such as fine-tuning capabilities, op-amp buffers and amplifiers, control voltage, pulse width modulation and temperature control measures. Eventually, we should have a fairly stable oscillator, like the one seen in the video that can easily stay in tune and be included in a modular setup.
Finding a starting point:
As I mentioned before oscillator circuits can get incredibly complicated, just take a look at these drawings by Robert Moog. The schematics drawn by Robert Moog pioneered the modular synthesiser as we know it, so replicating some of his designs would be costly and time-consuming. On the simpler side, we have the Atari Punk console.
The Atari punk console is a stepped tone generator, and it does just exactly that, as you increase the pot it steps through a series of notes, resembling an 8-bit square wave synthesiser. While this is a fun project it lacks features found in off the shelf modules, features such as temperature compensation, Op-amp buffers, Op-amp amplifiers, weighted voltage divider inputs and outputs and lastly, control voltage for sequencing.
After scouring the DIY forums I was introduced to the 40106 IC which seems to be a favourite within the DIY community offering lots of scope for customisation. So, let’s have a look at implementing a 40106 oscillator.
The 40106 IC is a Hex schmitt-trigger inverter. A hex schmitt-trigger is a comparator circuit that provides hysteresis. Hysteresis means that the input signal is compared with two voltage threshold values, a low and a high threshold, To which the voltage threshold is set by the supply voltage of the 40106 IC, this is essentially a logic gate outputting a square wave. To turn this logic gate into an monostable oscillator only two components are needed, a resistor and a capacitor.
Figure 1 shows the basic astable oscillation provided by the manufacturer. It will be assumed that the capacitor (C) is fully discharged, meaning a voltage of 0v is at the input of the trigger. This meets the minimum threshold of the inverting input causing it to turn high, the output now registers 5 volts. The resistor (R) in this schematic prevents feedback as the voltage drop across the resistor charges the capacitor. Once the capacitor is fully charged and the maximum pressure is met, it discharges to ground and therefore the input again meets the minimum threshold, producing a single cycle oscillation.
Figure 1. 40106 Astable multivibrator. Squave wave configuration
Figure 2. The resulting fixed frequency output of the 40106 square wave schematic captured by the RS Pro RSDS 1052DL+ oscilloscope
A slight modification can be made on the datasheet to produce a sawtooth waveshape. The discharge by the capacitor in figure 1 is instantaneous as it meets no resistance to ground. Modifying the same principle as above a diode (D1) is added in place of the resistor, this prevents negative feedback voltage. Yet again the inverting input meets its low threshold and switches, the capacitor (C1) charges, but this time it will now flow to ground via a resistor (R1) when the maximum pressure is met at the inverting input. The capacitor now meets resistance and depending on the resistor value the discharge can be much slower, causing an instantaneous ramp up and gradual decline in our single cycle oscillation, Which can be seen in figure 3.
Figure 3. Sawtooth configuration
Figure 4. The resulting fixed frequency output of the 40106 Saw configuration
To power the design a dual power supply is needed, with an output of -12/+12v, this is the standard voltage on most modular setups and the 40106 is more than capable of working in this threshold.
The values for the components and parts needed to create a sawtooth oscillator are as follows:
- R1 - 10k resistor
- C1 - 2.2nf Polyester capacitor
- D1 - 1N4148 diode
- 40106 IC
While not completely necessary an oscilloscope and multimeter can be useful tools when debugging a prototype circuit.
- RS Pro 2205A 2 channel oscilloscope
- RS Pro RS14 digital multimeter
We now clearly have some nice oscillations happening, so why don't we listen through a speaker? Well, first we need to add proper impedance matching and amplification. Unless you enjoy the sound of high pitched drones that is. Anyway, this post is starting to become quite lengthy so I am going to end it here. A lot of ground was covered on the very basics of this project. We are going to come back to the basics in future instalments with more detailed photos of setting up the breadboard. However, In the next part, we are going to look at op-amp buffers and changing our oscillator from a fixed frequency oscillator to a variable one.