Algorithm 检测音调的声音

Algorithm 检测音调的声音,algorithm,audio,fft,detection,pitch,Algorithm,Audio,Fft,Detection,Pitch,我有一个应用程序,它试图从音频数据中检测警报器。然而,我对音频概念和术语的理解是初步的 我的应用程序的第一步是检测音调的声音。我为此实现的算法如下所示: 将音频数据拆分到windows中 使用FFT将每个窗口中的数据转换为频域 提取主频的幅值(忽略0)。让这是maxMag 提取所有FFT桶的平均幅度(忽略桶0)。让这件事变得有意义吧 如果maxMag/meanMag>某个阈值,则窗口包含音调声音 这个算法有意义吗?我的术语正确吗 谢谢。如果检测到一个音调(或一小组音调),则不需要进行完整的F

我有一个应用程序,它试图从音频数据中检测警报器。然而,我对音频概念和术语的理解是初步的

我的应用程序的第一步是检测音调的声音。我为此实现的算法如下所示:

  • 将音频数据拆分到windows中
  • 使用FFT将每个窗口中的数据转换为频域
  • 提取主频的幅值(忽略0)。让这是maxMag
  • 提取所有FFT桶的平均幅度(忽略桶0)。让这件事变得有意义吧
  • 如果maxMag/meanMag>某个阈值,则窗口包含音调声音
这个算法有意义吗?我的术语正确吗


谢谢。

如果检测到一个音调(或一小组音调),则不需要进行完整的FFT。您可以使用来检测特定的音调。你可能不关心你所寻找的音调相对于其他任何东西的水平,因此你应该能够避免“主频”测试,除非你有理由只检测环境中最响亮的音调