Conceptos básicos de Cloud Text-to-Speech

Text-to-Speech permite a los desarrolladores crear voces humanas sintéticas con un sonido natural como audio reproducible. Puedes usar los archivos de datos de audio creados con Text-to-Speech para potenciar tus aplicaciones o mejorar los medios como videos o grabaciones de audio (de acuerdo con las Condiciones del Servicio de Google Cloud Platform, incluido el cumplimiento de las leyes aplicables).

Text-to-Speech convierte textos o entradas de lenguaje de marcación de síntesis de voz (SSML) en datos de audio como MP3 o LINEAR16 (la codificación utilizada en archivos WAV).

Este documento es una guía de los conceptos fundamentales del uso de Text-to-Speech. Antes de adentrarte en la API, consulta las guías de inicio rápido.

Ejemplo básico

Text-to-Speech es ideal para cualquier aplicación que reproduzca audio de voz humana a los usuarios. Te permite convertir strings, palabras y oraciones arbitrarias en la voz de una persona.

Imagina que tienes una app de asistente de voz que brinda comentarios en lenguaje natural a tus usuarios como archivos de audio reproducibles. Tu app podría realizar una acción y, después, proporcionar comentarios con una voz humana al usuario.

Por ejemplo, podría informar que agregó un evento correctamente al calendario del usuario. Tu app construye una string de respuesta para informar al usuario que se realizó la acción, por ejemplo, "Agregué el evento a tu calendario".

Con Text-to-Speech, puedes convertir esa string de respuesta en voz humana real para que se reproduzca al usuario, de forma similar al ejemplo que se muestra a continuación.


Ejemplo 1. Archivo de audio generado por Text-to-Speech

Para crear un archivo de audio, como el ejemplo 1, envía una solicitud a Text-to-Speech, como en el siguiente fragmento de código.

curl -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "x-goog-user-project: <var>PROJECT_ID</var>" -H "Content-Type: application/json; charset=utf-8" --data "{
  'input':{
    'text':'I\'ve added the event to your calendar.'
  },
  'voice':{
    'languageCode':'en-gb',
    'name':'en-GB-Standard-A',
    'ssmlGender':'FEMALE'
  },
  'audioConfig':{
    'audioEncoding':'MP3'
  }
}" "https://texttospeech.googleapis.com/v1/text:synthesize"

Síntesis de voz

El proceso de traducir entradas de texto en datos de audio se llama síntesis y el resultado de una síntesis se llama voz sintética. Text-to-Speech toma dos tipos de entrada, es decir, texto sin procesar o datos con formato SSML (que se analizan a continuación). Para crear un archivo de audio nuevo, llama al extremo synthesize de la API.

El proceso de síntesis de voz genera datos de audio sin procesar como strings codificadas en Base64. Debes decodificar la string codificada en Base64 en un archivo de audio para que una aplicación lo pueda reproducir. La mayoría de las plataformas y sistemas operativos tienen herramientas para decodificar el texto en Base64 y convertirlo en archivos multimedia reproducibles.

.

Para conocer más acerca de la síntesis, consulta la Guía de inicio rápido o la página Crea archivos de audio de voz.

Voces

Con Text-to-Speech, creas datos de audio sin procesar de voz humana natural. Es decir, se crea audio que suena como la voz de una persona. Cuando envías una solicitud de síntesis a Text-to-Speech, debes especificar una voz que “diga” las palabras.

Text-to-Speech tiene una amplia selección de voces personalizadas disponibles para que las uses. Las voces son de géneros distintos y hablan en diferentes idiomas y acentos (para algunos idiomas). Por ejemplo, puedes crear audio que reproduzca el sonido de una persona que habla en inglés con acento británico, como el ejemplo 1. También puedes convertir el mismo texto en una voz distinta, como la de un hombre que hable inglés con acento australiano.


Ejemplo 2. Archivo de audio generado con una voz en inglés australiano

Para ver una lista completa de las voces disponibles, consulta Voces compatibles.

Voces generadas por WaveNet

Junto con otras voces sintéticas tradicionales, Text-to-Speech también incluye voces premium generadas por WaveNet. Los usuarios encuentran las voces generadas con WaveNet más cálidas y parecidas al sonido humano que las otras voces sintéticas.

La diferencia clave de una voz de WaveNet es el modelo de WaveNet que se usa para generarla. Los modelos de WaveNet se entrenaron con muestras de audio sin procesar de personas reales. Como resultado, estos modelos generan voces sintéticas con un énfasis y una entonación en las sílabas, fonemas y palabras más parecidos al del habla humana.

Compara las siguientes dos muestras de voces sintéticas.


Ejemplo 3. Archivo de audio generado con una voz estándar


Ejemplo 4. Archivo de audio generado con una voz de WaveNet

Para obtener más información acerca de los beneficios de las voces generadas con WaveNet, consulta Tipos de voces.

Configuración adicional de los resultados de audio

Además de la voz, también puedes configurar otros aspectos de los resultados de datos de audio que se crean con la síntesis de voz. Text-to-Speech admite la configuración de la velocidad de voz, el tono, el volumen y la tasa de muestreo de hercios.

Consulta la referencia de AudioConfig para obtener más información

Compatibilidad con el lenguaje de marcado de síntesis de voz (SSML)

Para mejorar la voz sintética que se produce con Text-to-Speech, marca el texto con el lenguaje de marcación de síntesis de voz (SSML). Con SSML, puedes insertar pausas, pronunciaciones de acrónimos y otros detalles adicionales en los datos de audio creados por Text-to-Speech. Text-to-Speech admite un subconjunto de los elementos SSML disponibles.

Por ejemplo, para asegurarte de que la voz sintética pronuncie correctamente los números ordinales, proporciona Text-to-Speech con una entrada de SSML que marque los números ordinales como tales.


Ejemplo 5. Archivo de audio generado con una entrada de texto sin formato


Ejemplo 6. Archivo de audio generado con una entrada de SSML

Para obtener más información sobre cómo sintetizar la voz a partir del SSML, consulta Cómo crear archivos de audio de voz.