首页 > 解决方案 > python中的特征提取语音(梅尔频率倒谱系数)

问题描述

我目前正在尝试根据音频文件对情绪(7 类)进行分类。我做的第一件事是使用 python_speech_features 库中的 mfcc 函数提取特征(https://python-speech-features.readthedocs.io/en/latest/#functions-provided-in-python-speech-features-模块)。

在文档中,它说每一行都包含一个特征向量。问题是每个音频文件返回不同数量的行(特征),因为音频长度不同。例如,对于 audio_1,输出的形状是 (155,13),对于 audio_2,输出的形状是 (258,13)。关于如何使它们具有相同形状的任何建议?我目前正在使用 PCA 强制数据具有相同的维度,这是正确的方法吗?

这就是我提取特征的方式:

sample_rate, data = wavfile.read(path)
mfccExtract = features.mfcc(data, sample_rate, winfunc=np.hamming)

标签: pythonspeech-recognitionfeature-extractionmfcc

解决方案


如果您希望每个音频样本的长度相同,可以使用 4 种不同的方法:

  1. 零填充

  2. N 模减少

  3. 插值

  4. 动态时间包装

您可以对每个音频样本使用其中任何一种方法。这些方法可在学术论文中找到。


推荐阅读