[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.

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