Concepts in MIR and DSP

Constant Q transform (恒Q变换)

首先,CQT指的是一个特殊的滤波器组。该滤波器组的中心频率按指数分布,滤波带宽保持变化,且中心频率与带宽的比为常量Q。在频域,它的横轴频率是基于log2为底。而又因为8度音频率比为2,半音频率比2的1/12次方,所以如果做了CQT变换就很容易看出来pitch的分布,对音乐信号的处理和分析更加友好。

但CQT因为1)计算效率不如DFT, 2)不能像DFT那样轻易做逆变换,3)CQT做STFT比普通的通过DFT做STFT的方法更难 等原因,没有得到广泛的应用。

Window Function 窗函数

为什么要加窗?

首先需要明白什么是spectrogram。得到spectrogram的方法是,把时域信号按照帧为单位,分成多段等时长的信号,再对每个小时间段内的信号做傅立叶变换,那么就会得到每个时间段做对应的频谱,再把这种频谱作为纵坐标,这样就得到了每个时间段内的频率分布。

但在选择帧长度的时候,很难让每个帧正好是原信号周期的整数倍,这样就会出现 频谱泄漏。而为了尽可能避免这个问题,需要使用窗函数来处理一下时域信号。