Building a Digitally Controlled Analog Synthesizer

In '95, when I was 20 years old and had completed the first 2 general
years of engineering study, I decided to specialize in electronics for
two reasons: I thought I was a good enough programmer to not need a
degree in computer science (the arrogance!), and I wanted to learn
more about electronics to design and build an analog synthesizer.

Studying electronics, I gravitated towards digital signal processing,
away from the analog electronics that lured me in.  The pain induced
by writing signal processing code in C/C++ turned into a motivation to
spend a some years on study of programming language theory and
compilers, far away from electronics.

So now, going into 2011, a little over 15 years after the initial
decision to get into analog electronics I am getting into analog

This blog is a spin-off of a more general electronics[1] blog, and
comes with a collection of circuits to be found here[2].

[1] entry://../electronics
[2] http://zwizwa.be/darcs/analog

20200618 Damped exponential
Impulse synthesis
How many pulse width modulators are there on the f103?
Good pitch measurement
Dumb stuff
20200617 Root finding
20200616 Review
20200615 Vactrol
20200614 Interference
20200613 Custom algorithm.
synth control midi
20200609 Calibration
The measurment
20200608 The control system
Just the CV converter
Top side current sources
20200607 roadmap
Lock step control update
20200606 Practical: next?
More about the wavetables
20200604 Discharge
Power supply filter
PWM output
Summary of today's work
74HC14 as Schmitt trigger for oscillator
20200603 Hard sync
Typical balanced signal?
20200520 input buffer
20200519 cmos fuzz
Bazz Fuss
Offset fuzz
20200517 LM324 crossover distortion
Fuzz vs. Distortion
Analog switch chips
Frequency feedback
Hooks for pots
Distortion plug board
20200516 Frequency estimator
Final architecture
20200513 Diode VCA
20200512 VCA
Fixed EXTI priority
Hex inverter
balanced output
Components and ranges
Schmitt Trigger cont
Feedforward only
slow opamp
Schmitt trigger + Saw
MFB filter
Use two opamps
20200511 PDM asymmetry
Second breadboard
Parameters & requirements
Modulation filter
20200510 Transistor
20200509 sm32g4 board
20200508 VCA
Debugging filter
Optimized TB
A/D envelopes
20200507 reviving embedded synth work
20200429 zapper.txt
20200421 909 kick
20200127 Switch to STM32F103
20190504 STM32 controller
20190421 Drive LM13700 input diode directly?
EIDAC revisited
STM to board interface
Power supplies
For the EIDAC?
Make prototyping more incremental
20190419 Paralysis
Synth host
EIDAC review
VCA / Env
20190418 First circuit
PIC setup
20190415 Synth
20190414 MicroBrute symmetric pairs
Building a synth
Microbrute schematics
What to do with the PICs?
Clean square
20190217 STM32
20170611 Analog and PIC
20170603 PIC synth
20170602 Analog synth: use PIC or ARM?
Synth: permanent setup
20160424 LM3046 replacement for CA3046
20160217 VCF tweaks
disable gschem logging window on startup
20160216 Spice BJT models
20160215 spice
20160213 Hybrid
20150110 Next
20141104 Spice
20141024 KiCAD
Designing board
20141022 Euororack dimensions
20141016 I want to twiddle knobs
20140910 Dinosaur den - analog synth
20140614 MCP6244 GBW 550kHz
20140611 Envelopes
Capacitors for audio
20140608 Off the charts..
4 pole single ended diode filter on breadboard
Diode ladders vs. single leg
20140531 Diode filter pinned between voltage and current source
20140530 Current mirror BCV62 (PNP) / BCV61 (NPN)
20140529 Coupling signal/feedback into the filter section
Building a filter
25 x CA3046 arrived
20140528 digital envelopes
Calibrated analog?
20140527 Digging in the old box
Feed V_BE back to ADC to serve as thermometer
20140526 temperature and v_be mismatch - final words?
CA3046 vca
How to tune with trimpots?
Updated to non-inverting ST
Inverting / non-inverting Schmitt trigger
Real modular?
Maxim DACs
Current modular
20140525 Kalman filter
20140524 Synth arch?
20140523 VCA
Thermally coupled NPNs
Parallel DAC vs multiplexer
Biasing OTAs
20140519 Discharging a cap from 3v3 using a PNP
Multiple control voltages
20140518 About that PMOS
20140517 What needs to be done
Low side charge?
20mA is too much
Capture / Compare
ISR: one or two comparators?
2N7000 R_DS on
Capacitor / current dimensions
Comparator + software discharge
Looking for a good ISR structure on PIC 18F4550
20140516 1/3 DAC and 2/3 DAC_REF ?
20140512 Current Mismatch
20140511 Transistor array
Two coupled NPN 2N3904 transistors + resistor divider
For thermally coupled transistors, what else is necessary?
Is offset still temperature dependent?
EIDAC calibration
20140510 exponential IDAC (EIDAC)
20130808 M-audio fasttrack pro
20130529 i3 Detroit Public : Analogue Synth Brainstorming
20121216 Exp converter
20121114 UMA25S + GEM S2
General Music (GEM) S2
20121110 Scanned synthesis
20121104 UMA25S
Test setup
Cleaning up digital out
20121009 Alsa MIDI using BCR2000
20121008 18F2550 serial input
1220 broken
20121005 Follow the Joy
20121004 Platforms
20120930 Relaxation oscillator
20110206 Next
20110118 CEM3320
20110117 Prophet 8
Chopper techniques (Envelope?)
Charge controlled LED
20110116 OTA SVF
20110114 Home made PCBs
The Korg MS20 filter and reverse saturation transistors
20110113 Non-oscillator feedback
Analog calibration
Synth requirements revisited
Analog synths on the market
SVF, freq through feedback?
20110112 Approximate PWM
Synth: just build it?
Prophet 5: A/D and D/A resolution
2-Scroll modified SVF
20110110 Analog control voltages
Evelopes again
20110109 Stacking headers
Modular system
Moog VCF: current input differential stage.
Env mod: add or multiply
RF envelope generator
Differential amplifier offset
Envelopes: problem is offset
Envelope: One pole variable filter using OTA.
20110108 Random non-tested circuit: Ladder integrator
No analog synths without OTAs!
20110107 Voltage controlled envelope using exp converter
FET voltage controlled resistor
BJT current controlled resistor
RC-decay envelope, FET controlled?
Other controllers
Exact frequency sawtooth w. approximate amplitude
20110106 Nonlinear control
Practical experiment.
Compensated Sawtooth Oscillator
20110105 Simply dirty exponential converter
20110104 The analog synth myths
20110103 Simple headphone guitar amp
The simple 1-st order SD
Class D / Sigma Delta lit
20110102 Gilbert cell multiplier
20110101 Synth: the real problem
The integrating AD
Minimal digital processing setup
SVF experiments
Diode ladder chirps
20101231 Staapl test circuit
Staple FETs
20101230 Next analog experiment
20101226 Current conversion, frequency feedback
State variable filter
CD4049UBE current mirror
20101225 PWM/SD and clock jitter
1/2 range Sigma Delta
Current to frequency converter
PIC comparator output
Combinations of dithered Sigma/Delta and PWM.
Dithered PWM
20101224 PWM expo
PIC-controlled hybrid synth
SVF time constants
Exponential converter
Simpler discrete SVF
OTA output current mirrors
20101223 Questions
OTA mismatch: diff pair + current mirror
Transistor matcher
OTA nonlinearity
20101222 Pot tapering - does it actually work?
SVF dual antilog pots
20101221 Inductors for LED driver
20101220 1-pole ripple: PWM vs SD
Futurlec transistor arrays
Distortion board rev1
Digitally compensated exponential converter
Next step
20101219 Modular system
Peak squashing
20101218 PWM resistor
20101217 The variable gain/resistor problem
20101213 MAX4167
DI box
2-Scroll circuit
20101212 Breadboarding duty cycle circuit (a-sym clip + DC feedback)
20101209 Distortion : Duty Cycle
20101207 Diode trick to prevent saturation
Opamp Class A bias
Guitar output voltage and AC/DC coupling.
20101206 Picking a staple OpAmp (TL072/TL074)
Opamp input
Power supplies
Picking a staple transistor (BC549-BC559)
20101205 JFET Transistors
20101203 Modding the Behringer OD300
20101202 R,C duality
20101130 Diode ladder filter
20101129 LED power supply
Transistor transconductance
20101128 Transfer functions
20101127 SVF R/C for RC=10ms
That VCA
20101124 Modular channel strips
20101123 uC controlled analog circuits
PT2399 digital delay IC (Danelectro FAB Echo)
20101121 Modifying Behringer pedals
20101019 Programmable gain amplifiers
20100528 Analog Box
20100519 VCF using modern parts
20100518 FM on PIC
20100515 Broken PAIA Fatman
20100502 The 909 kick drum