Lumberyard
Guía del usuario (Version 1.18)

Detalles de implementación de la gema de texto a voz

En este tema, se facilita información sobre la generación de voz en tiempo de ejecución, los recursos, el componente TextToSpeech y la solución de problemas de la gema Text-to-Speech.

Generación de voz en el tiempo de ejecución

En la generación de voz en tiempo de ejecución, el cliente del juego invoca la API de discurso sintetizado para generar voz. Para mejorar el desempeño, el cliente del juego comprueba dos niveles de la caché para ver si la voz está disponible en el nivel local antes de invocar el servicio Amazon Polly. En el siguiente diagrama se ilustra este proceso.


        Flujo de trabajo de generación de voz

Si los archivos de voz no están disponibles localmente, Amazon Polly los genera, los almacena en un bucket de Amazon S3 y proporciona al cliente una URL prefirmada para la ubicación del bucket. El cliente descarga los archivos y utiliza Wwise para reproducir el audio de la voz. El SpeechComponent utiliza los archivos de marca de voz para realizar la sincronización labial mediante la llamada a SimpleAnimationComponent, que reproduce las animaciones asociadas.

Grupo de recursos

Un grupo de recursos de la gema de texto a voz contiene los siguientes recursos.

SpeechLibTable (tabla DDB): una tabla de DynamoDB que almacena las líneas de voz y los metadatos para los personajes en el recurso characterdefs.

characterdefs (bucket de Amazon S3): un bucket de Amazon S3 que contiene archivos .json de definición de personajes. Un personaje es una agrupación lógica de ajustes (incluidos idioma y voz) al que se hace referencia al utilizar Amazon Polly en los datos enviados a SpeechLibTable.

API de servicio: una Amazon API Gateway con la que interactúa el cliente del juego. Solo hay dos operaciones de la API a las que pueden obtener acceso los clientes del juego: una para generar el audio de la voz y otra para generar marcas de voz para la sincronización labial. Al resto de las operaciones de la API solo se puede obtener acceso desde Cloud Gem Portal y generan voz en Amazon Polly. Para evitar la generación de contenido de texto a voz durante el tiempo de ejecución, puede agregar los archivos de voz al directorio de activos de su juego. Para ver una lista de las operaciones de la API de servicio, consulte Referencia de la API de servicio de Text-to-Speech Cloud Gem.

ttscache: un bucket de Amazon S3 que contiene todos los elementos de voz generados anteriormente desde Amazon Polly. Todas las solicitudes de generación de voz comprueban la existencia de un archivo coincidente en esta caché antes de llamar al servicio Amazon Polly.

PackageVoiceLines: esta función Lambda pone una lista de líneas de voz de SpeechLibTable en un archivo .zip para que pueda descargarse. El archivo .zip también contiene mapeos de personaje a voces de Amazon Polly. El archivo se coloca en un bucket de Amazon S3 denominado packagedvoicelines.

Componente TextToSpeech (TextToSpeech.h)

El componente TextToSpeech toma texto de entrada, lo convierte en un archivo de audio, crea opcionalmente un archivo de marcas de voz y llama a TextToSpeechPlaybackBus para iniciar la reproducción y la sincronización labial.

El componente tiene dos funciones que generan texto a voz: ConvertTextToSpeechWithoutMarks y ConvertTextToSpeechWithMarks.

Cuando Amazon Polly devuelve la voz solicitada, el componente TextToSpeech llama a TextToSpeechPlaybackBus para informar a otros componentes o scripts de que los archivos solicitados están disponibles.

El SpeechComponent (SpeechComponent.h) implementa el TextToSpeechPlaybackBus::Handler, que gestiona la reproducción de audio y la sincronización labial.

CloudGemTextToSpeechClientComponent (CloudGemTextToSpeechClientComponent.h) permite que el cliente se comunique con la infraestructura y los servicios de AWS.

nota

A partir de la versión 1.12, Lumberyard utiliza Animation Editor para implementar la sincronización labial. Para obtener más información, consulte Sincronización labial con EMotionFX.

Características de solución de problemas de texto a voz

Las pestañas de Cloud Gem Portal REST Explorer y Log (Registro) ofrecen funcionalidades de solución de problemas.


        Explorador REST y características de registro

Para obtener información acerca de las rutas que puede utilizar en el explorador REST, consulte Referencia de la API de servicio de Text-to-Speech Cloud Gem.