Here is a patch to add windowing to

gcell/src/lib/wrapper/spu/gcs_fft_1d_r2.c , seems quick and snappy:

24a25

#include <spu_intrinsics.h>

50a52

## 52,53c54,69

< // FIXME pointwise multiply in *= window

< assert(0);

`int i; for (i=0; i<(1 << log2_fft_length)/2; i++) { tempwin = spu_shuffle(window[i/2],zeros,pattern[(i & 0x1)]); in[i] *= tempwin; }`

Seems to work, take a lot of ‘spikeyness’ out:

http://www.swigerco.com/fft_windowing.html

It will also break gr-gcell/src/qa_fft.py

–Chuck