对短音频样本进行分类

categorizing short audio samples

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

为了说明我的问题,请考虑以下内容:
Bob 在 A 房间用低沉的声音(有一些背景噪音)说 Ma
B 房间的爱丽丝用高音说 Eh
婴儿正在学习说话。他的第一个词是Eh

Ma 和 Eh 是 2 种不同类型的 DB_sounds,所以我必须 return 2 种不同的结果。我有几个 DB_sound 样本,不同的人说 MaEh 来比较 Rec_sounds 和

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

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

我不介意从头开始构建一些东西,只需指出您认为可行的方向,并请充分说明您的想法。

婴儿说话的 8 个样本的频谱图 EH

宝宝说的8个样本的时域图EH

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

  1. 从每个声音样本中裁剪静音(简单的能量阈值)。
  2. 计算每个数据库样本的音频特征(例如 MFCCs)。
  3. 执行交叉验证分类程序,将音频特征映射到您要识别的声音类别。

有用的 Python 库:scipy for reading wav files, essentia for audio feature extraction, scikit-learn 用于分类和其他机器学习。