Page 1 of 1

Possible bug: EQ Curve changes with sample rate...

Posted: Mon Oct 24, 2016 9:16 pm
by fredbloss
Hello guys,

Apologies if this is something which has already been patched (I haven't recently updated my Ableton version).

But I noticed today that when I change the sample rate of a project from 44100hz to 96000hz, some EQ curves within the project visibly as well as audibly change. In particular, the curve given by a LPF at 22khz is modified hugely by changing the sample rate.

To me this seemed like a very unusual interaction so I just thought I would make a post to see if anyone else can replicate it or if anyone has any suggestions. This is proving a fairly irritating problem for some pre-masters I am trying to render!!

Re: Possible bug: EQ Curve changes with sample rate...

Posted: Mon Oct 24, 2016 10:22 pm
by zeropoint
I have a support ticket open about another glitch with a third party plugin (Trackspacer) which loses it's sidechain when changing sample rates. I haven't noticed what you describe but will see if I can replicate .

Re: Possible bug: EQ Curve changes with sample rate...

Posted: Mon Oct 24, 2016 11:22 pm
by Stromkraft
fredbloss wrote: some EQ curves within the project visibly as well as audibly change. In particular, the curve given by a LPF at 22khz is modified hugely by changing the sample rate.
What devices or plug-ins specifically?

Re: Possible bug: EQ Curve changes with sample rate...

Posted: Tue Oct 25, 2016 12:00 am
by stringtapper
My guess is that this is not unusual behavior at all.

Depending on how a filter is designed I can imagine that the base sample rate could have a substantial impact on how it functions, and this might very well be the case with EQ8's filters (I'm assuming EQ8, but the OP never said which device/plugin they were using).

Re: Possible bug: EQ Curve changes with sample rate...

Posted: Tue Oct 25, 2016 1:42 am
by [jur]
Stringtapper is right.

Re: Possible bug: EQ Curve changes with sample rate...

Posted: Tue Oct 25, 2016 11:34 am
by fredbloss
stringtapper wrote:My guess is that this is not unusual behavior at all.

Depending on how a filter is designed I can imagine that the base sample rate could have a substantial impact on how it functions, and this might very well be the case with EQ8's filters (I'm assuming EQ8, but the OP never said which device/plugin they were using).
Cheers all for the responses - I am not using any plugins at all here. Talking specifically about the native "EQ8" in Ableton 9.

I'm interested that you say this may not be unusual behavior... I do not know a lot about the inner working of this software, but I thought that the filters etc. worked on a purely mathematical basis in relation to the frequencies? Where does sample rate come into the equation?

Re: Possible bug: EQ Curve changes with sample rate...

Posted: Tue Oct 25, 2016 3:16 pm
by stringtapper
I can explain it to a point from my experience designing filters in Max using Gen.

Most (if not all) digital filter designs employ what is called delay-based signal processing. So what's being delayed?

Samples.

The simplest low pass filter design is the result of a single sample delay, so it's not hard to imagine that the number of samples per second coming down the "pipe" is going to impact how the filter functions. Add in more complex filter designs, many of which may rely on the current sample rate as a mathematical variable, and the sample rate can start to drastically affect how the filter functions in terms of timing, which may affect how things like the cutoff slope are calculated.

So you're right, there is math involved, but the sample rate is usually going to be a variable within the equations generating the filters, especially with something as complex as an EQ.

Re: Possible bug: EQ Curve changes with sample rate...

Posted: Wed Oct 26, 2016 12:45 am
by fishmonkey
in the nitty gritty guts of digital filter design it is common to use the "normalized frequency", which is the frequency divided by the sample rate. if you then change the sample rate, then the frequency of filter shifts.

whilst you might want or expect the frequency to remain constant when you change the sample rate, mathematically it is quite a difficult problem to solve, even for a very simple filter...

Re: Possible bug: EQ Curve changes with sample rate...

