Showing posts with label panner. Show all posts
Showing posts with label panner. Show all posts

Sunday, January 19, 2025

Gritty noise on panner and oscillator mix volume pots

While testing, I heard a lot of digital sounding noise on the output when turning the volume or pan pots. I first suspected it to be digital noise from the midi connection.

After extensive testing, I've concluded that this is not noise per se, instead it has two causes:
- The midi input is stepped, each pot has max 128 positions
- The CV is linear, so changes are more audible when the volume is low

I tried adding filtering of the output CVs, e.g. making the change take more time even if the midi said to change things instantly. This worked fairly well but when turning the volume pot slowly I could still hear stepping at the lower end.

This is because the steps are of equal size, but audio loudness is exponential. A one unit change when the volume is low is much larger and audible than a one unit change when the volume is high.

I have already added support for response curves, changing to an "exp_1" curve took care of most of the stepping.

As for the filtering, a "max 64 units change per update" gave a good result. 256 is too much. 

Right now the filtering happens at the DAC update, it should be moved to the midi side as the rest of the matrix works as it should.

Friday, April 2, 2021

Triple waveform panner using a single CV

I got my SSI2130 VCO, or rather, the DAB2130 (chip soldered onto a breakout board) from amazingsynth.com a few days ago. I'm very much looking forward to figuring out what through zero phase modulation is all about - but that's not today's topic.

Among other things, the 2130 comes with built-in waveshapers for tri/saw/pulse/sine, and multiple linear VCAs to let you do waveform mixing in a single chip.

Reading through the datasheet, I stumbled upon a nice little circuit that could be very useful for me - a single-CV input that will pan (linearly) through three waveforms. The SSI2130 VCAs are current driven, so the input CV is converted into three control currents. Also, the input is 0 to 1V.

I looked at the circuit, and it's basically two precision rectifiers plus a differential amplifier. The rectifiers create the CV for the first and last VCA while the differential amplifier uses the original CV plus 2 x the inverted version of the CV for the last VCA to generate the CV for the middle VCA - one that first rises and then falls. Pretty neat. Here is a simulation of the voltage-output version of the circuit:


 

Using a 5V CV to output 5V CVs is simply a case of replacing the -1V reference voltage with a -5V. 

In MY synth however, I intend to use the AS3364 (quad linear VCA based on the CEM3360 dual VCA). It has a CV range of 0 to 2V. But for the pulse wave, I use a little trick from the Juno to control amplitude without using a VCA. Unfortunately, this needs a 0 to 5V CV.

Luckily, tweaking the resistors in the circuit above lets us do all this without any additional components:


I need to do a little bit of testing, especially sincethe first op amp actually attenuates the original CV slightly (gain is 20/25 = 0.8). The last op amp (differential amplifier) also does something similar. Not sure if that is an issue, we'll just have to see.

Update: Tested with a TL074 (-5 ref generated with a 20k/10k resistor voltage divider between 0 and -15V and buffered using the spare op amp). Works like a charm.