Um momento
Todos os artigos
Python 8 min de leitura

Como Gerar Áudio a Partir de Texto com Texto para Fala (TTS)

Transforme um roteiro escrito em áudio falado: experimente a voz integrada do navegador e depois gere um MP3 com uma API moderna de texto para fala. Aprenda a escolher vozes, ajustar a pronúncia com SSML e revisar a qualidade.

nbkhope
Nesta página

Seu texto já está pronto para a abertura de um podcast, uma aula de idiomas, um artigo acessível ou uma voz útil dentro de um app. Mas você não tem um estúdio de gravação — nem uma hora para regravar “MCP” até soar certo. Texto para fala, também chamado de TTS (sigla em inglês de text-to-speech), transforma palavras escritas em áudio falado, muitas vezes em segundos.

Você pode pedir para o navegador do seu dispositivo ler uma frase ou enviar o texto a um serviço na nuvem e salvar um MP3. Vamos experimentar os dois caminhos e depois ajustar pronúncia e ritmo para que o resultado soe como algo que uma pessoa realmente diria.

Fluxo colorido de TTS: revisar o roteiro, adicionar dicas de pronúncia e pausas, selecionar idioma e voz, enviar o texto a um mecanismo de fala, receber um MP3, ouvir e revisar.

O que acontece entre o texto e o som?

Um sistema de TTS primeiro interpreta as palavras e suas pronúncias prováveis. Ele estima ritmo, ênfase e entonação e então produz uma forma de onda de áudio. Vozes neurais modernas aprendem esses padrões a partir de exemplos de fala, o que pode deixá-las mais fluidas do que a síntese mais antiga, baseada em regras.

O sistema interpreta um desempenho a partir do roteiro. “A Dra. Lee vai ler 3/4 do relatório” pode ser falado de jeitos diferentes conforme o contexto. O mecanismo talvez não saiba se 3/4 significa “três quartos” ou “quatro de março”, nem se “MCP” deve ser pronunciado como letras ou como uma palavra. Por isso, um bom fluxo de TTS inclui uma escuta feita por uma pessoa.

Prévia rápida: faça seu navegador falar

A maioria dos navegadores atuais oferece a Web Speech API. Ela usa vozes disponíveis no próprio dispositivo, então é prática para uma prévia rápida e para recursos de acessibilidade. Este exemplo fala pelos alto-falantes; ele não cria um arquivo MP3.

1<textarea id="script">Olá! Suas palavras estão prontas para serem ouvidas.</textarea>
2<button id="speak">Falar</button>
3<button id="stop">Parar</button>
4
5<script>
6  const speaker = window.speechSynthesis;
7
8  document.querySelector("#speak").addEventListener("click", () => {
9    speaker.cancel(); // Limpa uma fala anterior.
10    const utterance = new SpeechSynthesisUtterance(
11      document.querySelector("#script").value,
12    );
13    utterance.lang = "pt-BR";
14    utterance.rate = 1;
15    const localVoice = speaker.getVoices().find((voice) => voice.lang === "pt-BR");
16    if (localVoice) utterance.voice = localVoice;
17    speaker.speak(utterance);
18  });
19
20  document.querySelector("#stop").addEventListener("click", () => speaker.cancel());
21</script>

Cada dispositivo escolhe quais vozes estão instaladas, e a lista de vozes pode carregar de forma assíncrona. Se você criar um seletor de vozes de verdade, escute o evento voiceschanged do navegador e deixe as pessoas escolherem. Use um botão acionado pela pessoa, como acima, porque os navegadores podem bloquear uma fala iniciada sem aviso.

Gere um MP3 para baixar

Para criar um arquivo de áudio portátil, use um serviço de fala que devolva bytes de áudio. Aqui vai um pequeno exemplo em Python com o Google Cloud Text-to-Speech. Ele precisa de uma conta e credenciais na nuvem, mas não exige uma chave de conta de serviço no código-fonte.

  1. Crie ou escolha um projeto Google Cloud, habilite o Cloud Text-to-Speech e configure as Credenciais Padrão da Aplicação seguindo o guia de autenticação do Google.
  2. Instale a biblioteca cliente de Python:
python -m pip install --upgrade google-cloud-texttospeech
  1. Salve o código como make_audio.py e execute python make_audio.py:
1from pathlib import Path
2
3from google.cloud import texttospeech
4
5client = texttospeech.TextToSpeechClient()
6
7request_input = texttospeech.SynthesisInput(
8    text="Olá! Esta frase está virando um arquivo de áudio."
9)
10voice = texttospeech.VoiceSelectionParams(
11    language_code="pt-BR",
12    name="pt-BR-Neural2-A",
13)
14audio = texttospeech.AudioConfig(
15    audio_encoding=texttospeech.AudioEncoding.MP3,
16    speaking_rate=1.0,
17)
18
19response = client.synthesize_speech(
20    input=request_input,
21    voice=voice,
22    audio_config=audio,
23)
24Path("hello.mp3").write_bytes(response.audio_content)
25print("Created hello.mp3")

O nome da voz é apenas um exemplo: modelos e disponibilidade mudam, então confira a lista atual do provedor e escolha o idioma de que você realmente precisa. pt-BR é português do Brasil; um roteiro em inglês deve usar uma voz em inglês e o respectivo código de idioma. Uma voz pode soar fluente e ainda assim pronunciar errado um nome, uma sigla ou uma expressão local.

