Estoy tratando de armar una API que se ocupe de la molestia de minutos de presionar teclas para conectarme con una persona. "Para español, presione 4. Para facturación, presione 1. Para..."
Desafortunadamente, parecería que la mayoría de los servicios telefónicos programables no emiten tonos de marcación. Pero muchos reproducirán mp3 para música de espera. Si acabo de crear un MP3 que contiene el tono de marcación deseado y lo reproduzco en la línea, ¿el otro extremo lo registraría como una pulsación de tecla? ¿Qué tan preciso tendría que ser?
Los tonos DTMF siguen esta tabla: -
En otras palabras, se producen dos tonos, por lo tanto, cualquier decodificador DTMF/touchtone está buscando dos tonos simultáneos. Es poco probable que active una detección falsa si algún tono relevante producido por su tono de marcación no coincide.
Si observa la hoja de datos del decodificador de tonos MT8870, tendrá una idea de dónde puede colocar su tono de marcación: -
Cualquier tono por debajo de 500 Hz no tendrá la posibilidad de ser detectado correctamente, incluso si se generaron dos tonos y uno de ellos fue puntual en una frecuencia detectable.
Por supuesto, no hay garantía de que se esté utilizando un MT8870, pero le da cierta confianza al elegir un solo tono por debajo de 500 Hz.
Tome una llamada a otro teléfono que tenga una capacidad de grabación de alta calidad. Grabe todos los sonidos de 0...9, * y #. Tenga cuidado con cualquier manejo molesto y sonidos ambientales. Deje también algo de espacio entre los sonidos para una huella de ruido. Lo necesitará en el editor de audio para limpiar todo el ruido de fondo estacionario (= siseo, zumbido).
El sistema DTMF está diseñado para tolerar cierta distorsión y cambio de frecuencia, por lo que su grabación debería estar bien al menos cuando el ruido se limpie (= sin silbido) y se filtre para estar libre de componentes de banda de frecuencia fuera de DTMF.
Recorte la grabación como archivos separados para cada sonido.
Acerca de la pregunta en el título : Sí, las máquinas de enrutamiento automático también deben manejar llamadas de teléfonos fijos que todavía tienen sonidos DTMF para presionar.
Offtopic : ¡Qué gran idea!
Una pista: agregue la posibilidad de escuchar fácilmente, tal vez un poco retrasado, pero desde el principio, lo que se responde si no hay una secuencia de "presione 1 para ..." o música de espera, pero un humano adecuado que quiere para servirte.
La música y las conversaciones de la máquina pulida como "todavía estás en la cola" deberían detectarse con bastante facilidad si ya tienes algún software de extracción de características serio disponible.
Las secuencias de sonido DTMF deseadas se pueden preinstalar para los objetivos más comunes y se pueden guardar nuevas sobre la marcha.
Mucho trabajo similar a la inteligencia artificial, ¡pero sigue siendo una gran idea!
ian soso
El Ambientalista
pedro bennett