Symphonique 1


Now this was quite a fun project with a surprisingly good result, if I may boast a little :)

This is a fully analog DIY strings synthesizer, using digitally controlled 16 sawtooth oscillators, 2 low pass filters and 2 analog choruses. Everything is doubled for a fully stereo signal path which gives it a nice wide and open sound.

I'm currently designing a standalone MIDI module version of this project, with the eventual goal to sell these.
Keep an eye on my Youtube channel for the latest updates.

Youtube video: watch it here.










The Code



The firmware for this synth is probably as basic as you can get, since most of the magic happens in the analog realm.
I used an Arduino Mega so I had plenty of IO available, since it needed to drive 16 oscillators and a couple of PWM signals. In the module version I'm using an Atmega32, which is turning out to become my go-to MCU for these kind of projects.

First thing the MCU needs to do is scan the keyboard matrix or process the MIDI input, both topics that have been covered a lot by other people so I'm not going to go into those here. Plenty of tutorials on the web already :)

The MCU sends out 16 pulse signals. These pulses are generated by very basic wavetable oscillators. The tables themselves are very short and consist only of booleans since the signal only needs to be high or low. The reason for all this is a little... lesson in trickery, if you will:
By having the pulse signal programmed in a table I can create all sorts of pulse-patterns to trigger the analog sawtooth oscillators with. This way I can very easily create different tones without making things complex. Take a look at the schematic below and see if you can figure what kind of effect multiple pulses of various widths would have.
There's nothing much special going on otherwise, look at some Arduino DDS synthesis tutorials if you want to know how wavetable oscillators are implemented.

The 2 low-pass filters and VCA's are both controlled through PWM, driving an LED + LDR vactrol. See schematics below.
Envelope-wise it's all very basic, just attack and decay, since I wanted to keep this synth straight forward and easy to use.



Schematics


The voices:

This is a basic 2-voice schematic of the string synth, excluding the chorus. The chorus comes after the VCF and before the VCA, but is optional.
The analog oscillators are digitally controlled by pulses send from an Arduino or other MCU. These can be single narrow pulses for a standard sawtooth waveform, or various pulses of various widths to create more interesting sawtooth-ish waveforms.

The chorus:

The chorus is made with a fairly standard PT2399 circuit called "the Little Angel".
I did change some values to my own taste, but alas I haven't written down anything, so I'll have to reverse engineer some things.
That being said: I encourage you to experiment with the LFO speeds as this changes the effect quite a bit.



Copyright 2021 Evil Turtle Productions. All Rights Reserved.