如何从DTMF音调获得低频 [英] how get low frequency from DTMF tone
问题描述
您好,我在python中制作了一个源,用于从音频文件中获取基本频率,我想将其用于从DTMF音频中获取音调!
Hi have made one source in python for get fundamental frequecys from audio files, i want use this for get tones from DTMF audios !
但是如何从音频中获得低音?
but how get the low tones from the audio?
谢谢!
完全应用FFT,但其返回始终是高频.
Exactly im apply FFT but its return always the High Frequency.
此处的频率表
http://www.mediacollege.com/audio/tone/dtmf.html
例如,当我得到一个键为"1"的.wav音频文件时,我的请求频率为1209
For exemple when i get one .wav audio file of key "1" i have just the requency 1209
在这种情况下,如何获得键"1"的低频为697,FFT不要给我这个信息:-(
how get the low frequency in this case for key "1" is 697, FFT dont give me this :-(
推荐答案
由于您仅需要使用DTMF的少数几个频率的信息,因此您可能想尝试使用
Since you only need information on a few frequencies with DTMF, you might want to try using the Goertzel algorithm for each frequency. You don't need all the FFT bins; and you might be able to target the frequencies of interest more precisely, depending on the time window, then wherever the FFT bins end up centered.
将Goertzel滤波器的幅度输出与RMS总能量进行比较,以决定是否存在音调.然后做一个表查找是否存在 DTMF频率以获取代码.
Compare the magnitude outputs of the Goertzel filters with the RMS total energy to make some decision for tone presence. Then do a table look up for the DTMF frequencies present to get the code.
这篇关于如何从DTMF音调获得低频的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!