All three filters clip but some are more extreme than others.
Juno clipping
The Juno filter has a major flaw, it has an output gain stage that clips for anything above 2V out. It outputs 2V from 10V in, which means that all resonance is clipped if it exceeds the max input signal.
JP6 clipping
The JP6 filter clips in the output selector/gain stage, but also slightly internally
Moog clipping
The moog filter clips the least as it has a fairly good soft clipping built-in. The output gain op amp still clips at extremes.
Fixes
I've worked a lot to find the best solution the last few days, and as such has come up with the following approach:
Bus mixer changes
Reduce amplitude from the bus mixer into the filters from max 10V to max 5V. This requires two changes:
- Double the input resistors to the wet/dry amps in the bus mixer, halving the output of the summer
- When turning on serial instead of parallel filters, disable input from sum B.
- SVF must still somehow have unity gain, if not, chaining input will be too low.
This alone has a huge effect on most clipping, giving double the headroom.
Reduce the post filter gain
Moog filter
For the Moog filter, this is simply done by using half the CV. It can be done in software for the current version. This stops any leftover clipping in the Moog filter.
Juno filter
For the Juno filter, we add a resistor to the output. This will end up in series with the 18k resistor in the post juno filter gain stage, and reduce the gain. A 22k resistor reduces gain from 5.5 to 2.5. This takes away most of the clipping, though the filter still clips when the resonance oscillation has the same frequency as the input signal. It does however require modification of the juno filter board. This requires some other mechanism, like soft clipping the signal. More on that later.
JP6 filter
For the JP filter, we need to keep unity gain through the filter, so we do the gain reduction in the output mixer. It does not prevent any clipping but is required to keep max levels the same as for the juno and moog filter. This is the simplest solution for now.
Reducing JP clipping
Unfortunately, the JP filter clips very slightly at highest resonance at the point where oscillation is in sync with the signal. This is not easily changed as it happens inside the filter circuit, but it is also the least serious clipping. I will leave it as is for now. It also goes away if reducing the max input slightly, but requires at least another 20% reduction. Perhaps this is best done in software for now.
To prevent other clipping, we have to change the output gain that happens around the output selector. This can be done in two ways:
- Changing the voice card. This is the correct solution, and should be done for future versions of the card. Gain for all but the BP2 cell is 100/65 = 1.54, so quite a bit of clipping can be removed here. We still may have to add some kind of soft clipping, though. If soft clipping is added, we may choose to reduce the input by the needed 20% and increase the output gain instead to get around the initial clipping.
- Making a drop-in-replacement for the IC56 DG408 mux that halves the output by adding more input resistors. Unfortunately, the maximum BP2 output is 8.6V, and this is followed by a 1.67x gain stage (IC52A) which immediately clips. This cannot be remedied by the card. Instead, we need to reduce the BP2 gain stage to unity by adding an output resistor > 39k (to make the sum of 56k + 3.9k + x = 100k) to the JP6 BP2 output. It may be possible to do with existing JP6 filter cards or we can order new cards with this modification, and use the current version with new voice cards.
TL;DR - these are the needed fixes
- Double the signal input resistors on the wet/dry mixer on the bus mixer board
- (fix the gain error on the bus mixer board)
- Reduce output amp gain for Moog, JP6 and Sines to 50% (in software)
- Set a max resonance for all filters to keep self resonance oscillation amplitude as low as possible.
To save the current voice cards
- Add a 22k resistor to the juno output boards (for this version).
- Double the Moog resonance CV somehow, possibly by adding a parallel resistor to the CV input to double the current.
- Create a drop-in for the DG408 JP output selector that reduces gain (and possibly adds soft clipping?)
For new version
- Replace the 18k juno post filter gain input resistor with a 39k one (or rather, move the post filter gain onboard the Juno filter PCB).
- Add soft clipping to the juno filter
- Fix Moog resonance CV on the moog board
- Update the circuit around the JP filter output selector to prevent clipping. May have to add soft clipping.
PS: Self oscillation with a very high frequency (>20kH<) makes what sounds like digital noise. Not sure exactly what to do with it, maybe a lower frequency output LPF would be a good idea.
PPS: There are a lot of weird things happening that may be caused by the ground plane noise from the waveshaper.
PPPS: Knocking on the breadboard makes resonance wobble. I hope this is just poor connections but fear that some of the ceramic caps are picking it up. We'll see.
No comments:
Post a Comment