Декодировать DTMF из массива байтов с помощью C#
Я занимаюсь разработкой программного обеспечения, которое фиксирует исходящий звук (динамик) и определяет наличие тонов dtmf. Я использовал NAudio для записи звука в виде байтового массива. Я хочу определить, есть ли тоны dtmf в этом байтовом массиве. Я уже погуглил это, и я не нашел никакого решения, которое близко к моей проблеме. Tapiex (или любые коммерческие библиотеки) не вариант, так как я предпочел решение с открытым исходным кодом.
1 ответ
Решение
Проведите частотный анализ и найдите два пика, указывающие правильный ключ (точные частоты см. В Википедии; для большинства случаев не используйте столбец 1633 Гц). Убедитесь, что тоны длятся не менее 100 мс, прежде чем принимать их.
Для анализа частоты см. Этот вопрос Stackru.