A Cloud Text-to-Speech permite converter palavras e frases em dados de áudio de fala humana natural codificados em Base64. 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 em Base64. A API Cloud Text-to-Speech aceita entrada como texto bruto ou linguagem de marcação de síntese de fala (SSML, na sigla em inglês).
Neste documento, descrevemos como criar um arquivo de áudio com base em entrada de texto ou SSML usando a Cloud TTS. Também é possível consultar o artigo Noções básicas sobre a Cloud Text-to-Speech para aprender sobre conceitos como síntese de fala ou SSML.
Para lidar com essas amostras, você precisa instalar e inicializar a CLI do Google Cloud. Para saber como configurar a gcloud CLI, consulte Autenticação na Cloud TTS.
Converter textos em áudios de voz sintética
Com os exemplos de código 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 a seleção de uma voz exclusiva ou a modulação do tom, do volume, da taxa de fala e da taxa de amostragem da saída.
Protocolo
Consulte o endpoint da API text:synthesize para saber todos os detalhes.
Para sintetizar um áudio com base em um texto, faça uma solicitação POST HTTP para o
endpoint text:synthesize. No corpo da 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 ao
endpoint text:synthesize e salva os resultados em um
arquivo 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 Cloud 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 Cloud Text-to-Speech como um arquivo de áudio MP3, execute o
comando a seguir 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 Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Para mais informações, consulte a documentação de referência da API Cloud TTS Go.
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.
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.
Outras linguagens
C#: siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a documentação de referência da Cloud TTS para .NET.
PHP: siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a documentação de referência da Cloud TTS para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse documentação de referência da Cloud TTS para Ruby.
Converter SSML em áudio de voz sintética
O uso de SSML na solicitação de síntese de áudio pode produzir um á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 Cloud Text-to-Speech, consulte a referência de SSML.
Protocolo
Consulte o endpoint da API text:synthesize para saber todos os detalhes.
Para sintetizar áudios com base em SSML, faça uma solicitação POST HTTP para o
endpoint text:synthesize. No
corpo da 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 ao
endpoint text:synthesize e salva os resultados em um
arquivo 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
comando a seguir 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 Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Para mais informações, consulte a documentação de referência da API Cloud TTS Go.
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.
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.
Outras linguagens
C#: siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a documentação de referência da Cloud TTS para .NET.
PHP: siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a documentação de referência da Cloud TTS para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse documentação de referência da Cloud TTS para Ruby.
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho da Cloud TTS em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Faça uma avaliação sem custos financeiros da Cloud TTS