Crear audio a partir de texto mediante la línea de comandos

En este documento se explica cómo hacer una solicitud a Cloud Text-to-Speech mediante la línea de comandos. Para obtener más información sobre los conceptos básicos de Cloud Text-to-Speech, consulta el artículo Conceptos básicos de Cloud Text-to-Speech.

Antes de empezar

Antes de enviar una solicitud a la API Cloud Text-to-Speech, debes haber completado las siguientes acciones. Consulta la página Antes de empezar para obtener más información.

  • Habilita Cloud Text-to-Speech en un proyecto de GCP.
  • Asegúrate de que la facturación esté habilitada en Cloud Text-to-Speech.
  • Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

    gcloud init

    Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

Sintetizar audio a partir de texto

Puedes convertir texto en audio enviando una solicitud POST HTTP al endpoint https://texttospeech.googleapis.com/v1/text:synthesize. En el cuerpo del comando POST, especifica el tipo de voz que quieres sintetizar en la sección voice de configuración, el texto que quieres sintetizar en el campo text de la sección input y el tipo de audio que quieres crear en la sección audioConfig.

  1. Ejecuta la siguiente solicitud REST en la línea de comandos para sintetizar audio a partir de texto con Cloud TTS. El comando usa el comando gcloud auth application-default print-access-token para recuperar un token de autorización para la solicitud.

    Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

    • PROJECT_ID: el ID alfanumérico de tu proyecto de Google Cloud .

    Método HTTP y 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, despliega una de estas opciones:

    Deberías recibir una respuesta JSON similar a la siguiente:

    {
      "audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.."
    }
    

  2. La salida JSON del comando REST contiene el audio sintetizado en formato codificado en base64. Copia el contenido del campo audioContent en un archivo nuevo llamado synthesize-output-base64.txt. El nuevo archivo tendrá un aspecto similar al siguiente:

    //NExAARqoIIAAhEuWAAAGNmBGMY4EBcxvABAXBPmPIAF//yAuh9Tn5CEap3/o
    ...
    VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
    
  3. Decodifica el contenido del archivo synthesize-output-base64.txt en un archivo nuevo llamado synthesized-audio.mp3. Para obtener información sobre cómo decodificar Base64, consulta Decodificar contenido de audio codificado en Base64.

    Linux

    1. Copia solo el contenido codificado en Base64 en un archivo de texto.

    2. Decodifica el archivo de texto de origen con la herramienta de línea de comandos base64 mediante la marca -d:

        $ base64 SOURCE_BASE64_TEXT_FILE -d > DESTINATION_AUDIO_FILE

    Mac OSX

    1. Copia solo el contenido codificado en Base64 en un archivo de texto.

    2. Decodifica el archivo de texto de origen con la herramienta de línea de comandos base64:

        $ base64 --decode SOURCE_BASE64_TEXT_FILE > DESTINATION_AUDIO_FILE

    Windows

    1. Copia solo el contenido codificado en Base64 en un archivo de texto.

    2. Decodifica el archivo de texto de origen con el comando certutil.

       certutil -decode SOURCE_BASE64_TEXT_FILE DESTINATION_AUDIO_FILE
  4. Reproduce el contenido de synthesized-audio.mp3 en una aplicación de audio o en un dispositivo de audio. También puedes abrir el synthesized-audio.mp3 en el navegador Chrome para reproducir el audio. Para ello, ve a la carpeta que contiene el archivo (por ejemplo, file://my_file_path/synthesized-audio.mp3).

Limpieza

Para evitar cargos innecesarios de Google Cloud Platform, usa el Google Cloud console para eliminar tu proyecto si no lo necesitas.

Siguientes pasos