python - 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)
解决方案
如果您希望每个音频样本的长度相同,可以使用 4 种不同的方法:
零填充
N 模减少
插值
动态时间包装
您可以对每个音频样本使用其中任何一种方法。这些方法可在学术论文中找到。
推荐阅读
- python - 当我的程序崩溃时,打开的文件会发生什么?
- python - 如何在 python/flask 中访问这个 ImmutableMultiDict 中的键值?
- javascript - 有条件的 onChange 功能不起作用
- python - 如何将我知道其 ID 的用户添加到 Django Channels channel_layer 组?
- c++ - 使用 YMODEM 协议通过串行通信将文件从 SPIFFS (ESP8266) 传输到 PC
- keras - 超过 3 个通道的 Keras 卷积层内核大小
- rubymine - 使用 RubyMine 调试 Fastlane
- c++ - 从 Windows 注册表下载类型库
- android - 如何使用 Android CameraX ImageAnalysis 提高帧速率?
- here-api - HERE平台上的批量地图更新