librosa库的cqt()函数是什么样的
时间: 2024-03-10 15:51:07 浏览: 126
`librosa`库的`cqt()`函数是用于计算CQT(常量Q变换)的函数,其函数原型如下:
```python
librosa.cqt(y=None, sr=22050, hop_length=512, fmin=None, n_bins=84, bins_per_octave=12, tuning=0.0, filter_scale=1, norm=1, sparsity=0.01, window='hann', scale=True, pad_mode='reflect', res_type=None)
```
其中,常用参数的含义如下:
- `y`:音频信号。如果不指定该参数,则需要在后续的处理过程中提供音频数据。
- `sr`:采样率。
- `hop_length`:帧移,即相邻两帧之间的样本数。默认值为`512`。
- `fmin`:CQT变换的最低频率。默认为`None`,此时取值为`C1`(约为32.7 Hz)。
- `n_bins`:频率轴上的点数。默认为`84`,对应于7个八度的音高范围。
- `bins_per_octave`:每个八度的频率点数。默认为`12`,即将一个八度分成12个音高。
- `tuning`:琴弦的调弦。默认为`0.0`。
- `filter_scale`:CQT核的大小。默认为`1`,即使用标准的CQT核。
- `norm`:是否对CQT系数进行归一化。默认为`1`,即进行L2归一化。
- `sparsity`:CQT核的稀疏度。默认为`0.01`。
- `window`:窗函数。默认为`'hann'`,即汉宁窗。
- `scale`:是否将CQT系数转换为dB单位。默认为`True`。
- `pad_mode`:补零方式。默认为`'reflect'`,即用信号的镜像对称补零。
- `res_type`:重采样方式。默认为`None`,即不进行重采样。
函数返回值是一个*F*行*n*列的矩阵,表示*F*个频率上,在*n*个时间帧上的CQT系数取值。
阅读全文