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.

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):
mkdir teste-edge-tts && cd teste-edge-ttsCrie um ambiente virtual:
python3 -m venv venvAtive o ambiente:
source venv/bin/activateInstale a biblioteca:
pip install edge-ttsGere o áudio:
edge-tts --voice pt-BR-AntonioNeural --text "Olá, este é um teste de narração com voz neural." --write-media narracao.mp3O 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:
edge-tts --list-voices | grep pt-BRNa 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:
echo "Olá, este é um teste de narração com voz neural. Esta é a segunda frase do texto." > roteiro.txtGere o áudio e as legendas a partir dele:
edge-tts -f roteiro.txt --voice pt-BR-AntonioNeural --rate=+10% --write-media narracao.mp3 --write-subtitles legenda.srt-flê o texto de um arquivo--rateajusta a velocidade: +10% acelera, -10% desacelera- Para valores negativos, use o sinal de igual (
--rate=-10%); com espaço, o comando dá erro --write-subtitlesgera as legendas em SRT, uma entrada por frase
O mesmo em Python (gera narracao-python.mp3):
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:
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.mp4Para embutir a legenda como faixa no MP4:
ffmpeg -i saida.mp4 -i legenda.srt -map 0 -map 1 -c copy -c:s mov_text -metadata:s:s:0 language=por final.mp4Para visualizar o resultado no macOS, abra o vídeo e ative a legenda em Visualizar > Legendas:
open final.mp4No Linux, instale o VLC (se não tiver):
sudo apt install vlcE abra o vídeo com a legenda ativada:
vlc --sub-track=0 final.mp4Edge-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
- Fixe a versão da biblioteca no requirements.txt (por exemplo, edge-tts==7.3.1)
- Tenha um plano B: fallback para o Azure ou voz local, ou cache de áudios já gerados
- Registre falhas em log e configure alertas para não ser pego de surpresa
Fontes
Encontrou algo útil por aqui?
Uma descoberta pode chegar a mais alguém ou dar início a uma conversa.
Compartilhe com quem pode aproveitar.
Uma boa leitura pode chegar à pessoa certa no momento certo.
Quando o assunto pede mais, a conversa continua.
Para desenvolver uma ideia, debater um ponto de vista ou só tomar um café virtual.
