Compensating for Latency in Large Bin FFTs

Thestral Sound's icon

Hi all, I've recently made a patch that uses a lot of FFT processing, allowing one to imprint the spectral content of an input onto another input, either additive or subtractive.

Essentially, it can flip between either being a super precise sidechain frequency ducker, or a vocoder(ish).

The issue is that I'm using very large bin sizes (4096) to ensure the output is true to the source, but these large sized FFTs are seemingly too slow for catching stuff like sharp transients on drums. Is there a way to compensate for this at all? Or is that just the trade-off of the larger bin size?

The flipside is that there is a mistake in my patching, and this shouldn't actually be a problem. Either way, advice is very welcome.

Roman Thilenius's icon

simply put, you compensate for latency by delaying the rest (all parallel signals, within the effect and outside.) so a delay~ object for the music signal is all you need.

in the context of dynamics effects you might have to think twice; sometimes you only wanted to delay for half the analysis window size.

Thestral Sound's icon

Hmm, that's what my initial thought was, but I'm not sure how to figure out the extent of the latency generated for the processed signal.

Roman Thilenius's icon

if you dont trust calculations or helpfiles, send a click through it and measure the latency. pfft can be confusing.