2010-06-16 33 views
2

如果我有錄製的音頻文件(MP3),是否有任何方法可以找出在純Python中錄製的DTMF音調?在Python中解析(提取)DTMF

(如果純Python不可用,那麼Java是好的了。是它應該能夠在谷歌的AppEngine運行點)

回答

6

首先,您需要將MP3解碼爲指定位深度和採樣率下的未壓縮格式的原始採樣。然後您查看組成每個DTMF​​音頻的頻率。雖然FFT可以用於此,但是該通用算法是Goertzel算法,該算法利用了以下事實:在進行轉換之前知道你關心的是什麼頻率:http://en.wikipedia.org/wiki/Goertzel_algorithm

確實存在用於檢測DTMF的一些免費python代碼使用戈澤爾,雖然我還沒有嘗試過自己,看一看:

http://johnetherton.com/projects/pys60-dtmf-detector

1

請在數據的FFT。你應該在兩個音調的頻率上得到尖峯。

+0

我看到WAV文件提到了這個方法。你確定它也可以用於MP3嗎? – yydl 2010-06-16 03:27:01

+0

當然,你必須首先解碼MP3,但是,一旦你這樣做了,數據的起源就會變得或多或少變得無關緊要。 – 2010-06-16 03:31:41