How does a dynamic eq work?

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

JCJR wrote:Some things are best solved by experiment rather than spending forever figuring out the theoretical best method. It is wasted time if months figuring out the perfect theoretical method turns out to suck when one finally gets around to writing code. :)
But different filters might have different characteristics that make some better suited than others. Such as, whether the coefficients are parametrized/parametrizable or not. Or whether they're stable when tuned. Or whether their parameter ranges are monotonic or not.

Then it might be stupid to spend time figuring out how to make some filter work in a dyn. eq. configuration, when the filter design might not be suitable to it at all.

Post

A lot of filters would work good enough in a static implementation where you "set and forget" the filters, accepting the penalty of no "constant Q" behavior. So long as a filter will filter "good enough" it will work fine in your dyn eq if you don't have to sweep it or per-sample change the q.

There are many imponderables. It is not uncommon to discover the biggest problems in places you expected to be simple. Maybe you discover that finding good sounding envelope followers are a bigger problem than finding good-sounding filters, or whatever. Just an abstract example.

If you can get all the other ducks in a row to result in a usable simple dyn eq, incorporating a simple easy filter-- Probably you can retrofit a constant-q filter into your already working dyn eq, without modifying the rest of the code much.

In fact, were I to try developing such a thing, my first effort might be a ONE BAND dyn eq, so that it would be simple to test and modify. I might not bother to try TWO BANDS, until ONE BAND is working "apparently satisfactory" in analytic tests and also listening tests.

Solve one problem at a time. Hard to make TWO BANDS sound good together unless you can make ONE BAND sound good by itself. You don't know the magnitude of the various problems until after you have written and tested some initial code.

Post

I'm returning to this topic, because of the appearance of more and more dynamic EQ VSTs.

So any idea what techniques are used in these?

It's likely that it's some common technique that's perhaps in some particular paper or some forum post, because not every developer can possibly invent it from scratch. Often, when something starts appearing popularly, then it's because everyone's read the same paper or something.

Here for example

https://www.sonible.com/blog/multiband- ... ynamic-eq/

it's described that in a dynamic EQ the freq and Q would stay the same, but the gain is modulated.

Post

For band-shelving (ie. "peaking/bell EQ bands"), use a band-pass filter on the side-chain signal (or input if you're not using a separate side-chain) to extract the relevant band. Similarly for low-shelving filters use a low-pass, for high-shelving filters use a high-pass.

The side-chain filters should probably use the same Q settings as the actual shelving filters, unless you specifically want the bands to react to a wider or narrower band-width.

Once you have the side-chain signals for each band filtered, just pass them through some sort of envelope detector/follower and transfer function that maps the envelope level to the gain parameter of the actual peaking/shelving filter.

I mean.. I've never actually built a dynamic EQ, but that would seem like the most obvious approach.

ps. This is basically the same way you would implement the "listen to a band" feature found in some EQs, except you just let an envelope follower "listen to the band" instead.

Post Reply

Return to “DSP and Plugin Development”