Crie áudio de formato longo
Este documento explica o processo de síntese de áudio de formato longo. A síntese de áudio longa sintetiza de forma assíncrona até 1 milhão de bytes na entrada. Para saber mais acerca dos conceitos fundamentais da conversão de texto em voz, leia o artigo Noções básicas da conversão de texto em voz.
Antes de começar
Antes de poder enviar um pedido para a API Text-to-Speech, tem de ter concluído as seguintes ações. Consulte a página antes de começar para ver detalhes.
- Ative a conversão de texto em voz num Google Cloud projeto.
- Certifique-se de que a faturação está ativada para a conversão de texto em voz.
- Certifique-se de que tem as seguintes funções de gestão de identidade e de acesso (IAM) no contentor Google Cloud de saída.
- Storage Object Creator
- Storage Object Viewer
-
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Sintetize áudio longo a partir de texto através da linha de comandos
Pode converter texto de formato longo em áudio fazendo um pedido HTTP POST para o ponto final https://texttospeech.googleapis.com/v1beta1/projects/{$project_number}/locations/global:synthesizeLongAudio
.
No corpo do comando POST, especifique os seguintes campos.
• voice
: o tipo de voz a sintetizar.
• input.text
: o texto a sintetizar.
• audioConfig
: o tipo de áudio a criar.
• output_gcs_uri
: o Google Cloud caminho de saída no formato "gs://bucket_name/file_name.wav".
• parent
: o elemento principal no formato "projects/{YOUR_PROJECT_NUMBER}/locations/{YOUR_PROJECT_LOCATION}".
A entrada pode conter até 1 MB de carateres. O limite exato pode variar consoante as diferentes entradas.
Crie um Google Cloud contentor de armazenamento no projeto usado para executar a síntese. Certifique-se de que a conta de serviço usada para executar a síntese tem acesso de leitura e escrita ao contentor Google Cloud de saída.
Execute o pedido REST na linha de comandos para sintetizar o áudio a partir do texto com a API Text-to-Speech. O comando usa o comando
gcloud auth application-default print-access-token
para obter um token de autorização para o pedido.Método HTTP e URL:
POST https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global:synthesizeLongAudio
Corpo JSON do pedido:
{ "parent": "projects/12345/locations/global", "audio_config":{ "audio_encoding":"LINEAR16" }, "input":{ "text":"hello" }, "voice":{ "language_code":"en-us", "name":"en-us-Standard-A" }, "output_gcs_uri": "gs://bucket_name/file_name.wav" }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "23456", "metadata": { "@type": "type.googleapis.com/google.cloud.texttospeech.v1beta1.SynthesizeLongAudioMetadata", "progressPercentage": 0, "startTime": "2022-12-20T00:46:56.296191037Z", "lastUpdateTime": "2022-12-20T00:46:56.296191037Z" }, "done": false }
O resultado JSON do comando REST contém o nome da operação longa no campo
name
. Execute o pedido REST na linha de comandos para consultar o estado da operação de longa duração.Certifique-se de que a conta de serviço que executa a operação GET pertence ao mesmo projeto que o usado para a síntese.
Método HTTP e URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations/23456
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/12345/locations/global/operations/23456", "metadata": { "@type": "type.googleapis.com/google.cloud.texttospeech.v1beta1.SynthesizeLongAudioMetadata", "progressPercentage": 100 }, "done": true }
Consulte a lista de todas as operações em execução num determinado projeto e execute o pedido REST.
Certifique-se de que a conta de serviço que executa a operação LIST é do mesmo projeto que o usado para a síntese.
Método HTTP e URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "operations": [ { "name": "12345", "done": false }, { "name": "23456", "done": false } ], "nextPageToken": "" }
Quando a operação de longa duração for concluída com êxito, encontre o ficheiro de áudio de saída no URI do bucket indicado no campo
output_gcs_uri
. Se a operação não for concluída com êxito, encontre o erro consultando através do comando REST GET, corrija o erro e emita novamente o RPC.
Sintetize áudio longo a partir de texto com bibliotecas cliente
Siga estas instruções para sintetizar áudio longo.
Instale a biblioteca de cliente
Python
Antes de instalar a biblioteca, certifique-se de que preparou o seu ambiente para o desenvolvimento em Python.
pip install --upgrade google-cloud-texttospeech
Crie dados de áudio
Pode usar a conversão de texto em voz para criar um ficheiro de áudio longo de voz humana sintética. Use o seguinte código para criar um ficheiro de áudio longo no seu Google Cloud contentor.
Python
Antes de executar o exemplo, certifique-se de que preparou o seu ambiente para o desenvolvimento em Python.
Limpar
Para evitar custos Google Cloud desnecessários, 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.