home/ atoms/ block-based-fft-overlap-add

Overlap-add processing reconstructs audio from overlapping FFT windows without boundary artifacts

FFT-based audio effects (phase vocoders, pitch shifters, noise reducers) operate on whole blocks rather than individual samples. Overlap-add (OLA) breaks continuous audio into successive windows that overlap by 50-75%, applies the FFT, performs frequency-domain manipulation, then inverse-FFTs each window back to time-domain and sums them at the overlap regions. Without overlap, window-boundary discontinuities create audible clicks; with sufficient overlap and a suitable window (Hann, Hamming) the reconstruction is transparent. Block processing introduces latency equal to at least one window’s duration — irreducible, creating a trade-off with responsiveness. On Bela, the heavy FFT is moved to a second thread so the audio callback still meets its deadline.

Examples

Bela phase vocoder tutorial: a 1024-sample Hann window at 44100 Hz = 23 ms of analysis latency. 75% overlap means a new frame every 256 samples (5.8 ms). The FFT thread writes results to a buffer read by the audio callback.

Assessment

Explain why a phase vocoder cannot have zero latency. At 1024 samples / 44100 Hz, what minimum latency does the analysis window introduce? Why is 75% overlap smoother than 25%?

“Segmenting audio into chunks”