Constant-Q transform

From Hydrogenaudio Knowledgebase
Revision as of 06:28, 17 May 2023 by TF3RDL (talk | contribs) (Added a page about a logarithmically-spaced multi-band Goertzel filter bank)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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