Voicegain añade el reconocimiento de voz basado en la gramática a la plataforma de voz programable Twilio a través del Transmisión multimedia de Twilio Característica.
La diferencia entre el reconocimiento de voz Voicegain y Twilio Twiml <Gather> es:
- Voicegain admite gramáticas con etiquetas semánticas (GRXML o JSGF) while <Gather>es un gran reconocedor de vocabulario que solo devuelve texto, y
- Voicegain es significativamente más barato (describiremos la diferencia de precio en una próxima entrada del blog).
Cuando utilices Voicegain con Twilio, la lógica de tu aplicación tendrá que gestionar las solicitudes de devolución de llamadas tanto de Twilio como de Voicegain.
Cada reconocimiento implicará dos pasos principales que se describen a continuación:
Inicio del reconocimiento de voz con Voicegain
Esto se hace invocando la API de reconocimiento asíncrono de Voicegain: /asr/recognize/async
A continuación se muestra un ejemplo de la carga útil necesaria para iniciar una nueva sesión de reconocimiento:
Algunas notas sobre el contenido de la solicitud:
- startInputTimers le dice a ASR que retrase el inicio de los temporizadores; se iniciarán más tarde cuando termine de reproducirse la línea de preguntas
- TWIML está configurado como protocolo de transmisión con el formato establecido en PCMU (u-law) y una frecuencia de muestreo de 8 kHz
- La configuración asr incluye los tres tiempos de espera estándar utilizado en el reconocimiento basado en la gramática: tiempos de espera sin entrada, completos e incompletos
- la gramática se establece en la gramática GRXML cargada desde una URL externa
Esta solicitud, si se realiza correctamente, devolverá la URL del websocket en el campo audio.stream.websocketURL. Este valor se utilizará para realizar una solicitud de TWiML.
Tenga en cuenta que si la gramática se especifica para reconocer el DTMF, el reconocedor Voicegain reconocerá las señales DTMF incluidas en el audio enviado desde la plataforma Twilio.
<Connect><Stream>Solicitud TWiML
Tras iniciar una sesión de Voicegain ASR, podemos decirle a Twilio que abra la conexión de Media Streams con Voicegain. Esto se hace mediante la siguiente solicitud de TWiML:
Algunas notas sobre el contenido de la solicitud de TWiML:
- la URL de websocket es la que devuelve la solicitud Voicegain /asr/recognize/async
- se admite más de un mensaje de pregunta: se reproducirán uno tras otro
- Se admiten tres tipos de mensajes: 01) grabación recuperada de una URL, 02) mensaje TTS (hay varias voces disponibles), 03) mensaje «clip:» generado mediante el Voicegain Prompt Manager, que admite la concatenación dinámica de mensajes pregrabados
- BargeIn está activado: la reproducción inmediata se detendrá tan pronto como la persona que llama comience a hablar
Respuesta de reconocimiento devuelta
A continuación se muestra un ejemplo de respuesta del reconocimiento. Esta respuesta proviene de la gramática telefónica integrada.