Those of you who know something about Fast Fourier Transforms (FFT), are probably wondering how do you do this when you have several million audio samples in a data file and an FFT of a smaller size (FFT's by definition are a fixed size, and for audio denoising the most we need is an FFT consisting of 8192 samples.The answer is window-overlap. When we start the denoising process, we get the first 8192 samples of audio, apply the FFT denoise algorithm, and then merge the results back in with a windowing function, so at either end of the sample the original sample data (including the noise) is written back to the data file, but in the middle of the sample data only the denoised data is written back. The windowing function looks like this:
To make sure we denoise all the data, the next set of samples starts somewhere within the first sample denoised: