Если у меня есть записанный аудиофайл (MP3), есть ли способ узнать значение тонов DTMF, которые были записаны в чистом Python?
(Если чистый Python недоступен, то Javaтоже хорошо. Дело в том, что он должен работать в Google Appengine)
Сначала вам нужно будет декодировать MP3 в несжатый формат необработанных семплов с заданной битовой глубиной и частотой дискретизации.Затем вы ищите частоты, которые составляют каждый тон DTMF.Хотя для этого можно использовать БПФ, каноническим алгоритмом является Алгоритм Гертцеля, который использует тот факт, что вы знаете, какие частоты вам нужны, прежде чем выполнять преобразование: http://en.wikipedia.org/wiki/Goertzel_algorithm
Существует некоторый свободный питонкод для обнаружения DTMF с использованием Goertzel, хотя я сам не пробовал, взгляните на:
http://johnetherton.com/projects/pys60-dtmf-detector
Сделайте БПФ на данных.Вы должны получить шипы на частотах двух тонов.