#MFCC (梅尔频率倒谱系数) #mfccs = librosa.feature.mfcc(x=x, sr=sr) import numpy as np mfccs = np.mean(librosa.feature.mfcc(y=x, sr=8000, n_mfcc=12).T, axis=0) import librosa.display print(mfccs.shape) #Displaying the MFCCs: librosa.display.specshow(y=mfccs, sr=sr, x_axis='time')
时间: 2024-02-23 11:03:07 浏览: 393
mfcc.zip_MFCC_mfcc in python_mfcc python_python mfcc_scale
这段代码使用了 `librosa` 库来计算语音信号的 MFCC(梅尔频率倒谱系数)特征,并使用 `numpy` 库计算 MFCC 特征的平均值。接下来,使用 `librosa.display.specshow()` 函数来可视化 MFCC 特征。具体来说,这段代码的步骤如下:
1. 导入所需的库:`numpy` 和 `librosa`
2. 读取音频文件并将其转换为采样率为 8000 Hz 的单声道音频信号 `x` 和采样率 `sr`
3. 使用 `librosa.feature.mfcc()` 函数计算 `x` 的 MFCC 特征,其中 `n_mfcc=12` 表示计算 12 维 MFCC 特征
4. 使用 `numpy.mean()` 函数计算 MFCC 特征的平均值,并将其存储在变量 `mfccs` 中
5. 使用 `librosa.display.specshow()` 函数可视化 `mfccs`,其中 `sr` 参数指定采样率,`x_axis='time'` 表示显示时间轴
需要注意的是,这段代码中的 `librosa.display.specshow()` 函数的参数 `mfccs` 是一个一维数组,而函数期望的参数是一个二维数组。因此,需要将 `mfccs` 转置后再传递给函数。你可以尝试将最后一行修改为如下代码:
```
librosa.display.specshow(y=mfccs[np.newaxis,:], sr=sr, x_axis='time')
```
这里使用 `np.newaxis` 将 `mfccs` 数组转换为一个二维数组,并将其作为 `y` 参数传递给 `librosa.display.specshow()` 函数。
阅读全文