How do "spectral" (FFT-based) dynamics processors work?
-
- KVRian
- Topic Starter
- 626 posts since 30 Aug, 2012
There are many spectral dynamics processors on the market these days that appear to be FFT-based - which I find a bit baffling.
FFTs typically have poor time resolution due to the fact that their frequency bins are averaged over the FFT window length (e.g., 1024 samples).
Traditional compressors/limiters, on the other hand, typically processes EVERY sample and even in between samples (in the case of oversampling plugins).
So, unless a huge amount of FFT overlap is used (which would choke most CPUs) how does one get enough time resolution out of an FFT to enable effective dynamics control?
FFTs typically have poor time resolution due to the fact that their frequency bins are averaged over the FFT window length (e.g., 1024 samples).
Traditional compressors/limiters, on the other hand, typically processes EVERY sample and even in between samples (in the case of oversampling plugins).
So, unless a huge amount of FFT overlap is used (which would choke most CPUs) how does one get enough time resolution out of an FFT to enable effective dynamics control?
Last edited by Fender19 on Sat Sep 21, 2019 4:09 pm, edited 1 time in total.
-
Zaphod (giancarlo) Zaphod (giancarlo) https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=111268
- KVRAF
- 2596 posts since 23 Jun, 2006
Not my expertise, but I guess they use an fft based eq (modified dynamically but at a lower rate, not necessarily) and they mix with bypassed version with a traditional dynamic compressor component. You can even use a multiband compressor approach, but it would be much more complicated. Just my guess
- KVRist
- 347 posts since 20 Apr, 2005 from Moscow, Russian Federation
In simple case you can always have two parallel kernels (the first tuned to current/source setting and the second to target/destination) and crossfade between their outputs on the same per-sample basis. This obviously won't work when it's about modulating the band frequencies but for band gains (usually the case of "effective dynamics control") that'll work like a charm.
-
- KVRian
- 1097 posts since 28 May, 2010 from Finland
I was exploring this some time ago. I'm not an expert on the topic, but I found out some things:
-Dynamics processing is sonically (artifact-free) better done in time domain, unless one has good math skills. Problem exists in being able to "reconstruct" the signal after one alters it in frequency domain. Another problem is how to "bufferize" the dynamics processing using FFT, because FFT acts typically on quite short blocks of audio. There exists theory based on wavelets and stuff that allow doing amplitude modulation in frequency domain, but on conventional level there exists many cave-eats in "modifying FFT bins".
-A "cross" between "spectral dynamics processing" and "time-domain dynamics processing" is to use time-domain filter banks and add dynamics processing on those bands. So essentially, do multi-band compressors that act in time-domain.
One can also use FFTs for finding the frequencies to adjust. But then do the actual processing in time-domain.
-Dynamics processing is sonically (artifact-free) better done in time domain, unless one has good math skills. Problem exists in being able to "reconstruct" the signal after one alters it in frequency domain. Another problem is how to "bufferize" the dynamics processing using FFT, because FFT acts typically on quite short blocks of audio. There exists theory based on wavelets and stuff that allow doing amplitude modulation in frequency domain, but on conventional level there exists many cave-eats in "modifying FFT bins".
-A "cross" between "spectral dynamics processing" and "time-domain dynamics processing" is to use time-domain filter banks and add dynamics processing on those bands. So essentially, do multi-band compressors that act in time-domain.
One can also use FFTs for finding the frequencies to adjust. But then do the actual processing in time-domain.
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4292 posts since 8 Mar, 2004 from Berlin, Germany
maybe i'm missing something, but aren't these problems solved by the griffin-lim formula, (Eq. 6 here: https://pdfs.semanticscholar.org/14bc/8 ... 24a4f1.pdf)?soundmodel wrote: ↑Sat Sep 21, 2019 4:09 pmProblem exists in being able to "reconstruct" the signal after one alters it in frequency domain.
-
- KVRian
- 1097 posts since 28 May, 2010 from Finland
Here's one paper:
FFT-BASED DYNAMIC RANGE COMPRESSION
Leo McCormack and Vesa Välimäki,2017
Proceedings of the 14th Sound and Music Computing Conference,July 5-8, Espoo, Finland
http://smc2017.aalto.fi/media/materials ... 17_p42.pdf
FFT-BASED DYNAMIC RANGE COMPRESSION
Leo McCormack and Vesa Välimäki,2017
Proceedings of the 14th Sound and Music Computing Conference,July 5-8, Espoo, Finland
http://smc2017.aalto.fi/media/materials ... 17_p42.pdf
-
- KVRian
- Topic Starter
- 626 posts since 30 Aug, 2012
Excellent info! Thank you.soundmodel wrote: ↑Sun Sep 22, 2019 8:26 am Here's one paper:
FFT-BASED DYNAMIC RANGE COMPRESSION
Leo McCormack and Vesa Välimäki,2017
Proceedings of the 14th Sound and Music Computing Conference,July 5-8, Espoo, Finland
http://smc2017.aalto.fi/media/materials ... 17_p42.pdf