Разбор (извлечение) DTMF в Python - PullRequest
2 голосов
/ 16 июня 2010

Если у меня есть записанный аудиофайл (MP3), есть ли способ узнать значение тонов DTMF, которые были записаны в чистом Python?

(Если чистый Python недоступен, то Javaтоже хорошо. Дело в том, что он должен работать в Google Appengine)

Ответы [ 2 ]

6 голосов
/ 16 июня 2010

Сначала вам нужно будет декодировать MP3 в несжатый формат необработанных семплов с заданной битовой глубиной и частотой дискретизации.Затем вы ищите частоты, которые составляют каждый тон DTMF.Хотя для этого можно использовать БПФ, каноническим алгоритмом является Алгоритм Гертцеля, который использует тот факт, что вы знаете, какие частоты вам нужны, прежде чем выполнять преобразование: http://en.wikipedia.org/wiki/Goertzel_algorithm

Существует некоторый свободный питонкод для обнаружения DTMF с использованием Goertzel, хотя я сам не пробовал, взгляните на:

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

1 голос
/ 16 июня 2010

Сделайте БПФ на данных.Вы должны получить шипы на частотах двух тонов.

...