一尘不染

从原始波数据中检测特定的频率/音调

algorithm

我正在读取来自麦克风的原始波流。
(这部分工作正常,因为我可以将其发送给扬声器并获得良好的回声。)

为了简单起见,假设我要在波形数据中检测DTMF音。实际上,我想检测任何频率,而不仅仅是DTMF中的频率。但是我总是知道我要寻找哪个频率。

我曾尝试通过FFT运行它,但是如果我想要高精度的检测(例如,它只存在20毫秒),似乎效率不高。我可以将其检测到大约200毫秒的精度。

关于算法,我有哪些选择?是否有任何.Net库?


阅读 231

收藏
2020-07-28

共1个答案

一尘不染

如果尝试检测特定频率(例如DTMF输入),则可能需要查看Goertzel算法。基于此算法,Sourceforge上有一个C#DTMF生成器/检测器库。

2020-07-28