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.
  • Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

    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.

  1. 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:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

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

  2. 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 llamado synthesize-output-base64.txt. Tu archivo nuevo debería ser similar al siguiente ejemplo:

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

    Linux

    1. Copia solo el contenido codificado en Base-64 en un archivo de texto.

    2. 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
    

    macOS

    1. Copia solo el contenido codificado en Base-64 en un archivo de texto.

    2. 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
    

    Windows

    1. Copia solo el contenido codificado en Base-64 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 con solo navegar a la carpeta que contiene el archivo, por ejemplo file://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?