I'm trying to figure out how to implement a continuous EQ filter. I have in the past built a parametric EQ and then built a 10 channel EQ using 10 of these parametric filters. This gave nice results.
However I'm now trying to create a continuous EQ filter. Is this possible with a parametric EQ? By selecting the Q factor, perhaps? If so how would I fit the Q factors to the curve?
Failing that is there another better way to implement continuous EQ? Could it be implemented from an FFT by extending the magnitude of each r,i bin based on the curve? Or would this produce rather nasty EQ'ing?
Any thoughts appreciated.
Edit: To answer the comment and add a bit more.
I've been experimenting with trying to define an FFT filter. Basically I define an arbitrary curve. The curve defines dB increase or decrease.
I'm currently building my own FFT by looking up the y intercept on the curve for each frequency bin. (Well i'm converting from dB to a multiplicative factor).
Then, later, I'm FFT'ing a block of audio and then I'm multiplying it by the values in the "filter" FFT. When the multiplicative factor is purely 1 then I get the audio passing through fine. As I increase the multiplicative factor for a given bin I get a nasty crackling (though I do hear the correct frequency boosted).
Surely there must be a way of doing this in the fourier domain.
Btw, please don't give me matlab functions unless you can explain how they work because I'm trying to implement this on a mobile device so I can't use matlab.