O Text-to-Speech permite converter palavras e sentenças em dados de áudio codificados em base64 de fala humana natural. Depois é possível converter os dados em um arquivo de áudio que pode ser tocado como um MP3 por meio da decodificação dos dados de Base64. A API Text-to-Speech aceita entrada como texto bruto ou Linguagem de marcação de síntese de fala (SSML, na sigla em inglês).
Este documento descreve como criar um arquivo de áudio com base entrada de texto ou SSML usando o Text-to-Speech. Você também pode consultar os princípios básicos da conversão de texto em voz caso não esteja familiarizado com os conceitos, como síntese de fala ou SSML.
Essas amostras exigem a instalação e inicialização da CLI do Google Cloud. Para informações sobre como configurar a gcloud CLI, consulte Autenticar para TTS.
Converter texto em áudio de voz sintética
Com os códigos de exemplo a seguir, demonstramos como converter uma string em dados de áudio.
É possível configurar a saída da síntese de fala de várias maneiras, incluindo selecionando uma voz exclusiva ou modulando o tom, o volume, a taxa de fala e a taxa de amostragem da saída.
Protocolo
Consulte o endpoint da API text:synthesize
para ver todos os detalhes.
Para sintetizar o áudio do texto, faça uma solicitação HTTP POST para o endpoint text:synthesize
. No corpo de sua solicitação POST, especifique o tipo de voz que será sintetizado na seção de configuração voice
. Especifique também o texto que será sintetizado no campo text
da seção input
e, por fim, especifique o tipo de áudio que será criado na seção audioConfig
.
O snippet de código a seguir envia uma solicitação de síntese para o
endpoint text:synthesize
e salva os resultados em um
arquivo chamado synthesize-text.txt
. Substitua PROJECT_ID
pelo ID do projeto.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: <var>PROJECT_ID</var>" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'input':{ 'text':'Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets.' }, 'voice':{ 'languageCode':'en-gb', 'name':'en-GB-Standard-A', 'ssmlGender':'FEMALE' }, 'audioConfig':{ 'audioEncoding':'MP3' } }" "https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-text.txt
A API Text-to-Speech retorna o áudio sintetizado como dados codificados em Base64 contidos na saída JSON. A saída JSON no arquivo synthesize-text.txt
é semelhante ao seguinte snippet de código.
{ "audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.." }
Para decodificar os resultados da API Text-to-Speech como um arquivo de áudio MP3, execute o
seguinte comando no mesmo diretório do arquivo synthesize-text.txt
.
cat synthesize-text.txt | grep 'audioContent' | \ sed 's|audioContent| |' | tr -d '\n ":{},' > tmp.txt && \ base64 tmp.txt --decode > synthesize-text-audio.mp3 && \ rm tmp.txt
Go
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 Go 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.
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.
Outras linguagens
C# Siga estas instruções:Instruções de configuração do C# na página das bibliotecas de cliente e, em seguida, visite oDocumentação de referência do Text-to-Speech para .NET.
PHP Siga estas instruções:Instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite oDocumentação de referência do Text-to-Speech para PHP.
Ruby Siga estas instruções:Instruções de configuração do Ruby na página das bibliotecas de cliente e, em seguida, visite oDocumentação de referência do Text-to-Speech para Ruby.
Converter SSML em áudio de voz sintética
O uso de SSML em sua solicitação de síntese de áudio pode produzir áudio mais semelhante à fala humana natural. O SSML oferece especificamente um controle mais detalhado sobre como a saída de áudio representa as pausas na fala ou como o áudio pronuncia datas, horas, siglas e abreviações.
Para ver mais detalhes sobre os elementos SSML aceitos pela API Text-to-Speech, consulte a referência de SSML.
Protocolo
Consulte o endpoint da API text:synthesize
para ver todos os detalhes.
Para sintetizar o áudio da SSML, faça uma solicitação HTTP POST para o endpoint text:synthesize
. No
corpo de sua solicitação POST, especifique o tipo de voz que será sintetizado na
seção de configuração voice
. Especifique também a SSML que será sintetizada no
campo ssml
da seção input
e, por fim, especifique o tipo de áudio que será criado
na seção audioConfig
.
O snippet de código a seguir envia uma solicitação de síntese para o
endpoint text:synthesize
e salva os resultados em um
arquivo chamado synthesize-ssml.txt
. Substitua PROJECT_ID
pelo ID do projeto.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: <var>PROJECT_ID</var>" \ -H "Content-Type: application/json; charset=utf-8" --data "{ 'input':{ 'ssml':'<speak>The <say-as interpret-as=\"characters\">SSML</say-as> standard is defined by the <sub alias=\"World Wide Web Consortium\">W3C</sub>.</speak>' }, 'voice':{ 'languageCode':'en-us', 'name':'en-US-Standard-B', 'ssmlGender':'MALE' }, 'audioConfig':{ 'audioEncoding':'MP3' } }" "https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-ssml.txt
A API Text-to-Speech retorna o áudio sintetizado como dados codificados em Base64 contidos na saída JSON. A saída JSON no arquivo synthesize-ssml.txt
é semelhante ao seguinte snippet de código.
{ "audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.." }
Para decodificar os resultados da API Text-to-Speech como um arquivo de áudio MP3, execute o
seguinte comando no mesmo diretório do arquivo synthesize-ssml.txt
.
cat synthesize-ssml.txt | grep 'audioContent' | \ sed 's|audioContent| |' | tr -d '\n ":{},' > tmp.txt && \ base64 tmp.txt --decode > synthesize-ssml-audio.mp3 && \ rm tmp.txt
Go
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 Go 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.
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.
Outras linguagens
C# Siga estas instruções:Instruções de configuração do C# na página das bibliotecas de cliente e, em seguida, visite oDocumentação de referência do Text-to-Speech para .NET.
PHP Siga estas instruções:Instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite oDocumentação de referência do Text-to-Speech para PHP.
Ruby Siga estas instruções:Instruções de configuração do Ruby na página das bibliotecas de cliente e, em seguida, visite oDocumentação de referência do Text-to-Speech para Ruby.