← Blog

Narração de vídeos com voz neural de graça: edge-tts como alternativa ao Azure

Narre vídeos em português com a voz neural Antônio, do Edge, usando o edge-tts: gere o áudio, ajuste a velocidade, crie legendas e junte tudo ao vídeo com o ffmpeg.

Compartilhar
Onda sonora que se transforma em código e termina em uma linha do tempo de vídeo

O que é o edge-tts

O edge-tts é uma biblioteca Python de código aberto, licenciada sob LGPLv3 e mantida pela comunidade. Ela usa as vozes neurais do recurso "Ler em voz alta" do Microsoft Edge e não exige conta, chave de API nem cobrança. Precisa de internet, porque a voz é sintetizada nos servidores da Microsoft.

Por que usar a biblioteca em vez de um site?

Para um áudio avulso, um site de texto para voz costuma resolver mais rápido, sem instalar nada. A biblioteca compensa quando você quer mais controle sobre o processo:

  • Roteiros longos: o texto vem de um arquivo, sem copiar e colar em formulário.
  • Repetição: o mesmo comando regenera a narração sempre que o roteiro muda.
  • Legendas: o arquivo SRT, com as marcas de tempo, sai junto com o áudio.
  • Velocidade: um parâmetro ajusta o ritmo da fala.
  • Integração: o áudio entra direto no fluxo de edição com o ffmpeg.

Em serviços de voz na nuvem, o texto da narração sai do seu computador. Com o edge-tts, ele vai para a Microsoft. Com um site, vai para quem o mantém, e nem sempre é fácil saber quem é.

Seu primeiro áudio em poucos minutos

Crie uma pasta para o teste e entre nela (Linux e macOS):

bash
mkdir teste-edge-tts && cd teste-edge-tts

Crie um ambiente virtual:

bash
python3 -m venv venv

Ative o ambiente:

bash
source venv/bin/activate

Instale a biblioteca:

bash
pip install edge-tts

Gere o áudio:

bash
edge-tts --voice pt-BR-AntonioNeural --text "Olá, este é um teste de narração com voz neural." --write-media narracao.mp3

O arquivo narracao.mp3 aparece na pasta atual e pode ser ouvido em qualquer player. Se --voice for omitido, a voz padrão é em inglês (en-US-EmmaMultilingualNeural), por isso é preciso sempre indicar a voz.

Escolhendo a voz

Cada voz tem um timbre diferente, então vale ouvir antes de escolher. Liste as vozes em português do Brasil:

bash
edge-tts --list-voices | grep pt-BR

Na versão 7.3.1 da biblioteca, a listagem traz três vozes pt-BR: pt-BR-AntonioNeural (masculina), pt-BR-FranciscaNeural (feminina) e pt-BR-ThalitaMultilingualNeural (feminina). Gere a mesma frase com duas vozes e compare.

Roteiro longo, velocidade e legendas

Crie o roteiro:

bash
echo "Olá, este é um teste de narração com voz neural. Esta é a segunda frase do texto." > roteiro.txt

Gere o áudio e as legendas a partir dele:

bash
edge-tts -f roteiro.txt --voice pt-BR-AntonioNeural --rate=+10% --write-media narracao.mp3 --write-subtitles legenda.srt
  • -f lê o texto de um arquivo
  • --rate ajusta a velocidade: +10% acelera, -10% desacelera
  • Para valores negativos, use o sinal de igual (--rate=-10%); com espaço, o comando dá erro
  • --write-subtitles gera as legendas em SRT, uma entrada por frase

O mesmo em Python (gera narracao-python.mp3):

bash
python3 -c "import asyncio, edge_tts; asyncio.run(edge_tts.Communicate('Olá, este é um teste de narração com voz neural.', 'pt-BR-AntonioNeural', rate='+10%').save('narracao-python.mp3'))"

Colocando a narração no vídeo

Você precisa do ffmpeg instalado. Gere o vídeo com a narração usando um fundo que criamos para este exemplo:

bash
ffmpeg -i narracao.mp3 -filter_complex "[0:a]haas,avectorscope=s=1280x720:r=30:zoom=2.5:rc=150:gc=120:bc=230:rf=7:gf=7:bf=7:af=7,format=gbrp,split[a][b];[b]gblur=sigma=24[g];[a][g]blend=all_mode=screen,hue=H=0.6*sin(t),colorlevels=romin=0.05:gomin=0.06:bomin=0.14,format=yuv420p" -map 0:a -c:v libx264 -crf 18 -c:a aac saida.mp4

Para embutir a legenda como faixa no MP4:

bash
ffmpeg -i saida.mp4 -i legenda.srt -map 0 -map 1 -c copy -c:s mov_text -metadata:s:s:0 language=por final.mp4

Para visualizar o resultado no macOS, abra o vídeo e ative a legenda em Visualizar > Legendas:

bash
open final.mp4

No Linux, instale o VLC (se não tiver):

bash
sudo apt install vlc

E abra o vídeo com a legenda ativada:

bash
vlc --sub-track=0 final.mp4

Edge-tts ou Azure AI Speech?

Para vídeos pequenos, o edge-tts é a opção mais simples: não exige conta nem chave.

Aspecto edge-tts Azure AI Speech
Tipo Biblioteca de código aberto (LGPLv3), mantida pela comunidade Serviço da Microsoft
Custo Gratuito Pago por uso (consulte preços e camada gratuita na página oficial)
Suporte oficial Não Sim, conforme o plano contratado
Conta e chave de API Não precisa Precisa
Documentação README do projeto Oficial da Microsoft
Limite de uso Não documentado Definido por plano (consulte a página oficial)

O que considerar antes de usar

  • O endpoint usado pela biblioteca não é documentado pela Microsoft e pode mudar sem aviso; leia os termos de uso dela antes de adotar em produção
  • Não há SLA nem contrato
  • O texto da narração é enviado aos servidores da Microsoft, então evite dados sensíveis

Quando cada um faz sentido

O edge-tts funciona bem para protótipos, projetos pessoais ou educacionais, vídeos de tutorial e baixo volume.

O Azure AI Speech é indicado para produtos em produção, quando há necessidade de condições contratuais e suporte oficial, ou para volume alto ou previsível. Consulte a página oficial para preços, cotas e camada gratuita.

Como se proteger se o serviço mudar

  1. Fixe a versão da biblioteca no requirements.txt (por exemplo, edge-tts==7.3.1)
  2. Tenha um plano B: fallback para o Azure ou voz local, ou cache de áudios já gerados
  3. Registre falhas em log e configure alertas para não ser pego de surpresa

Fontes

Continue lendo

Encontrou algo útil por aqui?

Uma descoberta pode chegar a mais alguém ou dar início a uma conversa.

Compartilhar

Compartilhe com quem pode aproveitar.

Uma boa leitura pode chegar à pessoa certa no momento certo.

Conversar

Quando o assunto pede mais, a conversa continua.

Para desenvolver uma ideia, debater um ponto de vista ou só tomar um café virtual.