Close

VCO, VCA, VCF

A project log for Cello-like, mostly analog synth

Cello with bow and strings, though creating all sound electronically, in 70's synth way

jaromirsukubajaromir.sukuba 10/04/2018 at 22:460 Comments

Because VCOs in analog synths are notorious for their instability and sensitivity to temperature, humidity, supply voltage and all other influences you can imagine, I decided to cheat here and use microcontroller here. With microcontroller, the output frequency is derived from local crystal driven oscillator, so I had one less thing to worry about.

Also, this is the only part of instrument I designed single purpose PCB for, so have electronic documentation for it. For all other blocks are hand-drawn schematics all I have.

Nothing surprising here - PIC32MX150F128B is driving pair of CS4344 stereo DACs, outputting 4 mono outputs in total. SPI interfaces of the PIC are brought to I2S mode and interrupt routine is feeding the DACs with increasing value, being reset after a while - creating sawtooth waveform, available as output of four separate oscillators on pinheader JP4.
Pinheader JP4 is populated to bring out analog pins of the MCU. Those analog inputs are used to steer oscillators inside the PIC. JP1 is used as ICSP header, JP3 being unused by now.
Schematics and board files in eagle 6 format, as well as PDF schematics and sources are available in files archive of this project.

VCA and VCF blocks will be somehow more amusing, using tactical ninja of all analog synths - LM13700.
This is how it looks for one channel, meaning this has to be copied four times for four VCO outputs:

It contains two halves of LM13700 in more-less databook application. It is powered by symmetrical +-12V. LM13700 is great chip and makes non-trivial tasks quite easy, though replicating this circuit four times on protoboard is rather daunting task. In order to minimize chance of mistake, I tested out the circuit on breadboard and measure its transfer across audible range.

Having all three VCx blocks is fine start for instrument, but it still lacks control circuits, translating players command (bow speed, bow pressure or "string plucking") into waveforms to control those blocks.

Discussions