如果我有一个录制的音频文件 (MP3),有没有办法找出用纯 Python 录制的 DTMF 音调?
(如果没有纯python,那么Java也可以。关键是它应该能够在Google Appengine中运行)
首先,您需要以给定的位深度和采样率将 MP3 解码为原始样本的未压缩格式。然后寻找构成每个 DTMF 音调的频率。虽然 FFT 可以用于此,但规范算法是 Goertzel 算法,它利用了在进行转换之前您知道自己关心的频率这一事实:http ://en.wikipedia.org/wiki/Goertzel_algorithm
确实存在一些使用 Goertzel 检测 DTMF 的免费 python 代码,虽然我自己没有尝试过,但请看一下:
对数据进行 FFT。您应该在两个音调的频率处获得尖峰。