【问题标题】:Detect a beep of a certain frequency and duration检测特定频率和持续时间的哔声
【发布时间】:2014-01-09 16:57:25
【问题描述】:

如何从频率和持续时间已知但到达时间未知的音频数据中检测到蜂鸣声? 我正在尝试实现一个带通滤波器来忽略任何未知频率的声音。我还没有成功。一旦我成功了,我会检查声音的幅度,如果它在我的固定时间内超过某个阈值。那应该检测到哔哔声。有人告诉我,傅里叶变换也可以用来检测哔声。

哪种策略更好?

此外,在听录音时,我开始相信 Windows 或我的笔记本电脑 (Inspiron 15R) 的声音驱动程序正在对麦克风输入应用某种降噪滤波器。这在笔记本电脑上很常见吗?如果是,有什么方法可以从麦克风中获取未触及的真实音频?我正在使用 portaudio 库来获取声音。

【问题讨论】:

  • 我觉得这个问题应该移到dsp.stackexchange.com

标签: c audio fft portaudio


【解决方案1】:

这种音调检测任务(音调频率已知先验)最简单和最常用的方法是Goertzel Algorithm。它实际上只是感兴趣频率上的单个 bin DFT - 您获取输出并对其进行低通滤波,当它超过经验得出的阈值时,您就检测到了您的音调。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 2019-06-13
    相关资源
    最近更新 更多