Este tutorial demonstra 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 do 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 sintetizada para o Text-to-Speech usando SSML e bibliotecas de cliente do Text-to-Speech.
Custos
Consulte a página de preços do Text-to-Speech para informações sobre custos.
Antes de começar
- Verifique se você tem um projeto do Text-to-Speech no Console do Google Cloud.
- Este tutorial permite que você use Java, Node.js ou Python. Se você planeja usar Java, faça o download e instale o Maven. Se você planeja usar o Node.js, faça o download de npm
Fazer o download das amostras de código
Para fazer o download dos exemplos de código, clone os exemplos do GitHub para 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 fazer o download do código deste tutorial e navegar até ele, 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 do Google Cloud Platform.
Para fazer o download do código deste tutorial e navegar até ele, 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 fazer o download do código deste tutorial e navegar até ele, 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 do 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_PATH
Replace 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 Text-to-Speech, consulte Bibliotecas de cliente da Text-to-Speech. Para mais informações, consulte a documentação de referência da API Java Text-to-Speech.
Para autenticar na Text-to-Speech, 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 Text-to-Speech, consulte Bibliotecas de cliente da Text-to-Speech. Para mais informações, consulte a documentação de referência da API Node.js Text-to-Speech.
Para autenticar na Text-to-Speech, 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 Text-to-Speech, consulte Bibliotecas de cliente da Text-to-Speech. Para mais informações, consulte a documentação de referência da API Python Text-to-Speech.
Para autenticar na Text-to-Speech, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Usar a API 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.
Toda a entrada SSML só pode ser lida por uma única voz.
Você pode definir a voz no objeto VoiceSelectionParams
.
Java
Para saber como instalar e usar a biblioteca de cliente da Text-to-Speech, consulte Bibliotecas de cliente da Text-to-Speech. Para mais informações, consulte a documentação de referência da API Java Text-to-Speech.
Para autenticar na Text-to-Speech, 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 Text-to-Speech, consulte Bibliotecas de cliente da Text-to-Speech. Para mais informações, consulte a documentação de referência da API Node.js Text-to-Speech.
Para autenticar na Text-to-Speech, 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 Text-to-Speech, consulte Bibliotecas de cliente da Text-to-Speech. Para mais informações, consulte a documentação de referência da API Python Text-to-Speech.
Para autenticar na Text-to-Speech, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Personalizar á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 o SSML.
Java
Para saber como instalar e usar a biblioteca de cliente da Text-to-Speech, consulte Bibliotecas de cliente da Text-to-Speech. Para mais informações, consulte a documentação de referência da API Java Text-to-Speech.
Para autenticar na Text-to-Speech, 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 Text-to-Speech, consulte Bibliotecas de cliente da Text-to-Speech. Para mais informações, consulte a documentação de referência da API Node.js Text-to-Speech.
Para autenticar na Text-to-Speech, 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 Text-to-Speech, consulte Bibliotecas de cliente da Text-to-Speech. Para mais informações, consulte a documentação de referência da API Python Text-to-Speech.
Para autenticar na Text-to-Speech, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Reunir todos os elementos
Este programa usa a seguinte entrada.
123 Street Ln, Small Town, IL 12345 USA 1 Jenny St & Number St, Tutone City, CA 86753 1 Piazza del Fibonacci, 12358 Pisa, Italy
Como passar o texto acima para text_to_ssml()
gera o seguinte texto com tags.
<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 o comentário das variáveis TODO (developer)
comentadas.
Substitua projectId pelo ID do projeto do Google Cloud com o comando a seguir.
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 o comentário das variáveis TODO (developer)
comentadas.
Substitua projectId pelo ID do projeto do Google Cloud com o comando a seguir.
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 esse áudio 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 o nome
text_to_ssml()
de um arquivo inexistente gera a mensagem de erro:IOError: [Errno 2] No such file or directory
Transmitir um parâmetro ssml_text para
ssml_to_audio()
que contém None gera esta 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
- Explore 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, use o Console do Google Cloud para excluir seu projeto, caso você não precise dele.
Excluir o projeto
- No console do Google Cloud, abra 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.