Декодировать DTMF из массива байтов с помощью C#

Я занимаюсь разработкой программного обеспечения, которое фиксирует исходящий звук (динамик) и определяет наличие тонов dtmf. Я использовал NAudio для записи звука в виде байтового массива. Я хочу определить, есть ли тоны dtmf в этом байтовом массиве. Я уже погуглил это, и я не нашел никакого решения, которое близко к моей проблеме. Tapiex (или любые коммерческие библиотеки) не вариант, так как я предпочел решение с открытым исходным кодом.

1 ответ

Решение

Проведите частотный анализ и найдите два пика, указывающие правильный ключ (точные частоты см. В Википедии; для большинства случаев не используйте столбец 1633 Гц). Убедитесь, что тоны длятся не менее 100 мс, прежде чем принимать их.

Для анализа частоты см. Этот вопрос Stackru.

Другие вопросы по тегам