Voz sintética em português deixou de soar sintética. A diferença entre uma narração que ninguém questiona e uma que faz o ouvinte desligar em dez segundos está menos no modelo e mais em três ou quatro decisões de preparo do texto — que quase todo mundo pula.

O custo, para tirar da frente

É baixo o suficiente para não influenciar decisão nenhuma:

VolumeTempo de GPUCusto
1 minuto de narração~4 a 8 smenos de R$ 0,01
1 hora de audiolivro~5 a 8 min~R$ 0,15 (R$ 1,07/h)
100 vídeos de 2 minutos~25 min~R$ 0,45
Um livro inteiro (10 h de áudio)~1,2 h~R$ 1,30

Preços de agosto de 2026, para uma GPU avulsa, sem interrupção programada. O catálogo muda: confira a vitrine antes de fechar a conta.

Modelos modernos de síntese geram mais rápido que o tempo real — costumam produzir de 8 a 15 segundos de áudio por segundo de GPU numa placa modesta. Não precisa de placa cara: 16 GB resolve com folga, e a maior parte do tempo é carregar o modelo, não sintetizar.

O que realmente decide a qualidade

1. Pontuação é a partitura

O modelo lê a pontuação como instrução de respiração e entonação. Texto escrito para ser lido com os olhos — frases longas, poucas vírgulas, subordinadas encadeadas — vira narração ofegante e monótona.

Antes de sintetizar, reescreva para o ouvido:

Escrito para lerEscrito para ouvir
"O sistema, que foi implantado em 2024 após uma série de testes, apresenta desempenho superior.""O sistema foi implantado em 2024, depois de uma série de testes. E o desempenho é superior."
"R$ 1.250,00""mil duzentos e cinquenta reais"
"Ex.: CNPJ, IE e IM""por exemplo: cê-ene-pê-jota, inscrição estadual e inscrição municipal"
"O índice caiu 3,2% em 2025/2026.""O índice caiu três vírgula dois por cento no período de 2025 a 2026."
💡 Expanda números e siglas ANTES, não durante

Quase todo problema de narração em português é número, sigla ou data lidos errado. Resolva com um passo de LLM que normaliza o texto para forma falada — custa centavos e melhora mais que trocar de modelo de voz.

Peça explicitamente: expandir números por extenso, soletrar siglas que não são palavras, escrever datas e horas por extenso, e não alterar mais nada.

2. Quebre por frase, não por parágrafo

Modelos de síntese degradam em textos longos: a voz vai "derivando", o ritmo acelera, às vezes a entonação muda no meio. Sintetize frase a frase e junte os arquivos depois, com um silêncio curto entre eles.

Ganha três coisas: qualidade estável do início ao fim, possibilidade de refazer só a frase que saiu ruim, e controle explícito da pausa — que é o que dá naturalidade.

3. A referência de voz importa mais que o modelo

Em clonagem, a qualidade do resultado é quase inteiramente determinada pelo áudio de referência. O que funciona:

⚠️ Voz de pessoa real exige autorização

Clonar a voz de alguém sem consentimento é problema jurídico e de imagem, não questão técnica. Para uso comercial, tenha autorização escrita, com finalidade e prazo definidos.

Para narração institucional, o caminho seguro é gravar 30 segundos com um locutor contratado, com cessão de uso para síntese — sai barato e resolve o problema na origem.

O script

import re, subprocess
from pathlib import Path

SAIDA = Path("trechos"); SAIDA.mkdir(exist_ok=True)

def dividir(texto):
    # quebra em frases, sem cortar abreviação comum
    bruto = re.split(r"(?<=[.!?])\s+", texto.strip())
    frases, buffer = [], ""
    for f in bruto:
        buffer = (buffer + " " + f).strip()
        if len(buffer) >= 40:          # frases curtas demais soam picotadas
            frases.append(buffer); buffer = ""
    if buffer:
        frases.append(buffer)
    return frases

texto = Path("roteiro.txt").read_text(encoding="utf-8")

for i, frase in enumerate(dividir(texto)):
    destino = SAIDA / f"{i:04d}.wav"
    if destino.exists():
        continue
    sintetizar(frase, referencia="voz_ref.wav",
               idioma="pt", saida=str(destino))
    print(f"[{i}] {frase[:60]}...")

# juntar com 300 ms de silêncio entre as frases
lista = sorted(SAIDA.glob("*.wav"))
with open("lista.txt", "w") as f:
    for w in lista:
        f.write(f"file '{w.resolve()}'\nfile 'silencio300.wav'\n")

subprocess.run(["ffmpeg", "-f", "concat", "-safe", "0",
                "-i", "lista.txt", "-c", "copy", "bruto.wav"], check=True)

# normalizar volume — passo que a maioria esquece
subprocess.run(["ffmpeg", "-i", "bruto.wav",
                "-af", "loudnorm=I=-16:TP=-1.5:LRA=11",
                "narracao.wav"], check=True)

A normalização de volume no fim é o que faz a narração soar profissional em qualquer aparelho. Sem ela, o áudio fica baixo no celular e estourado no fone — e a pessoa culpa a voz.

Ajustar o ritmo

Narração automática costuma sair 10 a 20% mais rápida que o confortável para conteúdo técnico. Duas correções, ambas baratas:

Faça primeiro o silêncio. Ele resolve a maior parte da sensação de pressa sem alterar a voz.

Narre o seu acervo por alguns centavos

Uma GPU de 16 GB por hora dá conta de horas de áudio. Cobrança em reais, sem assinatura — ligue, gere e desligue.

Criar conta →

Onde a narração automática ainda não serve

Onde ela serve muito bem, e é o grosso da demanda: narração de curso e treinamento, audiodescrição de material interno, versão em áudio de artigo e documentação, voz de vídeo institucional, prototipagem antes de gravar com locutor.

Conclusão

O custo de narração com IA é irrelevante — menos de um real por hora de áudio. O que decide o resultado é o preparo: normalizar números e siglas, reescrever para o ouvido, quebrar por frase, cuidar da referência de voz e normalizar o volume no fim.

Faça um teste com um minuto antes de mandar o livro inteiro. E ouça no celular, com o fone que você usa de verdade — é onde o problema aparece.

Continue: XTTS em 1 clique · clonagem de voz · vídeo com IA