First time here? Check out the FAQ!

Randomising Phase using FFT

0 votes
Hi there,

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?

asked Jun 20, 2017 in Using Kyma by kymaguy (Master) (9,550 points)
It's difficult to tell what's wrong without seeing the Sound, but if you hear amplitude modulation when you are not processing the signal then there is something wrong with the inverse-FFT part of your signal flow.
I will upload the Sound soon. Maybe I wasn't really clear:
No Processing & Output Windowing -> Problem
No Processing & No Output Windowing -> OK
Processing & Output Windowing -> OK
Processing & No Output Windowing -> Problem
The thing is I want to gradually increase the the effect from none to fully random...

1 Answer

0 votes
Just a little thought on this. Would it be possible to delay the sample rate of 1 part of the stream and after the IFFT the other part? Not tested this.
answered Aug 16, 2017 by roland-kuit (Adept) (1,370 points)
I guess you mean the way tonstruct a 2x overlap in Kyma - thanks but I already do that :)