Crie áudio a partir de texto através da linha de comandos
Este documento explica o processo de fazer um pedido ao Cloud Text-to-Speech através da linha de comandos. Para saber mais acerca dos conceitos fundamentais no Cloud Text-to-Speech, leia o artigo Noções básicas do Cloud Text-to-Speech.
Antes de começar
Antes de poder enviar um pedido para a API Cloud Text-to-Speech, tem de ter concluído as seguintes ações. Consulte a página antes de começar para ver detalhes.
- Ative o Cloud Text-to-Speech num projeto da GCP.
- Certifique-se de que a faturação está ativada para o Cloud Text-to-Speech.
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud initSe estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Sintetize áudio a partir de texto
Pode converter texto em áudio fazendo um pedido HTTP POST para o ponto final https://texttospeech.googleapis.com/v1/text:synthesize. No corpo do comando POST, especifique o tipo de voz a sintetizar na secção de configuração voice, especifique o texto a sintetizar no campo text da secção input e especifique o tipo de áudio a criar na secção audioConfig.
Execute o pedido REST abaixo na linha de comandos para sintetizar áudio a partir de texto com o Cloud TTS. O comando usa o comando
gcloud auth application-default print-access-tokenpara obter um token de autorização para o pedido.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID alfanumérico do seu projeto Google Cloud .
Método HTTP e URL:
POST https://texttospeech.googleapis.com/v1/text:synthesize
Corpo JSON do pedido:
{ "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 o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.." }A saída JSON para o comando REST contém o áudio sintetizado no formato codificado em base64. Copie o conteúdo do campo
audioContentpara um novo ficheiro com o nomesynthesize-output-base64.txt. O novo ficheiro vai ter um aspeto semelhante ao seguinte://NExAARqoIIAAhEuWAAAGNmBGMY4EBcxvABAXBPmPIAF//yAuh9Tn5CEap3/o ... VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Descodifique o conteúdo do ficheiro
synthesize-output-base64.txtnum novo ficheiro com o nomesynthesized-audio.mp3. Para obter informações sobre a descodificação de base64, consulte o artigo Descodificar conteúdo de áudio codificado em base64.Linux
Copie apenas o conteúdo codificado em base-64 para um ficheiro de texto.
Descodifique o ficheiro de texto de origem através da ferramenta de linha de comandos base64 com a flag
-d:
$ base64 SOURCE_BASE64_TEXT_FILE -d > DESTINATION_AUDIO_FILE
Mac OSX
Copie apenas o conteúdo codificado em base-64 para um ficheiro de texto.
Descodifique o ficheiro de texto de origem através da ferramenta de linha de comandos base64:
$ base64 --decode SOURCE_BASE64_TEXT_FILE > DESTINATION_AUDIO_FILE
Windows
Copie apenas o conteúdo codificado em base-64 para um ficheiro de texto.
Descodifique o ficheiro de texto de origem através do comando
certutil.
certutil -decode SOURCE_BASE64_TEXT_FILE DESTINATION_AUDIO_FILE
Reproduzir o conteúdo de
synthesized-audio.mp3numa aplicação de áudio ou num dispositivo de áudio. Também pode abrir osynthesized-audio.mp3no navegador Chrome para reproduzir o áudio navegando para a pasta que contém o ficheiro, por exemplo,file://my_file_path/synthesized-audio.mp3
Limpar
Para evitar cobranças desnecessárias da Google Cloud Platform, use o Google Cloud console para eliminar o seu projeto se não precisar dele.
O que se segue?
- Saiba mais sobre o Cloud Text-to-Speech lendo as noções básicas.
- Reveja a lista de vozes disponíveis que pode usar para a voz sintética.