Este exemplo usa uma voz Neural2 porque ela oferece o controle de velocidade mostrado aqui. Famílias de voz mais novas podem ter outros controles: atualmente, o Google documenta Chirp 3: HD com suporte a streaming, mas sem entrada SSML nem configurações de velocidade e tom. O modelo mais novo não é automaticamente o melhor para o projeto; escolha de acordo com os controles e o som de que você precisa.

As partes principais são simples: a entrada é seu texto, a voz escolhe o idioma e o timbre, a configuração de áudio escolhe MP3 e a resposta contém os bytes de áudio. Guarde as credenciais na área de credenciais do provedor ou no gerenciador de segredos da sua plataforma — nunca no código do navegador ou num repositório público.

Prévia simulada de um estúdio de áudio mostrando o roteiro, seletores de idioma e voz, uma dica de pronúncia com SSML e um player de MP3 com forma de onda e botão de reprodução.

Ajuste pronúncia e ritmo com SSML

SSML (Speech Synthesis Markup Language) é uma forma de anotar o texto com instruções, como pausas, pronúncias e a leitura de datas ou abreviações. Por exemplo:

1<speak>
2  Bem-vindo à demonstração.
3  <break time="400ms"/>
4  Vamos falar <sub alias="texto para fala">TTS</sub> com calma e clareza.
5</speak>

No exemplo de Python, passe essa string como texttospeech.SynthesisInput(ssml=ssml) em vez de text=.... SSML é um padrão XML, mas cada provedor oferece um subconjunto e algumas extensões próprias. Confira a documentação da voz escolhida, escape caracteres XML como & e < no texto comum e valide a marcação antes de enviá-la.

SSML é especialmente útil para siglas, nomes de produtos, grafias incomuns, datas e pausas intencionais. Não marque cada frase. Se a voz soar artificial, simplifique as instruções e deixe o ritmo natural trabalhar.

Escolha o tipo certo de TTS

Se você precisa de…Um bom começoLeve em conta
Uma prévia falada rápida numa página webWeb Speech API do navegadorVoz e som variam por dispositivo; a API não salva um MP3 diretamente.
Um arquivo consistente para curso, clipe ou rascunho de podcastAPI de TTS na nuvem que devolva MP3 ou WAVConfira idioma, voz, limites de uso, custo e tratamento dos dados.
Uma resposta falada enquanto alguém esperaUma API de fala em streamingO streaming pode reduzir a demora percebida; confira se o recurso e a voz já foram lançados ou ainda estão em prévia.
Sincronização precisa para legendas ou destaque do texto faladoMarcas de fala ou tempos por palavra, se o provedor oferecerNem toda voz ou mecanismo fornece metadados de alinhamento.

Para uma narração curta, crie um arquivo e ouça tudo. Para roteiros longos, divida por parágrafo ou frase, sintetize cada trecho e junte o áudio com cuidado. Cortar o texto num número arbitrário de caracteres pode separar uma frase ou mudar a pronúncia. Mantenha a mesma voz e as mesmas configurações entre os trechos e confira se as emendas não mudam de repente o volume ou o ritmo.

A revisão humana: ouça como uma pessoa editora

Antes de publicar, escute o áudio de verdade — não apenas releia o texto. Confira nomes, siglas, números, datas, mudanças de idioma, pausas e o início e o fim de cada trecho. Experimente a mesma frase com algumas vozes; a melhor é aquela que combina com seu público e sua mensagem, não necessariamente a mais dramática da demonstração.

Confira também os detalhes práticos. MP3 é conveniente para compartilhar e reproduzir na web; WAV ou PCM pode ser útil se você pretende editar ou processar o áudio. Evite enviar textos confidenciais a um serviço se as práticas de dados e as permissões do seu projeto não permitirem. Use apenas vozes autorizadas, obtenha permissão explícita para vozes personalizadas ou clonadas e deixe claro que o áudio é sintético quando houver risco de confusão com uma pessoa real.

Seu primeiro áudio em quatro passos

  1. Escreva um roteiro curto e leia em voz alta. Reescreva trechos que soarem estranhos.
  2. Faça uma prévia no navegador ou gere um MP3 com o exemplo na nuvem.
  3. Escute para encontrar um erro. Acrescente uma dica de pronúncia ou uma pausa e gere de novo.
  4. Salve o áudio final com o idioma, a voz e a versão do roteiro para poder reproduzi-lo depois.

É isso: TTS é texto entrando e voz saindo, seguido de uma rápida edição humana. A mágica não está só no modelo de voz. Está também no roteiro, na escolha da voz, nas dicas de pronúncia e nos seus ouvidos trabalhando juntos.

Fontes e para continuar aprendendo

Obrigado pela leitura!

Conhece alguém que vai gostar? Mande para essa pessoa.

Mais artigos

Read next

Python 7 min de leitura

Como Gerar Imagens a Partir de Texto: Um Guia Prático

Transforme uma ideia em imagem com um prompt melhor, um fluxo de geração reproduzível e um modelo aberto moderno. Aprenda a iterar, orientar a composição e revisar o resultado antes de usá-lo.

nbkhope

Comentários

Be kind and specific. Comments with links from new accounts appear after a moderator reviews them.