On 02/26/2015 11:06 PM, Fons Adriaensen wrote:
> Date: Thu, 26 Feb 2015 22:04:39 +0000
> From: Fons Adriaensen <fons@email-addr-hidden>
> To: Cedric Roux <sed@email-addr-hidden>
>
> On Wed, Feb 25, 2015 at 11:46:37PM +0100, Cedric Roux wrote:
>
>> can someone explain to me what this bandwidth computation means?
>
> There is nothing magical about it, it's just a pragmatic
> approximation that results in the 3dB BW (for high + or -
> gain) being expressed in octaves.
Thanks for explanations Fons.
I tried gamma = = sinh(log(2)/2 * bw * w0 / sin(w0)) * sin(w0)
as found in [1].
It sets gain(bandfreqs) = gain/2 (it's not the -3dB thing).
That works except for high f0 and high bandwidth.
In the worst case it acts on all the spectrum, turning itself
into a gain control. Strange. Your formula behaves cleaner
even if not 'mathematically' exact.
Now I have a minor issue with your smoothing techniques.
They depend on the block size.
Initializing everything, setting block size to 1 sample
(why not? we're in 2015!) and printing s1 and s2 for
the processing of a few samples will result in a list of values.
Setting block size to 16, 32, 48 samples gives different
values (after a while they agree though, which is expected).
Well, it's no big deal, this is an eq, no sane person
will ever use a block size of 1 sample (or anything
below 32 samples) and for all usual block sizes (32, 64,
128, ..., 2^n) the result is the same.
So forget about it.
I would just want to know why you do:
k = (len > 48) ? 32 : len;
why 48? why not 32? What's your intention there?
Regards,
Cédric.
[1] http://www.musicdsp.org/files/EQ-Coefficients.pdf
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Sat Feb 28 04:15:02 2015
This archive was generated by hypermail 2.1.8 : Sat Feb 28 2015 - 04:15:02 EET