Criar áudio de formato longo
Este documento orienta você pelo processo de sintetização de áudio de formato longo. A síntese de áudio longa sintetiza de maneira assíncrona até 1 milhão de bytes na entrada. Para saber mais sobre os conceitos básicos do Text-to-Speech, leia Princípios básicos do Text-to-Speech.
Antes de começar
Antes de enviar uma solicitação para a API Text-to-Speech, é preciso concluir as ações a seguir. Consulte a página antes de começar para ver os detalhes.
- Ativar o Text-to-Speech em um projeto do GCP.
- Verificar se o faturamento está ativado para o Text-to-Speech.
- Verifique se você tem os papéis do Identity and Access Management (IAM) a seguir no bucket de saída do GCS.
- Criador de objetos do Storage
- Leitor de objetos do Storage
-
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
Como sintetizar áudio de textos com a linha de comando
É possível converter texto longo para áudio fazendo uma solicitação HTTP POST ao endpoint https://texttospeech.googleapis.com/v1beta1/projects/{$project_number}/locations/global:synthesizeLongAudio
.
No corpo do comando POST, especifique os campos a seguir.
• voice
: o tipo de voz que será sintetizada.
• input.text
: o texto que será sintetizado.
• audioConfig
: o tipo de áudio que será criado.
• output_gcs_uri
: o caminho do arquivo de saída do GCS no formato "gs://bucket_name/file_name.wav".
• parent
: o pai no formato "projects/{YOUR PROJECT NUMBER}/locations/{YOUR PROJECT LOCATION}".
A entrada pode conter até 1 MB de caracteres, e o limite exato pode variar.
Crie um bucket do Google Cloud Storage no projeto usado para executar a síntese. Verifique se a conta de serviço usada para executar a síntese tem acesso de leitura/gravação ao bucket de saída do GCS.
Execute a solicitação REST abaixo na linha de comando para sintetizar o áudio do texto usando o Text-to-Speech. O comando usa o comando
gcloud auth application-default print-access-token
para recuperar um token de autorização da solicitação.Verifique se a conta de serviço que executa a operação GET tem o papel de Editor da Text-to-Speech.
Método HTTP e URL:
POST https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global:synthesizeLongAudio
Corpo JSON da solicitação:
{ "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 a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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 }
A saída JSON para o comando REST contém o nome da operação longa no campo
name
. Execute a solicitação REST abaixo na linha de comando para consultar o estado da operação de longa duração.Verifique se a conta de serviço que executa a operação GET é do mesmo projeto usado para a síntese.
Método HTTP e URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations/23456
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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 em um determinado projeto e execute a solicitação REST abaixo.
Verifique se a conta de serviço que executa a operação LIST é do mesmo projeto usado para a síntese.
Método HTTP e URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "operations": [ { "name": "12345", "done": false }, { "name": "23456", "done": false } ], "nextPageToken": "" }
Depois que a operação de longa duração for concluída, encontre o arquivo de áudio de saída no URI do bucket fornecido no campo
output_gcs_uri
. Se a operação não foi concluída, encontre o erro consultando com o comando GET REST, corrija o erro e emita o RPC novamente.
Sintetizar áudio longo de texto usando bibliotecas de cliente
Instale a biblioteca de cliente
Python
Antes de instalar a biblioteca, verifique se você preparou seu ambiente para o desenvolvimento do Python.
pip install --upgrade google-cloud-texttospeech
Criar dados de áudio
É possível usar o Text-to-Speech para criar um arquivo de áudio longo de fala humana sintética. Use o código a seguir para criar um arquivo de áudio longo no bucket do GCS.
Python
Antes de executar o exemplo, verifique se você preparou o ambiente para o desenvolvimento em Python.
Limpar
Para evitar cobranças desnecessárias do Google Cloud Platform, use o console do Google Cloud para excluir o projeto se ele não for mais necessário.
A seguir
- Saiba mais sobre a Cloud Text-to-Speech lendo as noções básicas.
- Verifique a lista de vozes disponíveis que você pode usar para fala sintética.