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