2012-12-23 118 views
2

我已经搜索了很多,没有成功解决我的问题。我需要识别wav文件中的拨号音或直接从麦克风识别拨号音,或者更好地检测:是否线路(直接连接到音频卡的线路输入)是空闲的。从麦克风或音频文件识别拨号音

在我的国家(意大利)拨号音是425赫兹的声波。我的想法是从麦克风2s录音注册到wav文件,然后加载数据并应用离散FFT,然后在结果中搜索该频率。然而,我不知道该编码什么。

我有一些问题: 1)DFT库使用 2)字节和双之间的转换 3)转换完成之后,如何从复杂阵列检测所述所需频率是本

代码示例是受欢迎的!

预先感谢您!

+0

我认为你是在正确的轨道上。 [这正是我如何实现它] – MrSmith42

+1

FFT可能是矫枉过正,数字带通滤波器似乎更容易实现。 – Henry

回答

2

检测是否存在特定色调的最简单方法是Goertzel Filter。这实际上只是在感兴趣的频率上评估DFT,比评估一个完整的FFT然后丢弃除一个输出箱以外的所有元件都要简单得多,而且计算量更小。

关于使用Goertzel算法进行音频检测,有许多关于SO的问题和答案,例如, DTMF检测 - 你可能想研究其中的一些,因为它们包含有用的信息和示例代码。

+1

是的,非常好的方法!谢谢! –