Constant-Q transform: Difference between revisions

From Hydrogenaudio Knowledgebase
(Added a page about a logarithmically-spaced multi-band Goertzel filter bank)
 
No edit summary
Line 10: Line 10:


== List of audio applications that uses CQT ==
== List of audio applications that uses CQT ==
* [[Foobar2000:Components/CQT Analyzer (foo cqt analyzer)|CQT Analyzer (foo_cqt_analyzer)]] visualization component for foobar2000
* showcqt and showcwt filter in FFmpeg
[[Category:Technical]]
[[Category:Technical]]
[[Category:Signal Processing]]
[[Category:Signal Processing]]

Revision as of 06:33, 17 May 2023

Constant-Q and variable-Q transforms (CQT/VQT) are spectral analysis algorithms that usually have logarithmic frequency spacing and time/frequency resolution following octave series. Due to its usually logarithmic frequency resolution, it is suited for musical representation.

Overview

Usually, the FFT are linearly-spaced in frequency and are constant-bandwidth, which is better suited for perfect reconstruction, however, due to the fact musical notes are logarithmically-spaced and how auditory perception works, the FFT is not suited for anything musical even though it is used in some RTA analyzers.

The constant-Q transform can be constructed using multi-band Goertzel algorithm with each one has its own window size; lower frequencies have larger window size and vice versa, and with logarithmic frequency spacing (a 120-band Goertzels covering 20Hz-20kHz range and each band corresponds to musical notes). However, while the auditory perception are non-linear, it is not exactly logarithmic as the pitch perception is linear and constant-bandwidth at bass frequencies.

Although FFT itself can be used in conjunction with frequency-domain kernels, calculating a CQT directly is slow even with Goertzel algorithm unless a sliding DFT is used.

List of audio applications that uses CQT