Discussion:
[LAD] [ANN] CAPS 0.9.12
Tim Goetze
2013-08-24 13:14:14 UTC
Permalink
CAPS Audio Plugin Suite 0.9.12
http://quitte.de/dsp/caps.html

New in this release:
Eq4p, a four-way parametric equaliser
http://quitte.de/dsp/caps.html#Eq4p

(Unlike Fons', this one uses parallel processing but lacks control
smoothening other than that provided by a continuous IIR filter
history.)

Elsewhere, a few stupid bugs have been fixed (one of them keeping
PhaserII from reaching strong effect levels), the documentation has
undergone a major revision, many plugins have been polished, some
renamed, and lots of unnecessary ones have been removed.

http://quitte.de/dsp/caps.html#Download

Enjoy!
Fons Adriaensen
2013-08-24 14:44:56 UTC
Permalink
Post by Tim Goetze
Eq4p, a four-way parametric equaliser
http://quitte.de/dsp/caps.html#Eq4p
* Insert in Ardour's master strip.
* Make sure your speakers are disconnected.
* Provide some input signal at around -20 dB.
* Set first section to bandpass, Q = 0.8, gain = +15 dB.
* Use the mouse wheel on the frequency slider.
* Observe output levels well above +40 dB.

The F slider switching between its extremes when using the
mouse wheel is of course a bug in A3. But it still provides
valid input to the plugin (which could come from automation
or MIDI as well).

Apart from this, it also produces multiplicative LF noise
at some low frequency settings. This is typical for type of
filter used.

Ciao,
--
FA

A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)
Tim Goetze
2013-08-24 19:56:47 UTC
Permalink
[Fons Adriaensen]
Post by Fons Adriaensen
Post by Tim Goetze
Eq4p, a four-way parametric equaliser
http://quitte.de/dsp/caps.html#Eq4p
[...]
Post by Fons Adriaensen
The F slider switching between its extremes when using the
mouse wheel is of course a bug in A3. But it still provides
valid input to the plugin (which could come from automation
or MIDI as well).
Thanks a lot for the evaluation and the problem report; I hope this
hasn't caused damage to your ears (which I value highly!) or
equipment. It adds to the evidence that implementing thorough control
smoothening is inevitable in the long run.
Post by Fons Adriaensen
Apart from this, it also produces multiplicative LF noise
at some low frequency settings. This is typical for type of
filter used.
I haven't been able to measure such noise at anywhere near audible
levels, not even when followed by high-gain saturation. If you have,
can you point out an input signal and settings that can provoke it?

Thank you,
Tim
Fons Adriaensen
2013-08-24 21:48:13 UTC
Permalink
Post by Tim Goetze
Thanks a lot for the evaluation and the problem report; I hope this
hasn't caused damage to your ears (which I value highly!) or
equipment.
I've learned to mute monitoring while doing such tests...
Post by Tim Goetze
It adds to the evidence that implementing thorough control
smoothening is inevitable in the long run.
That may or not solve the problem. You have 3 input parameters
(P), and 5 biquad coefficients (C). Interpolating the C can
make a biquad unstable, and if this happens it doesn't matter
how fast or slow you do it. The only solution is to interpolate
the C only between sets of values that correspond to values of
the P that are not too far apart. So you need two levels, first
on the P to limit the rate of change of the parameters, then on
the C to avoid zipper noise.
Post by Tim Goetze
Post by Fons Adriaensen
Apart from this, it also produces multiplicative LF noise
at some low frequency settings. This is typical for type of
filter used.
I haven't been able to measure such noise at anywhere near audible
levels, not even when followed by high-gain saturation. If you have,
can you point out an input signal and settings that can provoke it?
The noise remains below audible levels in this case (there
are some plugins that are much worse). But it is still much
higher than it should be. The reason is that a biquad is not
the right filter for this job, at least not at low frequencies.

Ciao,
--
FA

