如何从DTMF音调中获得低频率

2024-09-30 00:37:20 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨已经在python中做了一个从音频文件中获取基本频率的源代码,我想用它来从DTMF音频中获取音调!在

但是如何从音频中获得低音?在

太棒了!!在


正是我用FFT,但它的返回总是高频。在

频率表在这里

http://www.mediacollege.com/audio/tone/dtmf.html

例如,当我得到键“1”的一个.wav音频文件时,我只有1209的频率

在这种情况下,键“1”的低频率是697,FFT不给我这个:-(


Tags: fftcomhttp源代码www音频audio音频文件
2条回答

要获得波(任何声音,不仅是DTMF,还有所有其他波形)中出现的频率,您可以应用快速傅立叶变换。在

当你把它应用于DTMF时,你会得到信号包含的两个频率的两个峰值。在

http://en.wikipedia.org/wiki/Fast_Fourier_transform

由于DTMF只需要几个频率的信息,所以可以尝试对每个频率使用Goertzel algorithm。您不需要所有的FFT单元;而且您可以根据时间窗,然后FFT单元最终在哪里居中,更精确地定位感兴趣的频率。在

将Goertzel滤波器的幅度输出与RMS总能量进行比较,以确定是否存在音调。然后执行一个表查找DTMF frequencies存在的代码以获得代码。在

相关问题 更多 >

    热门问题