我目前正在尝试根据音频文件对情绪进行分类(7类(。我做的第一件事是使用python_speech_features库中的mfcc函数提取特性(https://python-speech-features.readthedocs.io/en/latest/#functions-在python语音特征模块中提供(。
在文档中,它说每一行都包含一个特征向量。问题是,由于音频长度不同,每个音频文件返回的行(特征(数量不同。例如,对于audio_1,输出的形状是(155,13(,对于audil_2,输出的颜色是(258,13(。关于如何使它们保持相同的形状,有什么建议吗?我目前正在使用PCA来强制数据具有相同的维度,这是一种正确的方法吗?
这就是我提取特征的方式:
sample_rate, data = wavfile.read(path)
mfccExtract = features.mfcc(data, sample_rate, winfunc=np.hamming)
如果您希望每个音频样本的长度相同,有4种不同的方法可用:
-
零填充
-
N模缩减
-
插值
-
动态时间包装
您可以对每个音频样本使用其中任何一种方法。这些方法可以在学术论文中找到。