Neste tutorial, demonstramos como usar a linguagem de marcação de síntese de fala (SSML, na sigla em inglês) para falar um arquivo de texto que contém endereços. Marque uma string de texto com tags SSML para personalizar o áudio sintético da Cloud Text-to-Speech.
| Texto simples | Renderização de SSML de texto simples |
|---|---|
123 Street Ln |
<speak>123 Street Ln</speak> |
1 Number St |
<speak>1 Number St</speak> |
1 Piazza del Fibonacci |
<speak>1 Piazza del Fibonacci</speak> |
Objetivo
Envie uma solicitação de fala sintética à Cloud Text-to-Speech usando SSML e as bibliotecas de cliente da Cloud Text-to-Speech.
Custos
Consulte a página de preços da Cloud TTS para saber sobre os custos.
Antes de começar
- Verifique se você tem um projeto da Cloud Text-to-Speech no console doGoogle Cloud .
- Para este tutorial, você pode usar Java, Node.js ou Python. Se planeja usar Java, baixe e instale o Maven. Se planeja usar Node.js, baixe o npm.
Baixar os exemplos de código
Para baixar os exemplos de código, clone as amostras do GitHub do Google Cloud para a linguagem de programação que você pretende usar.
Java
Neste tutorial, o código é usado no diretório texttospeech/cloud-client/src/main/java/com/example/texttospeech/ do
repositório de amostras do Java para Google Cloud Platform.
Para baixar e navegar até o código deste tutorial, execute os comandos a seguir
no terminal.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git cd java-docs-samples/texttospeech/cloud-client/src/main/java/com/example/texttospeech/
Node.js
Neste tutorial, o código é usado no diretório texttospeech
do
repositório de amostras do Node.js para Google Cloud Platform.
Para baixar e navegar até o código deste tutorial, execute
os comandos
a seguir no terminal.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git cd texttospeech/
Python
Neste tutorial, o código é usado no diretório texttospeech/snippets do
repositório de amostras do Python para Google Cloud Platform.
Para baixar e navegar até o código deste tutorial, execute os comandos a seguir
no terminal.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git cd samples/snippets
Instale a biblioteca de cliente
Neste tutorial, é usada a biblioteca de cliente da Text-to-Speech.
Java
Neste tutorial, são usadas as seguintes dependências:
Node.js
No terminal, execute o comando follow.
npm install @google-cloud/text-to-speech
Python
No terminal, execute o comando follow.
pip install --upgrade google-cloud-texttospeech
Configurar suas credenciais do Google Cloud Platform
Provide authentication credentials to your application code by setting the
environment variable GOOGLE_APPLICATION_CREDENTIALS. This
variable applies only to your current shell session. If you want the variable
to apply to future shell sessions, set the variable in your shell startup file,
for example in the ~/.bashrc or ~/.profile file.
Linux ou macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"Replace KEY_PATH with the path of the JSON file that contains your credentials.
For example:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
For PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"Replace KEY_PATH with the path of the JSON file that contains your credentials.
For example:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
For command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATHReplace KEY_PATH with the path of the JSON file that contains your credentials.
Importar bibliotecas
Neste tutorial, são usadas as bibliotecas de cliente e sistema a seguir.
Java
Para saber como instalar e usar a biblioteca de cliente da Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Para mais informações, consulte a documentação de referência da API Cloud TTS Java.
Para autenticação na Cloud TTS, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente da Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Para mais informações, consulte a documentação de referência da API Cloud TTS Node.js.
Para autenticação na Cloud TTS, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente da Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Para mais informações, consulte a documentação de referência da API Cloud TTS Python.
Para autenticação na Cloud TTS, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Usar a API Cloud Text-to-Speech
A função a seguir usa uma string de texto marcada com SSML e o nome de um arquivo MP3. A função usa o texto marcado com SSML para gerar áudio sintético. A função salva o áudio sintético no nome de arquivo MP3 designado como um parâmetro.
Somente uma voz pode ler a entrada SSML inteira.
Defina a voz no
objeto
VoiceSelectionParams.
Java
Para saber como instalar e usar a biblioteca de cliente da Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Para mais informações, consulte a documentação de referência da API Cloud TTS Java.
Para autenticação na Cloud TTS, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente da Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Para mais informações, consulte a documentação de referência da API Cloud TTS Node.js.
Para autenticação na Cloud TTS, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente da Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Para mais informações, consulte a documentação de referência da API Cloud TTS Python.
Para autenticação na Cloud TTS, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Personalizar o áudio sintético
A função a seguir usa o nome de um arquivo de texto e converte o conteúdo do arquivo em uma string de texto marcada com SSML.
Java
Para saber como instalar e usar a biblioteca de cliente da Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Para mais informações, consulte a documentação de referência da API Cloud TTS Java.
Para autenticação na Cloud TTS, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente da Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Para mais informações, consulte a documentação de referência da API Cloud TTS Node.js.
Para autenticação na Cloud TTS, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente da Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Para mais informações, consulte a documentação de referência da API Cloud TTS Python.
Para autenticação na Cloud TTS, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Combinar todos os elementos
Este programa usa a entrada a seguir.
123 Street Ln, Small Town, IL 12345 USA 1 Jenny St & Number St, Tutone City, CA 86753 1 Piazza del Fibonacci, 12358 Pisa, Italy
Passar o texto acima para text_to_ssml() gera o texto marcado abaixo.
<speak>123 Street Ln, Small Town, IL 12345 USA <break time="2s"/>1 Jenny St & Number St, Tutone City, CA 86753 <break time="2s"/>1 Piazza del Fibonacci, 12358 Pisa, Italy <break time="2s"/></speak>
Executar o código
Para gerar um arquivo de áudio de fala sintética, execute o código a seguir na linha de comando.
Java
Linux ou MacOS
No diretório java-docs-samples/texttospeech/cloud-client/,
execute o seguinte comando na linha de comando.
$ mvn clean package
Windows
No diretório java-docs-samples/texttospeech/cloud-client/,
execute o seguinte comando na linha de comando.
$ mvn clean package
Node.js
Linux ou MacOS
No arquivo hybridGlossaries.js, remova a marca de comentário das variáveis TODO (developer)
comentadas.
No comando abaixo, substitua projectId pelo ID do projeto do Google Cloud .
No diretório nodejs-docs-samples/texttospeech,
execute o seguinte comando na linha de comando.
$ node ssmlAddresses.js projectId
Windows
No arquivo hybridGlossaries.js, remova a marca de comentário das variáveis TODO (developer)
comentadas.
No comando abaixo, substitua projectId pelo ID do projeto do Google Cloud .
No diretório nodejs-docs-samples/texttospeech,
execute o seguinte comando na linha de comando.
$env: C:/Node.js/node.exe C: ssmlAddresses.js projectId
Python
Linux ou MacOS
No diretório python-docs-samples/texttospeech/snippets,
execute o seguinte comando na linha de comando.
$ python ssml_addresses.py
Windows
No diretório python-docs-samples/texttospeech/snippets,
execute o seguinte comando na linha de comando.
$env: C:/Python3/python.exe C: ssml_addresses.py
Verificar o resultado
O programa gera um arquivo de áudio example.mp3 com fala sintética.
Java
Navegue até o diretório java-docs-samples/texttospeech/cloud-client/resources/.
Verifique se há um arquivo example.mp3 no diretório resources.
Node.js
Navegue até o diretório nodejs-docs-samples/texttospeech/resources/.
Verifique se há um arquivo example.mp3 no diretório resources.
Python
Navegue até python-docs-samples/texttospeech/snippets/resources.
Verifique se há um arquivo example.mp3 no diretório resources.
Ouça o clipe de áudio a seguir para verificar se o arquivo example.mp3 é igual.
Resolver problemas
Esquecer de definir a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS na linha de comando gera a mensagem de erro:
The Application Default Credentials are not available.
Passar para
text_to_ssml()o nome de um arquivo inexistente gera a mensagem de erro:IOError: [Errno 2] No such file or directory
Passar para
ssml_to_audio()um parâmetro ssml_text que contém None gera a mensagem de erro:InvalidArgument: 400 Invalid input type. Type has to be text or SSML
Verifique se você está executando o código do diretório correto.
A seguir
- Conheça outras tags SSML.
- Saiba como usar SSML com Translation e Vision
Limpar
Para evitar cobranças na sua conta do Google Cloud Platform referentes aos recursos usados neste tutorial, acesse o console doGoogle Cloud para excluir seu projeto, caso não precise dele.
Excluir o projeto
- No console doGoogle Cloud , acesse a página "Projetos".
- Na lista de projetos, selecione um e clique em Excluir.
- Na caixa de diálogo, insira a ID do projeto e clique em Encerrar para excluí-lo.