BUILDING A SYNTHESIZER FROM SCRATCH

10/30/2022

This project got started the summer of 2022 when I got really into analog circuitry and additionally realized I would not have enough money to buy my own synthesizer for several years. I stumbled upon the Youtube channel of Moritz Klein, a synth hardware designer who makes educational videos on synth circuitry in his free time. This inevitably lead me down an endless rabbit hole that I may never escape from. Since then I have spent endless hours researching oscillators, exponential converters, ladder filters, SR-latch envelope generators, etc and I have learned a lot about audio hardware. This page will be a tome to my learning and plan to update it regularly. Let's jump in!

STEP ONE: THE VCO

When it comes to synth hardware, probably one of the most vital circuits is the Voltage Controlled Oscillator, or VCO. As the name implies, the VCO is an oscillating circuit whose pitch can be controlled by a voltage input. VCO's usually offer sawtooth, square, and triangle waves as standard base waves. This task is relatively simple, but trying to build a robust VCO with consistent tuning, wide range, and accurate voltage control turns out to be quite a difficult task. This is something I learned the hard way.

4069 VCO schematic mine was based off of.

The first guide I followed was Klein's VCO video, which is based off of Rene Schmitz's VCO 4069. I quickly learned that Schmitz's website would be a prime resource for synth circuit learning: it contains many different circuits for just about every essential synth part. This VCO is based off of a 4069 Hex Schmitt Trigger CMOS chip, a pretty classic chip in the DIY synth scene. It is comprised of three main sections: The input processing, oscillator, and wave shaper. The input processing sums each of the several voltage inputs, and then sends them to the exponential converter. Because musical pitch is exponential and per the V/Oct standard one volt corresponds to one octave, the converter must turn the linear voltage to an exponential current for proper tracking. Next is the oscillator, it takes the current and spits out a sawtooth wave. Finally is the wave shaping, which converts the sawtooth to a square wave with pulse width modulation. The circuit is pretty straightforward, but I couldn't get it to work and I had issues with its thermistor temperature compensation.

Common exponential converter transistor setup.

The main reason I moved on from this circuit is because I coulnd't get the exponential converter to work with the 4069. I think the issue was a poorly matched set of transistors, but regardless I got stuck. So I abandoned the converter and went off to research the circuitry. I learned that this circuit's converter is rather unusual for using a PNP and NPN. Most converters I found used matched NPN or PNP transistors to convert the linear voltage. The next thing I tried was just swapping the converter from the original with a version of this one, which worked fine. The V/Oct tracking wasn't great and the circuit only uses one trigger alongside a whole bunch of opamps. When I tried to scale this circuit up to utilize all six schmitt triggers, I quicly realized the circuit became way too big to use. I decided to move on to a different circuit.

The final schematic I went with, built around a 555 timer.

At this point, I'd discovered Schmitz's website and was looking through his VCO designs. After considering the viability of each one, I decided to build his VCO 2, a 555-timer-based VCO with a pretty simple schematic. After about two weeks of troubleshooting and trying to understand the circuit, I finally got a working VCO with a square and saw wave output, decent V/Oct tracking, and a sensible count of chips! Next, I decided to take the circuit off the breadboard and build a stripboard prototype. I've considered designing and ordering an actual PCB for this circuit, but because most PCB outfits require an order of at least 5 or 10 boards and I really have no need for that many, I'm gonna wait on doing it the proper way until this project is a little more concrete. So instead I sketched up a board layout I was happy with (I did this on paper, I just couldn't find a decent stripboard layout software), I soldered it all together! Of course, it didn't work right off the bat and I had to do some troubleshooting, but eventually I got it working as expected. All that's left now is to cut some aluminum for a faceplate that I can screw into a synth rack.

STEP TWO: ENVELOPE AND VCA

Schmitz's VCA circuit I used for my synth.

Now I have an oscillator that can be tuned and used to play melodies, but there's a pretty glaring problem with it: It's always on! I don't have any system for actually triggering the VCO on or off by presisng a button or hooking up a sequencer. I need a Voltage Controlled Amplifier or VCA to gate the volume on or off. The VCA is pretty simple, it's just a voltage-controlled volume knob that I could hook up to a gate signal to control the volume like a piano key. Again, I turned to the Schmitz page for this. His VCA design is also a pretty common one, based on that same matched transistor pair to allow for a voltage control of the signal. VCA circuits tend to be pretty straightforward, and all the other components are just input and output formatting, with the other three transistors just processing the CV to work properly with the amp. The opamp similarly just serves as an output buffer. I've got this circuit on my breadboard right now (11/2/22) and it works well, although it doesn't seem to completely silence the signal at CV 0V, so I will experiment with it further before putting it on a board.

The convenient thing about this design for my purposes is that it only uses a single opamp, which for most opamp chips means that there will be at least one unused amp. Schmitz accounts for this by using a single-opamp chip in his design, but I don't have anything like that on hand so I ended up using the classic TL072 chip. To take advantage of this, I decided to build an envelope generator with the second opamp and let this module be a two-in-one VCA-Envelope because the two already pair together quite well.

An envelope generator takes in a gate signal and converts it to a more complex four-stage signal. It smoothes out the rising edge of the gate into an "attack," then immediately goes into a falling "decay" until it settles on the "sustain" level. I will stay at its sustain level until the gate is released, then the falling edge of the gate is converted into a "release." This allows a gate signal to produce a much more musical control voltage and can imitate the sharp attack and slow release of a guitar string, or the schmultzy slow attack and release of a bowed violin, etc. This is an essential function of any synthesizer.

Schmitz's 555-based ADSR envelope. One opamp, yay!

Surprisingly, the envelope is probably one of the simplest circuits to build yet. The most basic form, which just has an attack and release, just charges and discharges a capacitor through two diodes to separate the two stages. To implement a decay and sustain, an SR latch is often used to control when the circuit enters its decay phase. Schmitz's schematic uses the SR latch inside the 555 timer (alongside its other features) to do basically all of the heavy lifting, and the rest of the circuit is just resistors, transistors, and pots for controlling the ADSR. Perhaps most importantly, the circuit only uses one opamp! This means I can build it on the other side of the TL072 and have a nice combo module for my synth. Also, the two circuits are so simple I might be able to fit it onto a tiny stripboard and save some space (although all the knobs and patchcable sockets may foil my plans). This is my final plan, and once I get that issue with the VCA fixed I'll put it all on a board and be finished with a good chunk of this synth!