检测带有上升音符的颤音

信息处理 声音的 频谱 分类
2022-02-22 09:13:53

在一个音频文件中,我想找到一种特定鸟类的叫声,这种叫声随着上升的音符发出摇摆不定的声音。您能否推荐在时域或频域中计算以捕捉其本质的最佳音频特征?

其中我尝试了 MFCC,但结果并不乐观(或者我的实施可能很差)。

[编辑]

在这篇文章中,我简要解释了这个问题,并包含了带有频谱图的示例音频文件:示例

这是另一个例子。所有标记的区域都包含我试图识别的奇异鸟(来自新西兰的著名不会飞的鸟)的叫声。标记原始音频非常嘈杂;所呈现的频谱图是对识别为仅噪声的区域应用高通滤波器和频谱减法的结果。

在此处输入图像描述

3个回答

我将从以下一组参数开始:

  • MFCC(我知道您尝试过,但请留在我身边)没有静态能量(第一个系数)
  • MPEG-7 中的一些描述符,例如:频谱平坦度、谐波、基频、频谱扩展等。您可以在此处找到有关它们的更多信息:单击或在这本好书中:MPEG-7 Audio and Beyond

您还应该包括他们应该真正提高准确性。您也可以尝试为其他参数计算这些。有了这个,您可以从高斯混合模型或支持向量机开始(我认为 GMM 将适合该任务)。在训练你的模型之后,只需在测试集上验证它(似乎很明显,但我见过很多项目,人们在训练集上测试他们的机器学习算法,增加了噪音,或者更糟糕的是,相同的训练数据)。ΔΔΔ

在此之后,您应该执行功能优化。这是重要的部分,因为某些特征是不相关的(即少数第一个滤波器组的频谱平坦度,而鸟的啁啾具有更高的频率)。可以在此处找到包含许多用于此目的的算法的不错的出版物:单击单击祝你好运!

我尝试使用 visoft 在其中一条评论中提出的 chirplet 变换(来自MPTK库) - 恐怕成功有限。并不是说它根本不起作用,而是我找到了更好的方法。

由于过程相当冗长,我邀请有兴趣的人阅读我创建的PDF小文章的第三与 chirplets 相比,它不仅快大约 20 倍,而且更灵活、准确和稳定。事实证明,它在猕猴桃识别方面比最初标记所提供数据的人更成功,我认为这是不可能的。以下是我使用的功能列表:

  • 知觉传播
  • 感知锐度
  • 光谱平坦度
  • 光谱滚降
  • 光谱减少
  • 光谱形状统计
  • 谱斜率
  • 线性预测编码 (LPC) 系数
  • 线谱对 (LSP) 系数
  • 倍频带信号强度 (OBSI) 系数

这个想法本质上与 jojek 提出的想法非常相似,所以 +1,谢谢!

实现细节可以在Github 的项目页面上找到。希望它可以帮助其他人从事类似的工作。任何意见、建议和问题都非常欢迎在这里和项目页面上。

我想您仍然希望隔离可以通过该上升模式识别的单个呼叫。你必须为此找到峰值。也许您首先识别并隔离“脉冲”,然后找到每个脉冲的最大频率,然后将您的程序剪切到有较大下降幅度的地方。