[PD] fft newbie - rifft~ filter
PSPunch
shima at pspunch.com
Wed Jul 2 16:37:29 CEST 2008
> uhm...
> actually, *not* using the hanning window, makes the processed sound suck
> even more.
> so what's the best solution?
>
> there is a better window function? perhaps the gaussian function?
> isn't the window function also related on how much samples overlap
> between a block and the next one?
> shouldn't fft~ be aware of this?
Why you want to apply a window function, and the pros & cons of each
window is well described in this document introduced in one of the
previous posts on this list.
http://www.dspguide.com/
By multiplying each block with a window function, you are applying sort
of an amplitude modulation which causes audible rumbles.
The easiest way to avoid this that I know of is to "clone" your entire
FFT routine (call them 'original' and 'clone' for now), apply a delay
before the original signal and the same delay time after iFFT on cloned
signal. The delay time should be half the size of the window size
(=block size). What you are doing here is preparing an identical signal
to compensate for the gaps of amplitude caused by applying a window
function to the original signal.
This will introduce a slightly longer delay in the overall sound, but I
found its quality acceptable for certain applications.
I've attached a modified version of your original post.
There may be better ways of looking at all this which I am up to
learning as well.
--
David Shimamoto
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fft2_mod.pd
Type: application/puredata
Size: 12061 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20080702/3df93a21/attachment.bin>
More information about the Pd-list
mailing list