Crea audio a partir de texto mediante la línea de comandos
En este documento, se describe el proceso para realizar una solicitud a Text-to-Speech mediante la línea de comandos. Para obtener más información sobre los conceptos básicos de Text-to-Speech, consulta los Conceptos básicos de Text-to-Speech.
Antes de comenzar
Antes de enviar una solicitud a la API de Text-to-Speech, debes completar las siguientes acciones. Consulta la página antes de comenzar para obtener más detalles.
- Habilitar Text-to-Speech en un proyecto de GCP
- Asegúrate de que la facturación esté habilitada para Text-to-Speech.
-
After installing the Google Cloud CLI, configure the gcloud CLI to use your federated identity and then initialize it by running the following command:
gcloud init
Sintetiza audio a partir de texto
Para convertir texto en audio, realiza una solicitud HTTP POST al extremo https://texttospeech.googleapis.com/v1/text:synthesize
. En el cuerpo del comando 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
.
Ejecuta la solicitud REST que aparece a continuación en la línea de comandos para sintetizar audio a partir de texto mediante Text-to-Speech. La operación usa el comando
gcloud auth application-default print-access-token
a fin de recuperar un token de autorización para la solicitud.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID alfanumérico del proyecto de Google Cloud.
HTTP method and URL:
POST https://texttospeech.googleapis.com/v1/text:synthesize
Cuerpo JSON de la solicitud:
{ "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" } }
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_ID " \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://texttospeech.googleapis.com/v1/text:synthesize"PowerShell (Windows)
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID " }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://texttospeech.googleapis.com/v1/text:synthesize" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.." }
El resultado de JSON para el comando de REST contiene audio sintetizado en un formato con codificación Base64. Copia el contenido del campo
audioContent
en un archivo nuevo llamadosynthesize-output-base64.txt
. Tu archivo nuevo debería ser similar al siguiente ejemplo://NExAARqoIIAAhEuWAAAGNmBGMY4EBcxvABAXBPmPIAF//yAuh9Tn5CEap3/o ... VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Decodifica el contenido del archivo
synthesize-output-base64.txt
en un archivo nuevo llamadosynthesized-audio.mp3
. Para obtener más información sobre la decodificación de Base64, consulta Cómo decodificar contenido de audio codificado en Base64.Copia solo el contenido codificado en Base-64 en un archivo de texto.
Para decodificar el archivo de texto fuente con la herramienta de línea de comandos de Base64, usa la marca
-d
:
$ base64
SOURCE_BASE64_TEXT_FILE -d >DESTINATION_AUDIO_FILE Copia solo el contenido codificado en Base-64 en un archivo de texto.
Decodifica el archivo de texto de origen con la herramienta de línea de comandos de Base64:
$ base64 --decode
SOURCE_BASE64_TEXT_FILE >DESTINATION_AUDIO_FILE Copia solo el contenido codificado en Base-64 en un archivo de texto.
Decodifica el archivo de texto de origen con el comando
certutil
.
certutil -decode
SOURCE_BASE64_TEXT_FILE DESTINATION_AUDIO_FILE Reproduce el contenido de
synthesized-audio.mp3
en una aplicación de audio o en un dispositivo de audio. También puedes abrir elsynthesized-audio.mp3
en el navegador Chrome para reproducir el audio con solo navegar a la carpeta que contiene el archivo, por ejemplofile://my_file_path/synthesized-audio.mp3
.
Limpia
A fin de evitar cargos innecesarios de Google Cloud Platform, usa la consola de Google Cloud para borrar tu proyecto si no lo necesitas.
¿Qué sigue?
- Obtén más información sobre Cloud Text-to-Speech en el artículo de Conceptos básicos.
- Revisa la lista de las voces disponibles que puedes usar como voz sintética.