Linear Phase EQ---your thoughts and preferences

VST, AU, AAX, CLAP, etc. Plugin Virtual Effects Discussion
RELATED
PRODUCTS

Post

bluecatonline wrote:How did you exactly compute the latency? The effect itself does add any artificial latency since it does not use any FFT of buffering of any kind. The actual "latency" you may experience is due to the filter itself, the same way you get such "latency" with any digital filter which has a higher order than 2.
Right, but it IS latency, no matter where it comes from. I've measured all this using my VST Plugin Analyser (visit my homepage it's freeware).
-3db attenuation is due to the log function approximation to increase computation speed, and as you say, you get true +-40dB with more than one band. Having more precision would cost too much in CPU, and we had to find a good compromise. You don't get real time for free!
Why do you need log in realtime? I mean, you only need it if the sliders are adjusted and this can be done efficiently in assembler. No approximation needed. And if it does matter, make a LUT.
high frequency ripple
like most linear phase filters :wink:
Not necessarily so, try different windows to get rid of it!
Parks/McClellan
An "home made" kind of, yes.
I like it.

Post

Not necessarily so, try different windows to get rid of it!
yes, but you will get other kinds of effects. Windowing is always a matter of compromise, there is no perfect window!
Why do you need log in realtime? I mean, you only need it if the sliders are adjusted and this can be done efficiently in assembler. No approximation needed. And if it does matter, make a LUT
Convert db sliders to non-db with interpolation in order to have zipper-free interpolated control.
What does 'LUT' stands for (I'm not english-native)?

Post

LUT - Look Up Table
Image

Post

Hi bluecat,

it is a simple test i performed without measuring the latency in samples:
- Take a mono file
- insert in a multitracker (i took a Cubase demo) into two tracks (aligned, of course)
- insert your mono filter in one of the tracks - voila, you get a shift.

Without having any idea about your filter design, remember that windowing or remez-exchange design procedures result in a *zero-phase* filter kernel (i.e. not caual) that has to be shifted by half of the filter taps to become causal. I guess this is the reason for the latency.

Greets,

Tom

p.s. LUT = Look Up Table

Post

Without having any idea about your filter design, remember that windowing or remez-exchange design procedures result in a *zero-phase* filter kernel (i.e. not caual) that has to be shifted by half of the filter taps to become causal
Yes you are right, I was just thinking about it. It will be corrected in next version. Thanks for your active support! :)
The filter is symetric by design and thus is shifted by half its length as you said. We still gain compared to a usual FFT-ed filter, but the lantency is not truely zero.
LUT
Of course! Should have known that! It's now in my dictionary...

Post

bluecatonline wrote:
Not necessarily so, try different windows to get rid of it!
yes, but you will get other kinds of effects. Windowing is always a matter of compromise, there is no perfect window!
You're right, but it think there maybe a better window than the one you use. There is a one called Kaiser-Bessel-4, which is very successful working in the FIR filter developed by our institute. It is hardware and neither was i involved, nor have i prooved it yet. Just one idea...

Christian

Post

And just to let you know: I've just finished the linear phase enhancement for 'Electri-Q'. Fast and fabulous... [ok, i'll stop advertisment here]
It will be available in version 1.1

Christian

P.S.: Indeed the difference can be heard, but i think it's due to the fact that the magnitude isn't 100% the same (truncation effects) or that the user expect there to be a change. Have i told the story about mastering engineers who mastered a whole day with bypass on all devices?

Post

thanks, I'll look at it. The issue is that it needs to be easily optimized for real time processing (filter coefficients may have to be computed for each sample when parameters are varying...)

Post

Christian Budde wrote:Have i told the story about mastering engineers who mastered a whole day with bypass on all devices?
That dude would seriously need to reconsider his profession! :-o

Can't wait for your 1.1 version of Electri-Q! If you can truly kill the algorithmix EQ (like you, I wasn't blown away by it). The best digital 'clean' eq I've heard is still the weiss EQ-1 mk2 in normal mode. It really has very little side-effects and simply removes stuff.

