pfft~ remove every other bin

Jonatan Ewald's icon

Hi,

I have made a patch with a js script that fills a buffer with every odd bin as "0" and every even bin as "1".
The same script also generates an inverted version of that buffer.
I want to generate a signal that contains every second FFT bin given a fixed size of FFT, so that when I playback this signal in a noisy environment and capture both the noise and the signal I can use a similar FFT filter to separate the signal from the noise, or rather I can remove the signal from the noise so that I can correctly estimate the noise level even in the presence of my test signal.
This way I can measure signal to noise ratio in realtime.
But I can't really get this to work.
I tried to modify the forbidden-planet patch with my js generated buffers, but I cant get it to filter properly.
It think I sort of got it to work with just the fft and the ifft blocks, but then I couldn't do overlaps and I had some other issues that seemed to be fixed using the pfft, but the pfft seem to work a bit different from the fft block.
Any suggestions?

Jonatan Ewald's icon

The start of my patch:

Max Patch
Copy patch and select New From Clipboard in Max.