A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)
Tim Goetze
2013-08-24 22:21:52 UTC
Permalink
[Fons Adriaensen]
Post by Fons Adriaensen
I've learned to mute monitoring while doing such tests...
I was suspecting you had :)
Post by Fons Adriaensen
Post by Tim Goetze
It adds to the evidence that implementing thorough control
smoothening is inevitable in the long run.
That may or not solve the problem. You have 3 input parameters
(P), and 5 biquad coefficients (C). Interpolating the C can
make a biquad unstable, and if this happens it doesn't matter
how fast or slow you do it. The only solution is to interpolate
the C only between sets of values that correspond to values of
the P that are not too far apart. So you need two levels, first
on the P to limit the rate of change of the parameters, then on
the C to avoid zipper noise.
I'm planning to evade this problem by crossfading between two parallel
static filters. Some phase mismatch issues can probably be expected
when the parameter sweep covers a larger range, but I'm hopeful it
will turn out not to be much of a problem in actual practice, and that
we will find out soon. It really needs a fix.

Tim
Fons Adriaensen
2013-08-24 23:05:37 UTC
Permalink
Post by Tim Goetze
I'm planning to evade this problem by crossfading between two parallel
static filters. Some phase mismatch issues can probably be expected
when the parameter sweep covers a larger range, but I'm hopeful it
will turn out not to be much of a problem in actual practice, and that
we will find out soon. It really needs a fix.
I doubt very much if that will provide a practiacal solution.
The state of the filter depends on signal history. Depending
on the parameters, this could be quite long. So you would
either have to

* run the new filter (with the new parameters) for some
time before crossfading, which will complicate the
code, or

* copy the state of the old into the new filter, but
with a biquad this can again produce quite heavy
spikes wich may last much longer than your crossfade.
This can happen even when both the new and old filter
are set to 0 dB gain.

The simple solution is to smooth the input parameters,
limiting their rate of change. Nobody expects an EQ
section to change from 100 Hz to 10 kHz in less than
half a second (unless it's a synth VCF module, but then
you definitely need something else than a biquad).

Ciao,
--
FA

A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)
Tim Goetze
2013-08-25 00:00:27 UTC
Permalink
[Fons Adriaensen]
Post by Fons Adriaensen
Post by Tim Goetze
I'm planning to evade this problem by crossfading between two parallel
static filters. Some phase mismatch issues can probably be expected
when the parameter sweep covers a larger range, but I'm hopeful it
will turn out not to be much of a problem in actual practice, and that
we will find out soon. It really needs a fix.
I doubt very much if that will provide a practiacal solution.
The state of the filter depends on signal history. Depending
on the parameters, this could be quite long.
I think the question deciding the quality of the filter fade is, how
big will the phase difference between the two filters be? Amplitude
differences shouldn't matter when we crossfade, as long as we're not
phase-canceling.

These are very simple filters that don't take long to settle on a
stable phase relationship. A reasonably small parameter change will
not change their phase response by much, so my expectation is that
there will be only little cancellation and the fade thus close to
imperceptible; at most a slight attenuation of high-frequency content.
Just theorising over a glass of wine though.
Post by Fons Adriaensen
The simple solution is to smooth the input parameters,
limiting their rate of change. Nobody expects an EQ
section to change from 100 Hz to 10 kHz in less than
half a second (unless it's a synth VCF module, but then
you definitely need something else than a biquad).
Yes, that is a very convenient way to solve it, perhaps the preferable
one given the realities.

Tim
Tim Goetze
2013-08-25 14:15:35 UTC
Permalink
The new version of CAPS comes -- among other, minor changes -- with
control input smoothening for Eq4p, establishing gentle manners in the
face of even the most drastic parameter changes:

http://quitte.de/dsp/caps.html#Download

Due to an unrelated change, the plugin will even run slightly quicker
with static parameters.

The filter cross-fade has the nice additional property of softening
the transition between different filter types somewhat.

Still pondering generic lowpass control smoothening, but it appears to
be best applied centrally so all plugins can benefit.

Enjoy!

Loading...