F5-TTS: texto entra, fala sai, sem componentes extras
- O que é o F5-TTS?
- Por dentro do modelo: por que o F5-TTS é rápido
- A relação com o E2 TTS
- Clonagem de voz zero-shot e entre idiomas
- Primeiros passos com o F5-TTS
- Dicas para obter resultados melhores
- F5-TTS comparado ao E2 TTS e a outros modelos de clonagem
- Perguntas frequentes
- Transforme texto em voz com a Echora
Transforme textos e gravações em áudio pronto para ouvir
Dublagem, stems, covers e efeitos sonoros, tudo no navegador.
- Texto para fala, e também clonagem de voz
- Separe as faixas, ou gere um cover
- Cadastre-se para ouvir primeiro e decidir depois
A maioria dos pipelines de clonagem de voz usa mais componentes do que o necessário: um preditor de duração para estimar quanto tempo a saída deve ter, um alinhador de fonemas para mapear texto para som e um codificador de texto dedicado, treinado separadamente do restante do sistema. O F5-TTS elimina tudo isso. Ele preenche o texto de entrada até corresponder à duração da fala-alvo e deixa um Diffusion Transformer cuidar do restante — um pipeline realmente mais simples que também é rápido e que, nos testes dos próprios pesquisadores, alcançou um fator de tempo real (RTF) de apenas 0,15.
O que é o F5-TTS?
O F5-TTS é um sistema de texto para fala totalmente não autorregressivo, construído sobre flow matching e com um Diffusion Transformer (DiT) como backbone. Foi desenvolvido por pesquisadores da Universidade Jiao Tong de Xangai, da Universidade de Cambridge e do Instituto de Pesquisa da Geely Automobile, e lançado como código aberto sob o nome SWivid/F5-TTS. Em vez de prever a fala token por token, como fazem os modelos autorregressivos, o F5-TTS trata a geração como um processo de remoção de ruído: começa com ruído e usa o DiT para transformá-lo de forma iterativa em um espectrograma mel condicionado pelo texto de entrada e por uma voz de referência.
Por dentro do modelo: por que o F5-TTS é rápido
Preenchimento com tokens em vez de modelagem de duração. Em vez de prever quanto tempo cada palavra deve durar, o F5-TTS simplesmente preenche a entrada de texto com tokens até ela corresponder à duração da fala-alvo e deixa o processo de flow matching descobrir o alinhamento durante a remoção de ruído. Isso elimina um componente inteiro — o modelo de duração — que a maioria das arquiteturas TTS considera essencial.
ConvNeXt V2 para representação de texto. Esse é um dos principais aprimoramentos do F5-TTS em relação ao seu antecessor direto. As primeiras abordagens de flow matching tinham dificuldade para alinhar texto e fala de maneira confiável, o que causava palavras ignoradas ou frases repetidas. O F5-TTS primeiro processa o texto com o ConvNeXt V2, produzindo uma representação que o Diffusion Transformer consegue alinhar ao áudio correspondente com muito mais facilidade.
Sway Sampling. Uma estratégia aplicada durante a inferência que ajusta como as etapas do fluxo são amostradas na geração, melhorando a qualidade da saída e a velocidade de inferência sem nenhum novo treinamento. Vale destacar que a técnica não é exclusiva da arquitetura específica do F5-TTS: ela também se aplica a outros modelos condicionais de flow matching como uma melhoria de inferência pronta para ser incorporada.
O efeito conjunto dessas escolhas é um pipeline realmente enxuto: sem modelo de duração, sem alinhador de fonemas, sem codificador de texto treinado separadamente e com um fator de tempo real (RTF) divulgado de 0,15. Isso significa que o modelo gera áudio cerca de 6 a 7 vezes mais rápido que o tempo real, competindo com sistemas TTS de produção altamente otimizados.
A relação com o E2 TTS
O F5-TTS não inventou do zero a abordagem de “preencher o texto e depois remover o ruído”: ele se baseia diretamente no E2 TTS, um modelo anterior que foi o primeiro a provar que essa estratégia mínima e sem alinhador poderia funcionar. O E2 TTS demonstrou que o conceito era viável, mas sofria de convergência lenta durante o treinamento e problemas de robustez no alinhamento que dificultavam uma implantação confiável. O F5-TTS foi criado especificamente para corrigir esses problemas, usando ConvNeXt V2 e Sway Sampling para resolver exatamente os problemas revelados pelo E2 TTS. De fato, o repositório oficial do F5-TTS inclui um checkpoint E2TTS_Base junto aos modelos F5 para que os pesquisadores possam reproduzir e comparar diretamente as duas arquiteturas, em vez de depender apenas dos números divulgados no artigo original.
Clonagem de voz zero-shot e entre idiomas
A clonagem de voz do F5-TTS funciona a partir de um clipe curto de referência — normalmente citado na faixa de 5 a 15 segundos, com algumas configurações funcionando a partir de apenas 6 segundos —, sem necessidade de ajuste fino para obter um resultado utilizável. Ele também oferece clonagem entre idiomas: forneça um clipe de referência em inglês e gere uma saída em espanhol — ou em outro idioma compatível — com a mesma voz clonada, um recurso que a documentação oficial do modelo destaca especificamente.
Para equipes que precisam de mais consistência do que o zero-shot oferece, o F5-TTS também oferece suporte a ajuste fino, e seu ciclo de treinamento é relativamente simples: não há etapa de pré-processamento de codec nem pipeline de várias etapas para gerenciar, apenas áudio preparado e transcrições alinhadas. Essa simplicidade relativa é parte do motivo pelo qual ele costuma ser um ponto de partida para equipes que experimentam o treinamento de vozes personalizadas em uma única GPU de consumo, em vez de usar um cluster de treinamento completo.
Primeiros passos com o F5-TTS
- Clone o repositório. Execute
git clone https://github.com/SWivid/F5-TTS.git, depoiscd F5-TTSepip install -e .; adicione a etapa opcional de submódulos recursivos apenas se você pretende usar o BigVGAN como vocoder. - Instale o PyTorch correspondente à sua versão do CUDA. A documentação do projeto especifica as versões exatas do PyTorch e do torchaudio para cada versão do CUDA. Fazer essa correspondência com precisão evita a maioria dos problemas de instalação.
- Execute a inferência pela CLI.
f5-tts_infer-cli --model F5TTS_v1_Base --ref_audio "your_clip.wav" --ref_text "transcript of the clip" --gen_text "the text you want spoken"gera um clipe diretamente. Deixar--ref_textem branco permite que um modelo ASR transcreva a referência automaticamente, ao custo de memória adicional da GPU. - Use a WebUI do Gradio para testes rápidos.
f5-tts_infer-gradio— ou o comando equivalente do Docker — abre uma interface no navegador para testar a clonagem antes de conectá-la a um pipeline. - Verifique sua VRAM em relação às especificações recomendadas. O F5-TTS funciona em qualquer GPU NVIDIA com cerca de 16GB de VRAM, enquanto 24GB — placas da classe RTX 3090/4090 — oferecem uma margem confortável. Confirme se seu hardware é adequado antes de planejar uma implantação em produção.
- Use o caminho TensorRT-LLM/Triton para servir em escala de produção. O projeto documenta uma rota de implantação com Triton e TensorRT-LLM para decodificação significativamente mais rápida ao atender muitas solicitações, em vez de executar o script básico de inferência em Python em grande escala.
Dicas para obter resultados melhores
- Mantenha o clipe de referência limpo e dentro da faixa de duração recomendada. Em comparação com um modelo baseado apenas em tokens acústicos, ruído de fundo e clipes que se desviam muito da janela recomendada de 5–15 segundos tendem a prejudicar mais a qualidade da clonagem.
- Forneça uma transcrição precisa da referência sempre que possível. Deixar que o modelo ASR integrado transcreva automaticamente é conveniente, mas uma transcrição verificada manualmente evita que eventuais erros de ASR se propaguem para o próprio processo de clonagem.
- Teste a clonagem entre idiomas com seu par específico antes de adotá-la. A documentação confirma esse recurso, mas a qualidade ainda varia conforme a combinação específica de idioma de origem e destino. Valide o par de que seu projeto realmente precisa.
- Use as configurações padrão do Sway Sampling antes de ajustar qualquer coisa manualmente. Ele foi criado para melhorar os resultados imediatamente, sem novo treinamento. Trate o ajuste manual das etapas do fluxo como uma otimização posterior, e não como um requisito inicial.
- Leia os termos da licença antes de qualquer uso comercial. Os pesos pré-treinados do F5-TTS são lançados sob uma licença CC-BY-NC, consequência direta do treinamento com o conjunto de dados Emilia coletado em ambientes reais. Isso permite pesquisa e uso não comercial, mas uma implantação comercial precisa de autorização separada.
F5-TTS comparado ao E2 TTS e a outros modelos de clonagem
| F5-TTS | E2 TTS (antecessor) | CosyVoice3 | |
|---|---|---|---|
| Arquitetura | Diffusion Transformer + flow matching | Transformer U-Net plano | Tokens semânticos supervisionados + flow matching |
| Precisa de modelo de duração/alinhador | Não | Não (mas é menos robusto) | Não |
| Convergência do treinamento | Mais rápida e robusta | Lenta, com problemas de alinhamento | N/A (família de arquitetura diferente) |
| Duração do clipe de referência | ~5–15 segundos | Semelhante | ~3–10 segundos |
| Clonagem entre idiomas | Sim | Limitada | Sim |
| Velocidade de inferência (RTF) | ~0,15 | Mais lenta | Semelhante; variantes hospedadas com latência de ~150 ms |
| Licença | CC-BY-NC (não comercial) | Uso para pesquisa | Aberta, com API hospedada disponível |
A contribuição específica do F5-TTS para essa família é provar que a abordagem mínima e sem alinhador iniciada pelo E2 TTS poderia realmente se tornar rápida e confiável. A arquitetura é mais simples do que a da maioria dos modelos de clonagem concorrentes, e a velocidade do benchmark reflete diretamente essa simplicidade, em vez de vir de uma camada extra de otimização.
Perguntas frequentes
Na prática, o que “não autorregressivo” significa para o F5-TTS?
Significa que o modelo não gera fala um token de cada vez em sequência. Em vez disso, ele começa com ruído e remove o ruído da saída inteira por meio do Diffusion Transformer, o que ajuda a explicar por que a inferência pode ser mais rápida do que a geração autorregressiva token por token.
Qual é a relação entre o F5-TTS e o E2 TTS?
O E2 TTS foi o modelo anterior que primeiro provou que uma abordagem TTS sem modelo de duração nem alinhador poderia funcionar, mas sofria com a convergência lenta do treinamento e problemas de robustez no alinhamento. O F5-TTS foi criado especificamente para corrigir esses problemas usando a representação de texto do ConvNeXt V2 e o Sway Sampling, e o repositório oficial inclui checkpoints do F5-TTS e do E2TTS_Base para comparação direta.
De quanto áudio de referência o F5-TTS precisa para clonar uma voz?
A orientação normalmente citada é de 5 a 15 segundos, embora algumas configurações apresentem resultados utilizáveis com apenas 6 segundos de áudio de referência limpo.
O F5-TTS é gratuito para uso comercial?
Não sem autorização separada. Os pesos do modelo pré-treinado são lançados sob uma licença CC-BY-NC devido aos termos de licenciamento do conjunto de dados de treinamento Emilia. Isso cobre pesquisa e uso não comercial, mas a implantação comercial exige consultar diretamente os termos vigentes.
De qual hardware preciso para executar o F5-TTS?
Qualquer GPU NVIDIA com cerca de 16GB de VRAM funciona, com 24GB — uma placa da classe RTX 3090 ou 4090 — recomendados para proporcionar uma margem confortável, especialmente se você pretende fazer ajuste fino.
Transforme texto em voz com a Echora
Para um fluxo no navegador com um objetivo semelhante, use o Texto para fala da Echora. Insira até 5.000 caracteres, escolha uma voz integrada ou uma voz personalizada salva, adicione tags de interpretação compatíveis quando necessário e ajuste a estabilidade. Depois, você pode ouvir o resultado e baixar o MP3 final.