Muchas aplicaciones de voz a texto (STT) o reconocimiento de voz (ASR) requieren que la conversión de audio a texto se realice en tiempo real. Estas aplicaciones pueden ser los bots de voz, la subtitulación en directo de vídeos, eventos o charlas, la transcripción de reuniones, el análisis de voz en tiempo real de las llamadas de ventas o la asistencia de un agente en un centro de contacto.
Una pregunta importante para los desarrolladores que buscan integrar STT en tiempo real en sus aplicaciones es la elección del protocolo y/o mecanismo para transmitir audio en tiempo real a la plataforma STT. Si bien algunos proveedores de STT ofrecen solo un método, en Voicegain ofrecemos varias opciones entre las que los desarrolladores pueden elegir. En esta publicación, exploramos en detalle todos estos métodos para que un desarrollador pueda elegir el más adecuado para su caso de uso específico.
Algunos de los factores que pueden guiar la elección específica son:
- Su lenguaje de programación y plataforma de implementación actuales: ¿hay bibliotecas de cliente disponibles en el lenguaje de programación o plataforma de desarrollo (ya sea Java, Javascript, Python, Go, etc.) en los que se basa la aplicación?
- Cómo se pone la transmisión de audio a disposición de la aplicación: es posible que la aplicación ya esté recibiendo la transmisión de audio de una manera y un formato determinados.
- El tipo de aplicación y sus requisitos de latencia y resiliencia de la red
- En relación con lo anterior: la calidad de la red entre la aplicación y la plataforma STT.
En Voicegain actualmente ofrecemos siete métodos/protocolos diferentes para admitir la transmisión a nuestra plataforma STT. Los tres primeros son métodos basados en TCP y los últimos cuatro métodos están basados en UDP.
- TCP los métodos basados en general son una buena idea si la calidad de la red es muy sólida
- UDP los métodos basados podrían ser una mejor opción si la aplicación admite telefonía
Las opciones
1. WebSockets
El uso de WebSockets es una opción simple y popular para transmitir audio a Voicegain para el reconocimiento de voz. Los WebSockets existen desde hace tiempo y la mayoría de los lenguajes de programación web tienen bibliotecas que los admiten. Esta opción puede ser la forma más fácil de empezar. La API Voicegain usa WebSockets binarios, y tenemos algunos ejemplos sencillos para empezar.
2. HTTP 1.1 con codificación de transferencia fragmentada
Voicegain también admite la transmisión a través de HTTP 1.1 mediante codificación de transferencia fragmentada. Esto le permite enviar datos de audio sin procesar con un tamaño desconocido, como suele ser el caso de la transmisión de audio. Voicegain es compatible con ambos modos: podemos obtener el audio de la URL que tú proporciones o la aplicación puede enviar el audio a la URL que tú proporciones. Para usar este método, tu lenguaje de programación debe tener bibliotecas que admitan la codificación por transferencia fragmentada a través de HTTP; algunas de las bibliotecas HTTP más antiguas o más sencillas no la admiten.
3. gRPC
gRPC se basa en el protocolo HTTP/2, que se diseñó para admitir conexiones bidireccionales de larga duración. Además, gRPC usa búferes de protocolo, que son un formato de serialización de datos más eficiente en comparación con el JSON que se usa comúnmente en las API HTTP RESTful. Ambos aspectos de gRPC permiten que los datos de audio se envíen de manera eficiente a través de la misma conexión que también se usa para enviar comandos y recibir resultados.
Con gRPC, las bibliotecas del lado del cliente se pueden generar fácilmente para varios lenguajes, como Java, C#, C++, Go, Python, Node Js, etc. El código de cliente generado contiene stubs para que los clientes de gRPC los usen para llamar a los métodos definidos por el servicio.
Con gRPC, los clientes pueden invocar las API STT de Voicegain como un objeto local cuyos métodos exponen las API. Este método es una forma rápida, eficiente y de baja latencia de transmitir audio a Voicegain y recibir respuestas de reconocimiento. Las respuestas se envían desde el servidor al cliente a través de la misma conexión, lo que elimina la necesidad de realizar sondeos o llamadas para obtener los resultados cuando se usa HTTP.
gRPC es excelente cuando se usa desde el código de fondo o desde Android. No es una solución lista para usar cuando se usa desde navegadores web, pero requiere algunos pasos adicionales.
Métodos basados en UDP
Los tres primeros métodos descritos anteriormente son métodos basados en TCP. Funcionan muy bien para la transmisión de audio siempre que la conexión no tenga ninguna pérdida de paquetes o ésta sea mínima. La pérdida de paquetes provoca importantes retrasos y fluctuaciones en las conexiones TCP. Esto puede funcionar bien si el audio no tiene que procesarse en tiempo real y se puede almacenar en búfer.
Si el comportamiento en tiempo real es importante y se sabe que la red no es confiable, el protocolo UDP es una mejor alternativa al TCP para la transmisión de audio. Con el UDP, la pérdida de paquetes se manifiesta como interrupciones del audio, pero esto puede ser preferible a pausas y fluctuaciones excesivas en el caso del TCP.
4. Protocolo RTP con extensiones Voicegain
RTP es un protocolo estándar para la transmisión de audio a través de UDP. Sin embargo, el RTP en sí mismo no suele ser suficiente y normalmente se usa con el protocolo de control RTP (RTCP) que lo acompaña. Voicegain ha implementado su propia variante del RTCP que se puede usar para controlar las transmisiones de audio RTP enviadas al reconocedor.
Actualmente, la única forma de transmitir audio mediante RTP a la plataforma Voicegain es utilizar nuestra biblioteca Java patentada Audio Sender. También ofrecemos Audio Sender Daemon, que es capaz de leer datos directamente desde dispositivos de audio y transmitirlos a Voicegain para su transcripción en tiempo real.
5. SIP/RTP
Si quieres invocar la conversión de voz a texto en un centro de contacto, Voicegain ofrece API de bots de telefonía. Puedes leer más sobre ellos aquí. Básicamente, la plataforma Voicegain puede actuar como un punto final SIP y se puede invitar a una sesión SIP. Podemos hacer dos cosas: 1) Como parte de un IVR o un bot, reproducir las instrucciones y recopilar las entradas de la persona que llama. 2) Como parte de la asistencia de un agente en tiempo real, podemos escuchar y transcribir la interacción entre el agente y la persona que llama.
Para dar más detalles (1), con estas API puedes invitar a la plataforma Voicegain a una sesión SIPn, que proporciona acceso al audio con el motor Voicegain Speech-to-Text. Una vez que se haya establecido la transmisión de audio, puedes emitir comandos para reconocer las expresiones de las llamadas y recibir la respuesta de reconocimiento mediante nuestras llamadas web. Puede escribir la lógica de su aplicación utilizando cualquier lenguaje de programación o un motor de NLU de su elección; todo lo que necesita es poder gestionar las solicitudes HTTP y enviar respuestas.
La plataforma Voicegain en este escenario actúa esencialmente como una «boca» y un «oído» para toda la conversación que tiene lugar a través de SIP/RTP. La aplicación puede emitir comandos JSON a través de HTTP que reproducen las instrucciones y convierten la voz de la persona que llama en texto durante toda la llamada en una sola sesión. También puedes grabar toda la conversación si la llamada se transfiere a un agente en vivo y transcribirla en texto.
6. MRCP
Los proveedores de plataformas de centros de contacto, como las plataformas CCaaS basadas en Cisco, Genesys, Avaya y FreeSwitch, suelen admitir MRCP para conectarse a los motores de reconocimiento de voz. Voicegain permite el acceso mediante MRCP al reconocimiento de voz basado en vocabulario extenso y gramatical. Recomendamos el MRCP solo para despliegues en Edge, en la nube privada o locales
7. SIPREC
En los centros de contacto, para la transcripción en tiempo real de la interacción entre el agente y la persona que llama, Voicegain es compatible con SIPREC. Se proporciona más información aquí.
¡Haz una prueba de manejo con Voicegain!
1. Haga clic aquí para obtener instrucciones sobre cómo acceder a nuestro sitio de demostración en vivo.
2. Si estás creando una aplicación de voz genial y quieres probar nuestras API, haz clic aquípara crear una cuenta de desarrollador y recibir 50$ en créditos gratis
3. Si quieres usar Voicegain como tu propio asistente de transcripción con IA para las reuniones, haz clic aquí.