The closest to this in the plugin world is IMHO Voxengo's HarmoniEQ using the SubtleP mode and when run at high quality and preferrably at 96khz. It comes very close to what I remeber the Weiss sounding like (no bad artefacts).

Christian, I think you should try to implement a mastering version or mode for Electri-Q that uses heavy oversampling or any other tricks to improve quality. I wouldn't care at all if the EQ in a mastering chain ate up over 30% CPU.

Cheers!
bManic

Post

bmanic wrote:
Christian Budde wrote:Have i told the story about mastering engineers who mastered a whole day with bypass on all devices?
That dude would seriously need to reconsider his profession! :-o
It was even two guys who were 'fine tuning' the master. Fortunatly, when they found out, they couldn't stop smiling and took some days off.
bmanic wrote:Can't wait for your 1.1 version of Electri-Q! If you can truly kill the algorithmix EQ (like you, I wasn't blown away by it). The best digital 'clean' eq I've heard is still the weiss EQ-1 mk2 in normal mode. It really has very little side-effects and simply removes stuff.
We just decided to make this an 'add on'. It will be 30€ later and 15€ introduction price.
It's out now for betatesting...
bmanic wrote:The closest to this in the plugin world is IMHO Voxengo's HarmoniEQ using the SubtleP mode and when run at high quality and preferrably at 96khz. It comes very close to what I remeber the Weiss sounding like (no bad artefacts).
bmanic wrote:Christian, I think you should try to implement a mastering version or mode for Electri-Q that uses heavy oversampling or any other tricks to improve quality. I wouldn't care at all if the EQ in a mastering chain ate up over 30% CPU
It already uses 2x oversampling. This is more than enough, if the EQ is used correctly. But since most users think expensive (in price and CPU load), we will maybe do another mastering mode (including 4x oversampling and additional 30€).

Now using my new toy with my ABX-Tester. With double blind tests i'd like to proove by myself, if i can hear a difference...

Christian

Post

Well, I guess if the eq is coded well then x2 and x4 oversampling will have no difference but I do think I hear a difference while using voxengo harmoni EQ at 96khz and high quality (effectively making it x4) oversampled. Not sure it's very scientific test that I've done!. Maybe it's time to do an ABX test to see if it's only placebo.

Cheers!
bManic

Post

Christian Budde wrote:
bmanic wrote:Can't wait for your 1.1 version of Electri-Q! If you can truly kill the algorithmix EQ (like you, I wasn't blown away by it). The best digital 'clean' eq I've heard is still the weiss EQ-1 mk2 in normal mode. It really has very little side-effects and simply removes stuff.
We just decided to make this an 'add on'. It will be 30€ later and 15€ introduction price.
It's out now for betatesting...
Is this included in the latest demo? If not, can I join the beta team? :)

Cheers!
bManic

Post

Christian Budde wrote:It's out now for betatesting...
bmanic wrote:Is this included in the latest demo? If not, can I join the beta team? :)
I'll send you the beta version. Just need to find your email address...

Christian

Post

Christian Budde wrote:It already uses 2x oversampling. This is more than enough, if the EQ is used correctly. But since most users think expensive (in price and CPU load), we will maybe do another mastering mode (including 4x oversampling and additional 30€).
Christian,

What do you mean when you say 2x or 4x oversampling?

Let's say you have samples coming from your host at a rate of 44.1 kHz. Do you interpolate the additional samples for each sample or do you "zero fill" the FFT buffer to 4 times it original length (i.e. for 4x oversampling)?

Paul
Image

Post

I'll interpolate the data using a polyphase filter in both upsampling and downsampling. It is very light weight due to its assembler implementation. If I finally decide the 3DNow and SSE enhancements to be stable than it's even less CPU usage needed for interpolation.
I have experienced other oversampling methods (e.g. zero filling), but they suck in comparison to the polyphase filter implementation.
Only my girlfriend hates it, when i rave about that topic...

Christian

Post Reply

Return to “Effects”