从 MFCC 到机器学习。步骤是什么?

信息处理 声音的 傅里叶变换 mfcc 分类 机器学习
2022-01-27 13:20:42

我能够获得具有 MFCC 系数的数据集。但是,根据我的声音文件的长度,我会得到一个不同大小的矩阵。如 XXX 的 13 个(13 个 MFCC 系数),其中 XXX 将根据声音文件的长度而变化。“规范化”以保持 XXX 一致是否有意义?如果是这样,怎么做?就像在这个例子中一样,矩阵的大小总是变化的:https ://archive.ics.uci.edu/ml/machine-learning-databases/00195/Test_Arabic_Digit.txt

另外,我将如何将其输入机器学习算法?(即k-NN、HMM 等)如果每个声音文件只有一行(例如每个声音1 x 13),我有点想通了怎么做。如果是MFCC,步骤是什么?我在这里有点迷路。

感谢您的帮助。

1个回答

使用机器学习算法可以做两件事: 1. 回归——获取输入数据并返回输出数值。这也称为曲线拟合、参数估计等。 2. 分类——获取输入数据并从离散集中返回决策。在传统的统计术语中,这类似于假设检验。

(我假设您对分类感兴趣。)

如果您正在进行监督学习,您将需要一些训练数据,即已用先验知识标记的 MFCC 系数集。例如,如果您要识别美国英语口音,您将需要一些来自新英格兰人、南方人、中西部人等的音频数据,从中提取 MFCC 系数并手动标记它们。这些系数称为特征,将高维数据集(即音频剪辑)提炼成几个系数(即 MFCC 系数)的算法称为特征提取

获得训练数据和标签后,您可以使用 Python sklearn 库等库轻松应用 KNN 等简单算法。