Saltar al contenido principal

Cómo usar el plugin

El plugin Runtime Text To Speech sintetiza texto en voz utilizando modelos de voz descargables. Estos modelos se gestionan en la configuración del plugin dentro del editor, se descargan y empaquetan para su uso en tiempo de ejecución. Sigue los pasos a continuación para comenzar.

Lado del editor

Descarga los modelos de voz apropiados para tu proyecto como se describe aquí. Puedes descargar múltiples modelos de voz al mismo tiempo.

Lado de ejecución

Crea el sintetizador usando la función CreateRuntimeTextToSpeech. Asegúrate de mantener una referencia a él (por ejemplo, como una variable separada en Blueprints o UPROPERTY en C++) para evitar que sea recolectado por el recolector de basura.

Un ejemplo de cómo crear un sintetizador de Runtime Text To Speech en Blueprints

Una vez que el sintetizador está creado, puedes llamar a cualquiera de las siguientes funciones para sintetizar texto:

  • Text To Speech (By Name) (TextToSpeechByName in C++)
  • Text To Speech (By Object) (TextToSpeechByObject in C++)

Por nombre

La función Text To Speech (Por nombre) es más conveniente en Blueprints a partir de UE 5.4. Permite seleccionar modelos de voz desde una lista desplegable de los modelos descargados. En versiones de UE inferiores a 5.3, esta lista desplegable no aparece, por lo que si estás utilizando una versión más antigua, tendrás que iterar manualmente sobre la matriz de modelos de voz devuelta por GetDownloadedVoiceModels para seleccionar el que necesites.

Un ejemplo de uso de Text To Speech por nombre en Blueprints

Por Objeto

La función Text To Speech (By Object) funciona en todas las versiones de Unreal Engine, pero presenta los modelos de voz como una lista desplegable de referencias de activos, lo cual es menos intuitivo. Este método es ideal para UE 5.3 y versiones anteriores, o si tu proyecto requiere una referencia directa a un activo de modelo de voz por cualquier razón.

Un ejemplo de usar Text To Speech por Object en Blueprints

Si has descargado los modelos pero no puedes verlos, abre el menú desplegable de Voice Model, haz clic en la configuración (icono de engranaje), y habilita tanto Show Plugin Content como Show Engine Content para que los modelos sean visibles.

Selección de Vocero

Ambas funciones de Texto a Voz aceptan un parámetro opcional de ID de vocero, lo cual es útil cuando se trabaja con modelos de voz que soportan múltiples voceros. Puedes usar las funciones GetSpeakerCountFromVoiceModel o GetSpeakerCountFromModelName para verificar si tu modelo de voz elegido soporta múltiples voceros. Si hay múltiples voceros disponibles, simplemente especifica el ID del vocero deseado al llamar a las funciones de Texto a Voz. Algunos modelos de voz ofrecen gran variedad - por ejemplo, English LibriTTS incluye más de 900 diferentes voceros para elegir.

Reproducción

El delegado On Speech Result proporciona el audio sintetizado como datos PCM en formato flotante (como un arreglo de bytes en Blueprints o TArray<uint8> en C++), junto con la Frecuencia de Muestreo y el Número de Canales. Puedes procesar estos datos según sea necesario.

Para la reproducción, se recomienda utilizar el plugin Runtime Audio Importer para convertir datos de audio en bruto en una onda de sonido reproducible. Sin embargo, esto es opcional, y puedes manejar los datos de audio PCM en bruto con tu propia solución si lo deseas.

Para usar Runtime Audio Importer, llama a Import Audio From RAW Buffer con el RAW Buffer (del delegado On Speech Result), la Frecuencia de Muestreo, y el Número de Canales para generar una onda de sonido.

Una vez que tengas la onda de sonido, puedes usarla como cualquier onda de sonido regular en Unreal Engine - reproduciéndola, guardándola en un archivo de juego guardado, o procesándola más.

Aquí tienes un ejemplo de cómo podrían verse los nodos de Blueprint para sintetizar texto y reproducir el audio (Nodos copiables):

El plugin Runtime Audio Importer también ofrece características adicionales, como exportar datos de audio a un archivo, pasarlos a SoundCue, MetaSound y más. Para más detalles, consulta la documentación de Runtime Audio Importer.