On Sun, Mar 8, 2020 at 8:02 PM Spencer Russell <s...@media.mit.edu> wrote:
> In fact, the the standard STFT analysis/synthesis pipeline is the same > thing as overlap-add "fast convolution" if you: > > 1. Use a rectangular window with a length equal to your hop size > 2. zero-pad each input frame by the length of your FIR kernel minus 1 > Indeed, the two ideas are closely related and can be combined. It's more a difference in the larger approach. If you can specify the desired response in terms of an FIR of some fixed length, then you can account for the circular effects and use fast FIR. Note that this is a time-variant MIMO system constructed to be equivalent to a time-invariant SISO system (modulo finite word length effects, as you say). Alternatively, the desired response can be specified in the STFT domain. This comes up naturally in situations where it is estimated in the frequency domain to begin with, such as noise suppression or channel equalization. Then, circular convolution effects are controlled through a combination of pre/post windowing and smoothing/conditioning of the frequency response. Unlike the fast FIR case, the time-variant effects are only approximately suppressed: this is a time-variant MIMO system that is *not* equivalent to any time-invariant SISO system. So there is an extra layer of engineering needed in STFT systems to ensure that time domain aliasing is adequately suppressed. With fast FIR, you just calculate the correct size to zero-pad (or delete), and then there is no aliasing to worry about. Ethan
_______________________________________________ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp