First time here? Check out the FAQ!
x

Randomising Phase using FFT

0 votes
137 views
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?

Thanks!
asked Jun 20, 2017 in Using Kyma by kymaguy (Master) (9,580 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...
Did you ever find out what happened and how to solve the problem?
I'm struggling with exactly the same problem. Windowing both into the fft and after the ifft with the same window size as fft-size gives me the best sound on the processed phases, but amplitude modulation when not processing, but using a window size of 2 x fft-size gives me a clean unprocessed signal, but noise when i mess with the phases...
actually yes :) you probably know that a hann window is a raised cosine? I made a cosine window and use that for input and output windowing. if.you don't mess with the phase the overall result is a hann window. of you mess with them you get at least a cosine window applied on the output to cure the glitches. in theory you could do that with any window by taking the root of it :)

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,710 points)
I guess you mean the way tonstruct a 2x overlap in Kyma - thanks but I already do that :)
...