o Text-to-Speech permite que os desenvolvedores criem voz sintética e com som natural como áudio para reprodução. É possível usar os arquivos de dados de áudio criados com o Text-to-Speech para melhorar seus aplicativos ou aumentar a mídia, como vídeos ou gravações de áudio, incluindo conformidade com todos os Termos de Serviço do Google Cloud Platform e com as leis aplicáveis.
O Text-to-Speech converte a entrada de texto ou Linguagem de marcação de síntese de fala (SSML, na sigla em inglês) em dados de áudio, como MP3 ou LINEAR16 (a codificação usada em arquivos WAV).
Este documento é um guia dos conceitos fundamentais do uso do Text-to-Speech. Antes de examinar API em mais detalhes, leia os guias de início rápido.
Exemplo básico
O Text-to-Speech é ideal para qualquer aplicativo que reproduza áudio da fala humana para os usuários. Ele permite converter strings, palavras e frases arbitrárias no som de uma pessoa falando aquilo.
Imagine que você tenha um app de assistente por voz que ofereça feedback em idioma natural para seus usuários como arquivos de áudio que podem ser tocados. Seu aplicativo pode realizar uma ação e, em seguida, fornecer a fala humana como um feedback para o usuário.
Por exemplo, seu aplicativo pode informar que adicionou um evento ao calendário do usuário. Seu aplicativo cria uma string de resposta para informar a adição ao usuário, algo como "Adicionei o evento ao seu calendário".
O Text-to-Speech possibilita converter essa string de resposta em fala humana real para ser reproduzida no usuário, semelhante ao exemplo abaixo.
Exemplo 1. Arquivo de áudio gerado pelo Text-to-Speech
Para criar um arquivo de áudio como no exemplo 1, envie uma solicitação para o Text-to-Speech, como o snippet de código a seguir.
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':'I\'ve added the event to your calendar.'
},
'voice':{
'languageCode':'en-gb',
'name':'en-GB-Standard-A',
'ssmlGender':'FEMALE'
},
'audioConfig':{
'audioEncoding':'MP3'
}
}" "https://texttospeech.googleapis.com/v1/text:synthesize"
Síntese de fala
O processo de conversão da entrada de texto em dados de áudio é chamado de síntese, e a saída da síntese é chamada de fala sintética.
O Text-to-Speech tem dois tipos de entrada:
texto bruto ou dados formatados em SSML (discutidos abaixo). Para criar um novo arquivo de áudio, chame o endpoint
synthesize
da API.
O processo de síntese de fala gera dados de áudio brutos como uma string codificada em base64. Você precisa decodificar a string codificada em base64 em um arquivo de áudio para que o aplicativo possa reproduzi-la. A maioria das plataformas e dos sistemas operacionais também tem ferramentas para decodificar texto em base64 em arquivos de mídia reproduzíveis.
Para saber mais sobre a síntese, consulte o guia de início rápido ou a página Como criar arquivos de áudio de voz.
Vozes
O Text-to-Speech cria dados de áudio brutos de fala humana natural. Ou seja, ele cria áudio que soa como uma pessoa falando. Quando você envia uma solicitação de síntese para o Text-to-Speech, é necessário especificar uma voz que "fala" as palavras.
O Text-to-Speech tem uma ampla seleção de vozes personalizadas disponíveis para uso. As vozes diferem por idioma, gênero e sotaque (para alguns idiomas). Por exemplo, é possível criar áudio que imita o som de uma mulher falante de inglês com sotaque britânico, como o exemplo 1 acima. Você também pode converter o mesmo texto em uma voz diferente, digamos, um homem falante de inglês com sotaque australiano.
Exemplo 2. Arquivo de áudio gerado com um falante de inglês australiano
Para ver a lista completa com as vozes disponíveis, consulte Vozes compatíveis.
Vozes WaveNet
Junto com outras vozes sintéticas tradicionais, o Text-to-Speech também fornece vozes premium geradas pelo WaveNet. Os usuários acham que as vozes geradas pelo Wavenet são mais calorosas e semelhantes a humanos do que outras vozes sintéticas.
A principal diferença de uma voz WaveNet é o modelo WaveNet usado para gerar a voz. Os modelos WaveNet foram treinados usando amostras de áudio brutas de humanos reais falando. Como resultado, esses modelos geram fala sintética com ênfase mais humana e mais inflexão nas sílabas, nos fonemas e nas palavras.
Compare as duas amostras de fala sintética a seguir.
Exemplo 3. Arquivo de áudio gerado com uma voz padrão
Exemplo 4. Arquivo de áudio gerado com uma voz do WaveNet
Para saber mais sobre os benefícios das vozes geradas pelo WaveNet, consulte Tipos de vozes.
Outras configurações de saída de áudio
Além da voz, você também pode configurar outros aspectos da saída de dados de áudio criados pela síntese de fala. O Text-to-Speech é compatível com a configuração da taxa de fala, tom, volume e taxa de amostragem em hertz.
Consulte a referência do AudioConfig para mais informações.
Compatibilidade com Linguagem de marcação de síntese de fala (SSML)
É possível aprimorar a fala sintética produzida pelo Text-to-Speech ao marcar o texto usando a Linguagem de marcação de síntese de fala (SSML, na sigla em inglês). A SSML permite que você insira pausas, pronúncias de siglas ou outros detalhes nos dados de áudio criados pelo Text-to-Speech. O Text-to-Speech aceita um subconjunto dos elementos SSML disponíveis.
Por exemplo, é possível assegurar que a fala sintética pronuncie corretamente números ordinais. Para isso, é preciso fornecer ao Text-to-Speech a entrada de SSML que marca números ordinais como tal.
Exemplo 5. Arquivo de áudio gerado da entrada de texto simples
Exemplo 6. Arquivo de áudio gerado da entrada de SSML
Para saber mais sobre como sintetizar fala a partir de SSML, consulte Como criar arquivos de áudio de voz