我正在读取来自麦克风的原始波流。
(这部分工作,因为我可以将它发送到扬声器并得到很好的回声。)
为简单起见,假设我想检测波形数据中的 DTMF 音调。实际上我想检测任何频率,而不仅仅是 DTMF 中的频率。但我始终知道我在寻找哪个频率。
我已经尝试通过 FFT 运行它,但如果我想要高精度的检测(假设它只存在 20 毫秒),它似乎不是很有效。我可以将其检测到大约 200 毫秒的精度。
关于算法,我有哪些选择? 是否有任何 .Net 库?
最佳答案
您可能想查看 Goertzel algorithm如果您正在尝试检测特定频率,例如 DTMF 输入。有一个C# DTMF generator/detector Sourceforge 上基于此算法的库。
关于c# - 从原始波形数据中检测特定频率/音调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4808893/