Text-to-Speech te permite convertir palabras y oraciones en datos de audio codificados en Base64 de voz humana natural. Luego, puedes convertir los datos de audio en archivos de audio reproducibles, como MP3, con la decodificación de los datos codificados en Base64. La API de Text-to-Speech acepta entradas de texto sin procesar o lenguaje de marcado de síntesis de voz (SSML).
En este documento, se describe cómo crear un archivo de audio a partir de textos o entradas de SSML con Text-to-Speech. También puedes revisar el artículo sobre conceptos básicos de Text-to-Speech si no estás familiarizado con conceptos como síntesis de voz o SSML.
Para estas muestras es necesario instalar y, además, inicializar Google Cloud CLI. Si deseas obtener información para configurar gcloud CLI, consulta Autentícate en TTS.
Convierte texto en audio de voz sintética
Las siguientes muestras de código demuestran cómo convertir una cadena en datos de audio.
Puedes configurar el resultado de la síntesis de voz de distintas maneras, como con la selección de una voz única o la modulación del resultado respecto del tono, el volumen, la velocidad de la voz y la tasa de muestreo.
Protocolo
Consulta el extremo de la API de text:synthesize para obtener todos los detalles.
Para sintetizar audio a partir de texto, realiza una solicitud HTTP POST al extremo text:synthesize. En el cuerpo de tu solicitud POST, especifica el tipo de voz que se debe sintetizar en la sección de configuración de voice, especifica el texto que se debe sintetizar en el campo text de la sección input y especifica el tipo de audio que se creará en la sección audioConfig.
El siguiente fragmento de código envía una solicitud de síntesis al extremo text:synthesize y guarda los resultados en un archivo llamado synthesize-text.txt. Reemplaza PROJECT_ID por
el ID del proyecto.
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':'Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets.' }, 'voice':{ 'languageCode':'en-gb', 'name':'en-GB-Standard-A', 'ssmlGender':'FEMALE' }, 'audioConfig':{ 'audioEncoding':'MP3' } }" "https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-text.txt
La API de Text-to-Speech muestra el audio sintetizado como datos codificados en Base64 en un resultado de JSON. El resultado de JSON en el archivo synthesize-text.txt es similar al siguiente fragmento de código.
{
"audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.."
}
Para decodificar los resultados de la API de Text-to-Speech como un archivo de audio MP3, ejecuta el siguiente comando desde el mismo directorio que el archivo synthesize-text.txt.
cat synthesize-text.txt | grep 'audioContent' | \ sed 's|audioContent| |' | tr -d '\n ":{},' > tmp.txt && \ base64 tmp.txt --decode > synthesize-text-audio.mp3 && \ rm tmp.txt
Go
Para aprender cómo instalar y usar la biblioteca cliente para Text-to-Speech, consulta las bibliotecas cliente de Text-to-Speech. Para obtener más información, consulta la documentación de referencia de la API de Go de Text-to-Speech.
Para autenticarte en Text-to-Speech, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para aprender cómo instalar y usar la biblioteca cliente para Text-to-Speech, consulta las bibliotecas cliente de Text-to-Speech. Para obtener más información, consulta la documentación de referencia de la API de Java de Text-to-Speech.
Para autenticarte en Text-to-Speech, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para aprender cómo instalar y usar la biblioteca cliente para Text-to-Speech, consulta las bibliotecas cliente de Text-to-Speech. Para obtener más información, consulta la documentación de referencia de la API de Node.js de Text-to-Speech.
Para autenticarte en Text-to-Speech, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para aprender cómo instalar y usar la biblioteca cliente para Text-to-Speech, consulta las bibliotecas cliente de Text-to-Speech. Para obtener más información, consulta la documentación de referencia de la API de Python de Text-to-Speech.
Para autenticarte en Text-to-Speech, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Lenguajes adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas cliente y, luego, visita la documentación de referencia de Text-to-Speech para .NET.
PHP: Sigue las instrucciones de configuración de PHP en la página de bibliotecas cliente y, luego, visita la documentación de referencia de Text-to-Speech para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas cliente y, luego, visita la documentación de referencia de Text-to-Speech para Ruby.
Convierte SSML en audio de voz sintética
Si usas el SSML en tu solicitud de síntesis de audio, producirás audio con un sonido natural más parecido al de la voz humana. Específicamente, el SSML te ofrece un control más detallado de cómo el resultado de audio representa las pausas en el habla o cómo se pronuncian las fechas, horas, siglas y abreviaturas.
Para obtener más información sobre los elementos de SSML compatibles con la API de Text-to-Speech, consulta la referencia de SSML.
Protocolo
Consulta el extremo de la API de text:synthesize para obtener todos los detalles.
Para sintetizar audio desde SSML, realiza una solicitud HTTP POST al extremo text:synthesize. En el cuerpo de tu solicitud POST, especifica el tipo de voz que se debe sintetizar en la sección de configuración de voice, especifica el SSML que se debe sintetizar en el campo ssml de la sección input y especifica el tipo de audio que se creará en la sección audioConfig.
El siguiente fragmento de código envía una solicitud de síntesis al extremo text:synthesize y guarda los resultados en un archivo llamado synthesize-ssml.txt. Reemplaza PROJECT_ID por
el ID del proyecto.
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':{ 'ssml':'<speak>The <say-as interpret-as=\"characters\">SSML</say-as> standard is defined by the <sub alias=\"World Wide Web Consortium\">W3C</sub>.</speak>' }, 'voice':{ 'languageCode':'en-us', 'name':'en-US-Standard-B', 'ssmlGender':'MALE' }, 'audioConfig':{ 'audioEncoding':'MP3' } }" "https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-ssml.txt
La API de Text-to-Speech muestra el audio sintetizado como datos codificados en Base64 en un resultado de JSON. El resultado de JSON en el archivo synthesize-ssml.txt es similar al siguiente fragmento de código.
{
"audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.."
}
Para decodificar los resultados de la API de Text-to-Speech como un archivo de audio MP3, ejecuta el siguiente comando desde el mismo directorio que el archivo synthesize-ssml.txt.
cat synthesize-ssml.txt | grep 'audioContent' | \ sed 's|audioContent| |' | tr -d '\n ":{},' > tmp.txt && \ base64 tmp.txt --decode > synthesize-ssml-audio.mp3 && \ rm tmp.txt
Go
Para aprender cómo instalar y usar la biblioteca cliente para Text-to-Speech, consulta las bibliotecas cliente de Text-to-Speech. Para obtener más información, consulta la documentación de referencia de la API de Go de Text-to-Speech.
Para autenticarte en Text-to-Speech, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para aprender cómo instalar y usar la biblioteca cliente para Text-to-Speech, consulta las bibliotecas cliente de Text-to-Speech. Para obtener más información, consulta la documentación de referencia de la API de Java de Text-to-Speech.
Para autenticarte en Text-to-Speech, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para aprender cómo instalar y usar la biblioteca cliente para Text-to-Speech, consulta las bibliotecas cliente de Text-to-Speech. Para obtener más información, consulta la documentación de referencia de la API de Node.js de Text-to-Speech.
Para autenticarte en Text-to-Speech, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para aprender cómo instalar y usar la biblioteca cliente para Text-to-Speech, consulta las bibliotecas cliente de Text-to-Speech. Para obtener más información, consulta la documentación de referencia de la API de Python de Text-to-Speech.
Para autenticarte en Text-to-Speech, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Lenguajes adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas cliente y, luego, visita la documentación de referencia de Text-to-Speech para .NET.
PHP: Sigue las instrucciones de configuración de PHP en la página de bibliotecas cliente y, luego, visita la documentación de referencia de Text-to-Speech para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas cliente y, luego, visita la documentación de referencia de Text-to-Speech para Ruby.
Pruébalo
Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Text-to-Speech en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Probar Text-to-Speech de forma gratuita