检测到响亮的脉冲声

时间:2015-12-07 18:42:51

标签: raspberry-pi filtering signal-processing raspberry-pi2

我试图在锉刀上设计一个系统,可以像拍手一样检测到响亮的突然声音。我能够实时捕获输入声音样本(使用简单的python程序),但需要一种有效的方法在这些在线样本上运行我的算法以指示峰值。我不熟悉用于此类应用程序的过滤器。有什么建议?

1 个答案:

答案 0 :(得分:1)

  1. 应用高通,1 kHz以上似乎工作得相当好。拍手应该包含大部分高频成分。
  2. 计算rms,例如对高通的输出进行平方,将其平均值超过最后100个样本以平滑
  3. 在某个时间窗口上标准化,例如最后N个样本。确保使此窗口的长度超过均方根的移动平均值。对于当前样本,减去此缓冲区的平均值并除以缓冲区中的标准偏差。这样,您可以检测窗口中信噪比的相对变化,这与当前幅度无关。
  4. 选择一个阈值SNR来声明一个鼓掌