Criar áudios de formato longo
Este documento explica o processo de sintetização de áudios de formato longo. A síntese de áudios longos sintetiza de maneira assíncrona até 1 milhão de bytes na entrada. Para saber mais sobre os conceitos básicos da Text-to-Speech, confira Princípios básicos da Text-to-Speech.
Antes de começar
Antes de enviar uma solicitação à API Text-to-Speech, é preciso realizar as ações a seguir. Consulte a página Antes de começar para saber mais.
- Ativar a Text-to-Speech em um projeto do Google Cloud .
- Verificar se o faturamento está ativado para a Text-to-Speech.
- Verificar se você tem os papéis do Identity and Access Management (IAM) a seguir no bucket de saída do Google Cloud .
- Criador de objetos do Storage
- Leitor de objetos do Storage
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
Como sintetizar áudios longos a partir de textos usando a linha de comando
É possível converter textos longos em áudio fazendo uma solicitação POST HTTP 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 de saída do Google Cloud 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 de armazenamento do Google Cloud 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 e de gravação ao bucket de saída do Google Cloud .
Execute a solicitação REST na linha de comando para sintetizar o áudio baseado no texto com a Text-to-Speech. O comando usa o comando
gcloud auth application-default print-access-tokenpara recuperar um token de autorização da solicitação.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 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 pertence ao 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.
Verifique se a conta de serviço que executa a operação LIST pertence ao 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 tiver sido concluída, encontre o erro realizando uma consulta com o comando GET REST, corrija o erro e emita novamente o RPC.
Sintetizar áudios longos a partir de textos usando bibliotecas de cliente
Siga as instruções abaixo para sintetizar áudios longos.
Instale a biblioteca de cliente
Python
Antes de instalar a biblioteca, verifique se você preparou o ambiente para o desenvolvimento em Python.
pip install --upgrade google-cloud-texttospeech
Criar dados de áudio
É possível usar a Text-to-Speech para criar um arquivo de áudio longo com fala humana sintética. Use o código a seguir para criar um arquivo de áudio longo no bucket do Google Cloud .
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 , use o Google Cloud console 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.