对短音频样本进行分类

时间:2015-06-04 10:27:07

标签: python audio signal-processing voice phoneme

我有少量相似类型的声音(我将这些称为DB_sounds)我需要匹配录音(Rec_sounds)。每个Rec_sound都很短且唯一,需要与其对应的DB_sound匹配。我该如何匹配它们?

为了说明我的问题,请考虑以下事项:
鲍勃在房间A中发出深沉的声音(带有一些背景噪音)说 Ma
爱丽丝在B房间高声说 Eh
宝宝正在学习说话。他的第一个词是 Eh

Ma和Eh是两种不同类型的DB_sounds,因此我必须返回2个不同的结果。我有几个不同人的DB_sound样本说 Ma Eh 来比较Rec_sounds到

我正在处理的声音是单音节的录音,如 la,ba,ne,eh,ma 等。

我应该如何解决这个问题? 我认为音频指纹识别不起作用(参见频谱图),现有的语音识别软件如this google api integration in python不起作用,因为我不是在试图识别人类语言,而只是声音。

我不介意从头开始构建一些东西,只需指出我认为可行的方向,并请为你为什么这么认真添加充分的理由。

8个婴儿样本的光谱图 EH enter image description here

8个婴儿样本的时域图表 EH enter image description here

1 个答案:

答案 0 :(得分:1)

如果你只想识别声音,我会从一个简单的程序开始:

  1. 从每个声音样本中裁剪静音(简单的能量阈值)。
  2. 为数据库的每个示例计算音频功能(例如MFCCs)。
  3. 执行交叉验证的分类程序,将音频功能映射到您想要识别的声音类别。
  4. 有用的Python Libs:scipy用于阅读wav文件,essentia用于音频特征提取,scikit-learn用于分类和其他机器学习。