如何从已知频率和持续时间但未知到达时间的音频数据中检测到蜂鸣声? 我正在尝试实现一个带通滤波器来忽略任何未知频率的声音。我还没有成功。一旦我成功了,我将检查声音的幅度是否在固定时间内超过了某个阈值。那应该检测到蜂鸣声。有人告诉我,傅立叶变换也可以用来检测蜂鸣声。
哪种策略更好?
此外,通过聆听录音,我开始相信 Windows 或我的笔记本电脑 (Inspiron 15R) 的声音驱动程序正在麦克风输入上应用某种降噪滤波器。这在笔记本电脑上常见吗?如果是的话,有什么办法可以从麦克风中获得未受影响的真实音频吗?我正在使用 portaudio 库来获取声音。
最佳答案
此类音调检测任务(其中音调频率先验已知)的最简单且最常见的方法是 Goertzel Algorithm 。它实际上只是感兴趣频率下的单箱 DFT - 您获取输出并对它进行低通滤波,当它超过凭经验得出的阈值时,您就检测到了您的音调。
关于c - 检测特定频率和持续时间的蜂鸣声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21026483/