2024-09-30 00:37:20 发布
网友
嗨已经在python中做了一个从音频文件中获取基本频率的源代码,我想用它来从DTMF音频中获取音调!在
但是如何从音频中获得低音?在
太棒了!!在
正是我用FFT,但它的返回总是高频。在
频率表在这里
http://www.mediacollege.com/audio/tone/dtmf.html
例如,当我得到键“1”的一个.wav音频文件时,我只有1209的频率
在这种情况下,键“1”的低频率是697,FFT不给我这个:-(
要获得波(任何声音,不仅是DTMF,还有所有其他波形)中出现的频率,您可以应用快速傅立叶变换。在
当你把它应用于DTMF时,你会得到信号包含的两个频率的两个峰值。在
http://en.wikipedia.org/wiki/Fast_Fourier_transform
由于DTMF只需要几个频率的信息,所以可以尝试对每个频率使用Goertzel algorithm。您不需要所有的FFT单元;而且您可以根据时间窗,然后FFT单元最终在哪里居中,更精确地定位感兴趣的频率。在
将Goertzel滤波器的幅度输出与RMS总能量进行比较,以确定是否存在音调。然后执行一个表查找DTMF frequencies存在的代码以获得代码。在
要获得波(任何声音,不仅是DTMF,还有所有其他波形)中出现的频率,您可以应用快速傅立叶变换。在
当你把它应用于DTMF时,你会得到信号包含的两个频率的两个峰值。在
http://en.wikipedia.org/wiki/Fast_Fourier_transform
由于DTMF只需要几个频率的信息,所以可以尝试对每个频率使用Goertzel algorithm。您不需要所有的FFT单元;而且您可以根据时间窗,然后FFT单元最终在哪里居中,更精确地定位感兴趣的频率。在
将Goertzel滤波器的幅度输出与RMS总能量进行比较,以确定是否存在音调。然后执行一个表查找DTMF frequencies存在的代码以获得代码。在
相关问题 更多 >
编程相关推荐