First time here? Check out the FAQ!

How does the FFT Class behave when analysing only one input channel?

0 votes
Was trying to simplify an approach to FFT, and would like to try non-overlapped FFT analysis and iFFT. It seems that the core FFT prototype always outputs the left  input frame as complex two chanel signal, and then the right input frame. So if I only want one channel, how could I skip the empty frame that happens in the stream every FFT length/2?
asked Jan 3, 2019 in Using Kyma by cristian-vogel (Master) (7,990 points)
For each input channel, there are only FFTLen/2 unique values in each frame of the output. But each frame must be FFTLen long; that's how often the FFT updates its values. If you put 0 into the right input channel, you can force the second half of each output frame to be all zeros. But you can't skip over the zeros since that would shorten the output frame length.
Another way to think of the FFT class is to consider it being stereo always. But what has been previously left and right is now real and imaginary on the output. So the channels are now transmitted in series. FFTSize/2 complex values for the left channel followed by FFTSize/2 values for the right channel. So without delaying anything, if you feed a stereo signal in, you get a non-overlapped stereo signal out. Hope that helps!

1 Answer

0 votes
If you get rid of the delay on both the FFT and iFFT side and use a mono source you should get an analysis/resynthesis without overlap. The FFT class itself doesn't produce any overlap, it's only done by delaying the input and output respectively.
answered Jan 3, 2019 by kymaguy (Virtuoso) (10,580 points)