http://bugs.winehq.org/show_bug.cgi?id=14717
--- Comment #203 from Alexander E. Patrakov patrakov@gmail.com 2011-11-04 12:22:45 CDT --- (In reply to comment #200)
I changed the step values in mkfir to match those in libsamplerate and the header file turned out to be 1.1MB in size. That's not going to be acceptable, so I implemented cubic interpolation instead.
I think that it is wrong, as the other parameters are different between these two filters. Our best filter does not have the same stopband attenuation as the best filter from libsamplerate (in fact it approximaely corresponds to their fast filter, only 72 KB in size).
I have no preference WRT cubic vs linear interpolation if it is done in such a way that noise is about the same as attenuation at ~1.4 Nyquist frequency. You can get both figures from the checkfir() function from comment #198. This function should be a useful test if you modify the window. E.g. it also catches the error that you made when trying to substitute PI -> 2 * PI, because this just moves the boundary between passband and stopband (i.e. is equivalent to changing the cutoff parameter).