MUS421/EE367B Lecture 10A Review of OverLap-Add (OLA) and Filter-Bank Summation (FBS) Interpretations of Short-Time Fourier Analysis, Modification, and Resynthesis Julius O. Smith III (jos@ccrma.stanford.edu) Center for Computer Research in Music and Acoustics (CCRMA) Department of Music, Stanford University Stanford, California 94305 March 24, 2014 1
OLA and FBS Duality Review We now review Filter Bank Summation (FBS) and OverLap Add (OLA), stressing their Fourier duality. For simplicity, R will be taken as 1. Remember that in OLA, R is the hop size, or the distance (in time samples) between successive overlap-add frames. In FBS, R is interpreted as a downsampling factor. The common starting point for both OLA and FBS is the STFT: m (ω k ) = x(n)w(n m)e jω kn n= The point of departure is the interpretation of the above summation. 2
STFT Analysis OLA m (ω k ) = Sample 2π/N (DTFT(x m )) = [x(n)w(n m)]e jω kn = n= n= = F k {x m (n)} x m (n)e jω kn where x m (n) is the m th windowed frame of x. Hence we have the following interpretation: 3
For each frame: Window the signal Take the Fourier Transform x(n) w 0 w 1 w M 1 Windowing DFT n (ω 0 ) n (ω 1 ) n (ω N 1 ) STFT 4
FBS m (ω k ) = [x(n)e jωkn ]w(n m) = n= n= = (x k w)(m) x k (n) w(m n) where x k is x modulated by e jωkn, and w =. Hence we have the following interpretation: For each analysis frequency: Heterodyne signal by e jω kn Filter with w 5
FBS Analysis Filter Bank n (ω 0 ) e jω 0n x(n) n (ω 1 ) e jω 1n n (ω N 1 ) e jω N 1n STFT 6
STFT Re-Synthesis OLA To resynthesize the signal: Inverse Transform Overlap and add shifted frames x = m= Shift mr (DFT 1 (Sample2π N,ω k (DTFT( m H)))) COLA constraint: m= w(n mr) = c, where c is any constant W(ω l ) = 0, l = 1,2,...,R 1, ω l = 2πl/R, i.e., Window transform is 0 at all harmonics of the frame rate 7
OLA Analysis and Synthesis x(n) w 0 w 1 w M 1 Windowing DFT n (ω 0 ) n (ω 1 ) n (ω N 1 ) STFT IDFT Overlap Add Buffer 8
Filter-Bank Summation (FBS) To resynthesize the signal: Heterodyne each subband (shift in frequency) Sum Window constraint: x(m) = N 1 k=0 m (ω k )e jω km w(rn) = 0, r = 1,2,... This is equivalent to a constant overlap constraint in frequency (dual of Poisson summation formula) The filterbank summation performs an overlap add in frequency. 9
n (ω 0 ) x(n) e jω 0n n (ω 1 ) e jω 0n + e jω 1n e jω 1n n (ω N 1 ) e jω N 1n e jω N 1n STFT Unmodified FBS is COLA in the frequency domain, Nyquist(N) in the time domain Unmodified OLA is COLA in the time domain, Nyquist(2πL/M) in the frequency domain 10
STFT Fixed Spectral Modification OLA Perform multiplicative spectral modification before resynthesis Must zero pad in time, and window must meet COLA constraint Results in the convolution of the signal and the impulse response of the filter x(n) w 0 w 1 w M 1 Windowing DFT n (ω 0 ) n (ω 1 ) n (ω N 1 ) H 0 H 1 H M 1 Y n (ω 0 ) Y n (ω 1 ) Y n (ω N 1 ) IDFT STFT Spectral Modification Modified Spectrum Overlap Add Buffer 11
FBS Perform multiplicative spectral modification before resynthesis Results in convolution of the signal and the windowed impulse response of the filter n (ω 0 ) e jω 0n H 0 e jω 0n x(n) n (ω 1 ) + e jω 1n H 1 e jω 1n n (ω N 1 ) e jω N 1n H(N-1) e jω N 1n STFT Modification 12
STFT Time Varying Spectral Modification OLA Perform time varying multiplicative spectral modification before resynthesis Must zero pad, and window must meet COLA constraints Results in the convolution of the signal and a window-filtered version of the time varying impulse response (no length limit) 13
x(n) w 0 w 1 w M 1 Windowing n (ω 0 ) n (ω 1 ) H n (0) H n (1) H n (N 1) Y n (ω 0 ) Y n (ω 1 ) DFT IDFT mn- YmN- STFT Time Varying Modification Modified Spectrum Overlap Add Buffer FBS Perform multiplicative time varying spectral modification before resynthesis Results in convolution of the signal and the windowed time varying impulse response of the filter Spectral changes occur immediately Discontinuities likely in time domain when filter changes 14
OLA more practical for time-varying filter implementation n (ω 0 ) e jω 0n H n (0) e jω 0n x(n) n (ω 1 ) + e jω 1n H n (1) e jω 1n n (ω N 1 ) e jω N 1n H n (N 1) e jω N 1n STFT Time Varying Modification 15