Speak - Amazon Chime SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Speak

Puede reproducir la voz en cualquier tramo de llamada proporcionando texto. Puede introducir texto sin formato o lenguaje de marcado de síntesis de voz (SSML). SSML proporciona un mayor control sobre la forma en que Amazon Chime SDK genera la voz al añadir pausas, hacer hincapié en determinadas palabras o cambiar el estilo de expresión.

El SDK de Amazon Chime utiliza el servicio Amazon Polly para realizar conversiones. text-to-speech Amazon Polly le permite elegir entre el motor estándar o el motor neuronal para mejorar la calidad de la voz. Amazon Polly admite más de 20 idiomas y 60 voces para personalizar la experiencia de usuario de la aplicación. Amazon Chime SDK ofrece características de voz sin costo alguno, pero usted paga por usar Amazon Polly. Consulte la página de precios de Amazon Polly o su panel de facturación para obtener información sobre los precios.

importante

El uso de Amazon Polly está sujeto a las condiciones de servicio de AWS, incluidas las condiciones específicas de los servicios de AWS Machine Learning e Inteligencia Artificial.

Uso de la acción Speak

En el ejemplo siguiente se muestra una utilización típica de la acción Speak.

{ "SchemaVersion": "1.0", "Actions":[ { "Type": "Speak", "Parameters": { "Text": "Hello, World!", // required "CallId": "call-id-1", // required "Engine": "neural", // optional. Defaults to standard "LanguageCode": "en-US", // optional "TextType": "text", // optional "VoiceId": "Joanna" // optional. Defaults to Joanna } } ] }
CallId

Descripción: la CallId del participante en los CallDetails de la invocación de la función de Lambda

Valores permitidos: un identificador de llamada válido

Obligatorio: sí

Valor predeterminado: ninguno

Text

Descripción: especifica el texto de entrada que se va a sintetizar en voz. Si especifica ssml como TextType, siga el formato SSML para el texto de entrada.

Valores permitidos: cadena

Obligatorio: sí

Valor predeterminado: ninguno

Engine

Descripción: especifica el motor (estándar o neuronal) que se utilizará al procesar texto para la síntesis de voz.

Valores permitidos: estándar | neuronal

Obligatorio: no

Valor predeterminado: estándar

LanguageCode

Descripción: especifica el código de lenguaje. Solo es necesario si se utiliza una voz bilingüe. Si utiliza una voz bilingüe sin código de idioma, se utiliza el idioma predeterminado de la voz bilingüe.

Valores permitidos: códigos de lenguaje de Amazon Polly

Obligatorio: no

Valor predeterminado: ninguno

TextType

Descripción: especifica el tipo de texto de entrada, texto sin formato o SSML. Si no se especifica un tipo de entrada, se utiliza texto sin formato como predeterminado. Para obtener más información sobre SSML, consulte Generación de voz a partir de documentos SSML en la Guía para desarrolladores de Amazon Polly.

Valores permitidos: ssml | texto

Obligatorio: no

Valor predeterminado: ninguno

VoiceId

Descripción: especifica el ID de voz que desea usar.

Valores permitidos: identificadores de voz de Amazon Polly

Obligatorio: no

Valor predeterminado: Joanna

Manejo de ACTION_SUCCESSFUL eventos

El siguiente ejemplo muestra un evento ACTION_SUCCESSFUL típico de una acción que sintetiza el texto «Hello World» en forma oral, en inglés, utilizando la voz de Joanna de Amazon Polly.

{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "Speak", "Parameters": { "CallId": "call-id-1", "Engine": "neural", "LanguageCode": "en-US", "Text": "Hello World", "TextType": "text", "VoiceId": "Joanna" } }, "CallDetails":{ ... } }

Gestión de ACTION_FAILED eventos

En el siguiente ejemplo, se muestra un evento ACTION_FAILED típico del mismo evento utilizado en el ejemplo anterior.

{ "SchemaVersion": "1.0", "Sequence":2, "InvocationEventType": "ACTION_FAILED", "ActionData":{ "Type": "Speak", "Parameters": { "CallId": "call-id-1", "Engine": "neural", "LanguageCode": "en-US", "Text": "Hello World", "TextType": "text", "VoiceId": "Joanna" }, "ErrorType": "SystemException", "ErrorMessage": "System error while running action" }, "CallDetails":{ ... } }
Control de errores

En esta tabla se enumeran y describen los mensajes de error generados por la acción Speak.

Error Mensaje Motivo

AccessDenied

La función AWSServiceRoleForAmazonChimeVoiceConnector vinculada al servicio no está configurada correctamente.

El rol vinculado al servicio que se utiliza para hacer solicitudes a Amazon Polly no existe o le faltan permisos. Para resolverlo, consulte los pasos de la sección Uso de la función vinculada al servicio Amazon Chime SDK Voice Connector

InvalidActionParameter

 

Se ha producido un error al validar los parámetros de acción. Consulte la SynthesizeSpeech API en la Guía para desarrolladores de Amazon Polly para obtener más información sobre los parámetros.

ActionExecutionThrottled Amazon Polly está limitando la solicitud de sintetizar voz. La solicitud a Amazon Polly devuelve una excepción de limitación. Para obtener más información sobre los límites de limitación de Amazon Polly, consulte https://docs.aws.amazon.com/polly/latest/dg/limits.html#limits-throttle.

MissingRequiredActionParameter

El Text ahora es un parámetro obligatorio.

Los parámetros de acción deben tener un valor Text

MissingRequiredActionParameter

El Text está limitado a 1000 caracteres.

El texto ha superado el límite de caracteres.

SystemException

Error del sistema al ejecutar la acción.

Se ha producido un error del sistema al ejecutar la acción.

Flujos de programas

El siguiente diagrama muestra el flujo del programa que habilita la acción Speak para la persona que llama. En este ejemplo, la persona que llama escucha un texto que

Diagrama que muestra el flujo del programa para habilitar la acción Speak para la persona que llama.
En el diagrama

Con un teléfono móvil, la persona que llama introduce un número registrado en una aplicación multimedia SIP. La aplicación utiliza el método INVITE de SIP y envía una respuesta Trying (100) a la persona que llama. Esto indica que el servidor de siguiente salto recibió la solicitud de llamada. A continuación, la aplicación SIP utiliza INVITE para ponerse en contacto con el punto de conexión. Una vez establecida la conexión, las aplicaciones envían una respuesta Ringing (180) a la persona que llama y comienzan las alertas.

A continuación, la aplicación multimedia SIP envía un evento NEW_INBOUND_CALL a la función de Lambda, que responde con una acción Speak que incluye el identificador de la persona que llama y el texto que se desea convertir en voz. A continuación, la aplicación SIP envía una respuesta 200 (OK) para indicar que se ha respondido a la llamada. El protocolo también habilita los medios.

Si la acción Speak se realiza correctamente y convierte el texto en voz, devuelve un evento ACTION_SUCCESSFUL a la aplicación multimedia SIP, que devuelve el siguiente conjunto de acciones. Si la acción falla, la aplicación multimedia SIP envía un evento ACTION_FAILED a la función de Lambda, que responde con un conjunto de acciones Hangup. La aplicación cuelga a la persona que llama y devuelve un evento HANGUP a la función de Lambda, que no realiza ninguna otra acción.

El siguiente diagrama muestra el flujo del programa que habilita la acción Speak para la persona que recibe la llamada.

Diagrama que muestra el flujo del programa para habilitar la acción Speak para una persona que recibe la llamada. Puede hacer lo siguiente en cualquier llamada puente.
En el diagrama

La persona que llama introduce un número registrado en una aplicación multimedia SIP y la aplicación responde como se describe en el diagrama anterior. Cuando la función de Lambda recibe el evento NEW_INBOUND_CALL, devuelve la acción CallAndBridge a la aplicación SIP. A continuación, la aplicación utiliza el método INVITE de SIP para enviar las respuestas Trying (100) y Ringing (180) a la persona que recibe la llamada.

Si la persona que recibe la llamada responde, la aplicación multimedia SIP recibe una respuesta 200 (OK) y envía la misma respuesta a la persona que llama. Esto establece los medios y la aplicación SIP envía un evento ACTION_SUCCESSFUL para la acción CallAndBridge a la función de Lambda. A continuación, la función devuelve la acción de voz y los datos a la aplicación SIP, que los convierte