I breadboarded everything, and it works great right off the bat.
As I am not doing computer control at the moment, and I had no log pots around, I decided to go for the emulated log pots from Elliott and others. They work great! I did a log pot for the VCA CV.
Resonance works great as well, and the filter has no problem self oscillating.
As for the resonance CV, it became apparent that its CV should NOT be exponential. It should either be linear or we should use a reverse log pot like in the minimoog - which one depends on how much movement you want in the beginning vs end. With a linear CV it takes quite some time before anything audible happens, and it's a bit hard to control the self oscillation once it starts. With the reverse log self oscillation starts a bit early but is easier to control. Fortunately making a simulated reverse log is as easy as a simulated log.
There are a few things to be aware of with the resonance when it self oscillates. The amplitude of the oscillation is related to the signal AFTER our input summer. If we apply a weak signal at the input and try to compensate by increasing the amplification in the output VCA, we will also increase the amplitude of the self oscillation, meaning it quickly overpowers the input signal in volume. Here id an example:
First we use a 100k resistor. We adjust so that our output is half that of the input signal, and by doubling the scale on the oscilloscope we get a overlapping waveform.
Then we add resonance and start self oscillation.
Now we replace the 100k input with a 200k input. To get a similar output amplitude we now have to turn the VCA CV fully right.
|Input is attenuated to 50% by doubling input resistor|
|Unity gain is recovered by turning up VCA CV|
But look at what this does to the self oscillation - it is now much higher than the previous one.
I tried hooking the input up to the output from my macbook to process audio. I had to replace the input 100k resistor with a 10k one to get an ok output volume. But processing the input audio was great fun.
I decreased the input resistor and increased the feedback resistor even more to try to overdrive the filter. This did not work very well. I started getting hard clipping and if the input was high enough, something latched up and I had to cycle power.
Later I tried feeding the output back to the input summer instead, using a 20k linear pot as a voltage divider and an inverting opamp (because I have not swapped the inputs on the output OTA, the output is not in phase with the input). This proved so much nicer. I got a controllable overdrive that did a much softer clipping. It did also latch up stuff when the feedback was too high, but a great experiment all in all. I still have to look closely at the signal levels of the original signal to decide a proper range for the overdrive feedback. Oh, and of course the output level gets much higher, this has to be compensated elsewhere. Maybe its possible to tap the signal before the output VCA and do something to decrease the VCA gain CV when the overdrive CV increases. Or this could be done in software.