I'm currently experimenting with some FFT processes and I'm kind of stuck here:
I want to gradually increase/decrease the amount of phase randomization. Of course when I use a random phase I need to window the output (after iFFT) as well, otherwise I would get clicks when putting the signal together because the window I applied at the input is not there anymore (actually it is, but the sines and cosines don't cancel out anymore to produce the windowed time domain signal). However when I decrease the amount of randomization my output will sound amplitude modulated because of the output windowing. There has to be some common way to solve this but I didn't find any information yet.
I've got 2 ideas in mind:
- Do the same thing twice but using a constant 1 for one chain. This is basically an analysis of the window applying the same random phase. Looking at the absolute output I'm able to divide out the amplitude modulation and apply it to the sample processing FFT chain in order to compensate. This seems like a lot of effort and DSP.
- If I apply a cosine window twice I get a Hann (or raised cosine - therefore the name) again. So I could do that once before and once after the FFT process. However this only decreases the amplitude modulation but it's not really right.
Any thoughts on this?