Amazon Transcribe: Transcriba voz a texto en tiempo real

Amazon Transcribe es un servicio de reconocimiento automático de voz (ASR) que facilita a los desarrolladores agregar capacidad de voz a texto a las aplicaciones. En noviembre de 2018, agregamos transcripciones de transmisión a través de HTTP / 2 a Amazon Transcribe.

Esto permitió a los usuarios pasar una transmisión de audio en vivo a nuestro servicio y, a cambio, recibir transcripciones de texto en tiempo real. Nos complace compartir que recientemente comenzamos a admitir transcripciones en tiempo real a través del protocolo WebSocket.

El soporte de WebSocket hace que la transmisión de voz a texto a través de Amazon Transcribe sea más accesible para una base de usuarios más amplia, especialmente para aquellos que desean crear un navegador o aplicaciones basadas en dispositivos móviles.

En esta publicación de blog, asumimos que usted conoce nuestro servicio de transcripción de transmisión que se ejecuta sobre HTTP / 2, y enfóquese en mostrarle cómo usar la oferta en tiempo real sobre WebSocket Sin embargo, para referencia sobre el uso de HTTP / 2, puede leer nuestra publicación de blog anterior y documentación técnica .

¿Qué es WebSocket?

WebSocket está completo -duplex protocolo de comunicación construido sobre TCP. El protocolo fue estandarizado por el IETF como RFC 6455 en 2011. WebSocket es adecuado para una conectividad de larga duración en la que tanto el servidor como el cliente pueden transmitir datos a través de la misma conexión al mismo hora.

También es práctico para el uso entre dominios. Voila! No es necesario preocuparse por el uso compartido de recursos de origen cruzado (CORS) como lo haría cuando se usa HTTP.

Uso de la transmisión de Amazon Transcribe con WebSocket

Para usar la API de Amazon Transcribe StartStreamTranscriptionWebSocket primero debe autorice a su usuario de IAM a usar Amazon Transcribe Streaming WebSocket.

Vaya a la consola de administración de AWS, navegue a Administración de identidad y acceso (IAM) y adjunte la siguiente política en línea a su usuario en la consola de AWS IAM.

Consulte “ Para incrustar una política en línea para un usuario o rol ” para obtener instrucciones sobre cómo agregar permisos.

 {
    "Versión": "2012-10-17",
    "Declaración": [
        "Sid": "transcribestreaming",
        "Effect": "Allow",
        "Action": "transcribe:StartStreamTranscriptionWebSocket",
        "Resource": "*"
    ]
}

Su solicitud de actualización debe estar firmada previamente con sus credenciales de AWS utilizando la AWS Signature Version 4 .

La solicitud debe contener los parámetros requeridos, a saber, frecuencia de muestreo, código de idioma y codificación de medios. Opcionalmente, puede proporcionar el nombre de vocabulario para usar un vocabulario personalizado .

La API StartStreamTranscriptionWebSocket es compatible con todos los idiomas que admite la transmisión de Amazon Transcribe en la actualidad. Después de actualizar su conexión a WebSocket, puede enviar sus fragmentos de audio como un AudioEvent de la codificación de secuencia de eventos en el marco binario WebSocket.

La respuesta que obtienes es la transcripción JSON, que también estaría codificada como secuencia de eventos. Para obtener más detalles, consulte nuestros documentos técnicos .

Para demostrar cómo puede potenciar su aplicación con Amazon Transcribe en tiempo real con WebSocket, creamos un sitio web estático de muestra . En el sitio web puede ingresar las credenciales de su cuenta, elegir uno de los idiomas preferidos y comenzar a transmitir.

El código de muestra completo está disponible en GitHub . Los desarrolladores de JavaScript, entre otros, pueden encontrar esto como un comienzo útil. ¡Nos encantaría ver qué otras aplicaciones geniales puede crear utilizando la transmisión de Amazon Transcribe con WebSocket!.

Dejá un comentario