Birdsong音频分析 - 找出两个片段的匹配程度

Tho*_*mas 19 python audio pattern-recognition image-processing

我有~100个wav音频文件,采样率为48000只相同物种的鸟我想测量它们之间的相似性.我从波形文件开始,但我知道(非常轻微)更多关于处理图像的事情,所以我假设我的分析将在光谱图像上.我有几个不同日子的鸟类样本.

以下是数据的一些示例,以及(未标记轴的道歉; x是样本,y是线性频率乘以10,000 Hz): 替代文字 这些鸟鸣显然出现在"单词"中,不同的歌曲部分可能是我应该比较的水平; 相似词之间的差异以及各种词的频率和顺序. 替代文字

我想尝试取出蝉噪声 - 蝉鸣频率非常一致,并且倾向于相位匹配,所以这不应该太难. 替代文字

似乎某些阈值可能有用.

我被告知大多数现有文献都使用基于歌曲特征的手动分类,如潘多拉音乐基因组计划.我想成为Echo Nest ; 使用自动分类.更新:很多人都研究过这个.

我的问题是我应该使用哪些工具进行分析?我需要:

  • 过滤/降低一般噪音并保持音乐
  • 过滤出类似蝉的特定噪音
  • 对鸟类中的短语,音节和/或音符进行拆分和分类
  • 创建部件之间差异/相似性的度量; 一些可以捕捉鸟类之间差异的东西,最大限度地减少同一只鸟的不同召唤之间的差异

我选择的武器是numpy/scipy,但openCV可能在这里有用吗?

编辑:经过一些研究和史蒂夫的有用答案后,更新了我的术语和重写方法.

Wil*_*iam 6

不得不做出这个答案,因为评论的时间太长了.

我现在基本上都在这个领域工作,所以我觉得我有一些知识.显然,从我的观点来看,我建议使用音频而不是图像.我还建议使用MFCC作为特征提取(您可以将其视为汇总/表征音频特定子带的系数[因为它们是]).

转基因生物即将到来.

要执行此任务,您必须拥有一些(最好是很多)标记/已知数据,否则没有机器学习的基础.

您可能会觉得有用的技术性:

然后,在测试期间,你向GMM提交一个查询MFCC向量,它将告诉你它认为它是哪个物种.

更准确地说,您向每个GMM提交一个查询(如果您正确使用它们,则每个GMM都会为您提供该概率分布所发出的特定特征向量的可能性得分[概率]).然后,您比较从所有GMM收到的所有可能性分数,并根据您收到的最高分类进行分类.

UBM中

您可以使用UBM(通用背景模型)简单地模拟所有背景噪声/通道失真,而不是"滤除"噪声.该模型由使用您可用的所有训练数据(即您为每个班级使用的所有训练数据)训练的GMM组成.您可以使用它来获得"似然比"(Pr [x将由特定模型发出]/Pr [x将由背景模型(UBM)发出])以帮助消除可由背景模型解释的任何偏差本身.

  • 只需要评论:HMM不是**被描述为"多州GMM".HMM反映了数据中的短期时间关系,而GMM没有内置的时间概念.HMM不必使用高斯混合,而是GMM.HMM在隐藏状态和观察之间存在分离,而GMM则没有.如果它有用,这里有一个免费的Python MFCC + GMM实现,它反映了这里讨论的基本模型:https://github.com/danstowell/smacpy (2认同)

Ste*_*joa 5

有趣的问题,但相当广泛.我建议查看一些关于自动鸟鸣识别的现有文献.(是的,有很多人正在研究它.)

本文(编辑:对不起,死链接,但Dufour等人2014年的这一章可能更清楚)使用了我建议先尝试的基本两阶段模式识别方法:特征提取(本文使用MFCC),然后分类(本文使用GMM).对于输入信号中的每个帧,您将获得一个MFCC向量(介于10到30之间).这些MFCC载体用于训练GMM(或SVM)以及相应的鸟类物种标记.然后,在测试期间,您向GMM提交一个查询MFCC向量,它将告诉您它认为它是哪个物种.

虽然有些人已经将图像处理技术应用于音频分类/指纹识别问题(例如,Google Research的这篇论文),但由于时间变化烦人,我不愿意为您的问题推荐这些技术.

"我应该使用哪些工具进行分析?" 在许多其他人中:

  1. 特征提取:MFCC,起始检测
  2. 分类:GMM,SVM
  3. 谷歌

对于不完整的答案感到抱歉,但这是一个广泛的问题,这个问题还有很多,可以简单回答一下.