Noções básicas sobre a API Cloud Text-to-Speech

A Text-to-Speech permite que os desenvolvedores criem vozes sintéticas 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.

A Text-to-Speech converte entradas de texto ou de linguagem de marcação de síntese de fala (SSML) em dados de áudio, como MP3 ou LINEAR16 (a codificação usada em arquivos WAV).

Este documento é um guia dos conceitos fundamentais para usar a 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".

A Text-to-Speech permite converter essa string de resposta em uma fala humana real a ser reproduzida para o 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 à 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':'With Cloud machine learning, your application interprets images, texts, and more.'
  },
  'voice':{
    'languageCode':'en-gb',
    'name':'en-GB-Chirp3-HD-Charon',
  },
  'audioConfig':{
    'audioEncoding':'LINEAR16'
  }
}" "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 textos que estão em Base64 em arquivos de mídia reproduzíveis.

Para saber mais sobre a síntese, consulte os guias 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 áudios que imitam o som de uma mulher falante de inglês com sotaque britânico, como no exemplo 1 acima. Você também pode converter o mesmo texto em uma voz diferente, como um homem falante de inglês com sotaque australiano.


Exemplo 2. Arquivo de áudio gerado com um falante de inglês australiano

Para conferir a lista completa com as vozes disponíveis, consulte Vozes disponíveis.

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. A Text-to-Speech permite a configuração da taxa de fala, do tom, do volume e da taxa de amostragem em hertz.

Consulte a referência do AudioConfig para mais informações.

A linguagem de marcação de síntese de fala (SSML) é aceita

É possível aprimorar a fala sintética produzida pela Text-to-Speech marcando o texto com a linguagem de marcação de síntese de fala (SSML). 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 garantir que a fala sintética pronuncie corretamente números ordinais. Para isso, é preciso fornecer à Text-to-Speech a entrada de SSML que marca números ordinais como tal.


Exemplo 5. Arquivo de áudio gerado com base na entrada de texto simples


Exemplo 6. Arquivo de áudio gerado com base na entrada de SSML

Para saber como sintetizar falas com base na SSML, consulte Como criar arquivos de áudio de voz