我正在尝试使用librosa创建MFCC图,但该图似乎并不十分详细。目标是将该MFCC频谱图呈现给神经网络。我正在测试的音频文件长约1秒,来自Google Speech Commands数据集。我的代码是:

WINDOW_SIZE = 20
NFFT=int((WINDOW_SIZE/1000)*16000)

samples, _ = librosa.load(f, sr=16000)

mfccs = librosa.feature.mfcc(y=samples[:16000], sr=16000, n_fft=NFFT, n_mfcc=40)

plt.figure(figsize=(10, 4))
librosa.display.specshow(mfccs, x_axis='time')
plt.colorbar()
plt.title('MFCC')
plt.tight_layout()
plt.show()


这是正在产生的MFCC频谱图:

python - librosa产生“不详细的” MFCC频谱图-LMLPHP

最佳答案

与其他系数相比,第0个系数具有更多的能量,因此其他频带中的差异在图中未显示得很好。

您可能需要对此进行归一化,以使所有系数都在同一范围内。您可以计算每个系数的平均值和std,然后通过减去平均值并除以标准偏差来进行标准化。可以针对每个剪辑或跨训练集进行此操作。

10-07 19:12
查看更多