Posted: Thu Oct 27, 2016 7:52 am
by andy_cytomic
The EQ shape does change with sample rate, this happens to all digital EQ, it's called "cramping". If you change sample rates you will have to expect the sound of your mix will change. To minimise this change I suggest doing your whole project at the higher sample rate to begin with. Another alternative is to right click on every device and enable "Oversampling", which will change the sample rate of EQ-8 and Glue Compressor and a few others to double the project sample rate - but be warned, this takes extra CPU and adds latency for each and every device instance you do this on.

PS: If you use something like ProQ-2 by Fabfilter you will get exactly the same behaviour, the EQ shape will change with project sample rate by default. They also have an "oversampling" mode on their EQ as well, which came out way after EQ8 had it, they call their oversampling "Natural Phase Mode".

Re: Possible bug: EQ Curve changes with sample rate...

Posted: Thu Oct 27, 2016 8:06 am
by andy_cytomic
fredbloss wrote:
stringtapper wrote:My guess is that this is not unusual behavior at all.

Depending on how a filter is designed I can imagine that the base sample rate could have a substantial impact on how it functions, and this might very well be the case with EQ8's filters (I'm assuming EQ8, but the OP never said which device/plugin they were using).
Cheers all for the responses - I am not using any plugins at all here. Talking specifically about the native "EQ8" in Ableton 9.

I'm interested that you say this may not be unusual behavior... I do not know a lot about the inner working of this software, but I thought that the filters etc. worked on a purely mathematical basis in relation to the frequencies? Where does sample rate come into the equation?
I wrote the EQ8 algorithm, this is expected and normal behaviour of not just EQ8. When using trapezoidal integration to discretize an analog filter you get frequency warping at high frequencies (compared to the sample rate). The centre frequency of the filter can be corrected exactly by doing the inverse warping, but this doesn't help the width of the resonant peak. You can do hacks like mix in a bit of the high pass output, but this ruins the phase response of the filter. The best solution is to oversample the filter so you push the high frequencies way up high where you can't hear them. You can enable oversampling of EQ8 by right clicking on the title bar and selecting that option. This will add latency, and use extra CPU, but at least the filter shapes will stay the same if you then increase your project sample rate from 44.1 kHz to 88.2/96 khz. Please note if you are already running your project at 88.2 / 96 kHz you don't need to enable oversampling as you are already at a good sample rate for doing music and getting the right shapes from your filters.

Re: Possible bug: EQ Curve changes with sample rate...

Posted: Thu Oct 27, 2016 8:09 am
by andy_cytomic
fishmonkey wrote:in the nitty gritty guts of digital filter design it is common to use the "normalized frequency", which is the frequency divided by the sample rate. if you then change the sample rate, then the frequency of filter shifts.

whilst you might want or expect the frequency to remain constant when you change the sample rate, mathematically it is quite a difficult problem to solve, even for a very simple filter...
Any half decently written filter will get the cutoff frequency right, it's not hard. EQ8 gets the cutoff exactly right, but the bandwidth of the resonant peak is harder to correct if you also want to have the correct phase response. If you are running at 44.1 / 48 kHz and you want to "de-cramp" high cutoff filter shapes then enable oversampling by right click menu option on the title bar of EQ8.

Re: Possible bug: EQ Curve changes with sample rate...

Posted: Thu Oct 27, 2016 8:38 am
by fishmonkey
andy_cytomic wrote:
fishmonkey wrote:in the nitty gritty guts of digital filter design it is common to use the "normalized frequency", which is the frequency divided by the sample rate. if you then change the sample rate, then the frequency of filter shifts.

whilst you might want or expect the frequency to remain constant when you change the sample rate, mathematically it is quite a difficult problem to solve, even for a very simple filter...
Any half decently written filter will get the cutoff frequency right, it's not hard. EQ8 gets the cutoff exactly right, but the bandwidth of the resonant peak is harder to correct if you also want to have the correct phase response. If you are running at 44.1 / 48 kHz and you want to "de-cramp" high cutoff filter shapes then enable oversampling by right click menu option on the title bar of EQ8.
thanks for the info and correction.

out of curiousity, is the change of bandwidth that occurs when changing the sample rate reversible by adjusting the Q in EQ8, or is the shape of the filter fundamentally different?