Voxtral TTS 4B — hands-on com o TTS open-source da Mistral que roda em smartphone
-
Diego Hartmann - 28 Mar, 2026
Na quarta-feira, a Mistral soltou o Voxtral TTS 4B e eu passei as últimas 48 horas rodando ele em tudo que tinha à mão — laptop com RTX 3060, um Pixel 8 e, por curiosidade mórbida, num Raspberry Pi 5. O resultado curto: é o primeiro modelo TTS open-weights que eu considero competitivo com ElevenLabs de verdade. O resultado longo: tem um asterisco do tamanho de um caminhão na licença.
O que é o Voxtral TTS 4B
Modelo text-to-speech com 4 bilhões de parâmetros, lançado pela Mistral AI em 26 de março de 2026. Os pesos estão no HuggingFace sob licença CC BY NC 4.0 (já volto nisso). Suporta 9 idiomas: inglês, francês, alemão, espanhol, holandês, português, italiano, hindi e árabe.
Os números que importam:
| Métrica | Voxtral 4B | ElevenLabs Flash v2.5 | ElevenLabs v3 | OpenAI TTS |
|---|---|---|---|---|
| Time-to-first-audio | 90ms | ~120ms | ~200ms | ~150ms |
| Naturalidade (human eval) | Superior | baseline | Paridade | — |
| Parâmetros | 4B | Proprietário | Proprietário | Proprietário |
| Open weights | Sim | Não | Não | Não |
| Idiomas | 9 | 29 | 29 | 57 |
| Emotion steering | Sim | Sim | Sim | Limitado |
Aquele 90ms de time-to-first-audio é o número que me fez parar o que estava fazendo. Para contexto: 90ms é abaixo do limiar de percepção humana de latência em conversação (~150ms). Isso significa TTS em tempo real, em dispositivos edge, sem precisar de roundtrip para cloud.
Como rodar localmente
Via HuggingFace Transformers
pip install transformers torch accelerate
from transformers import AutoModelForTextToWaveform, AutoTokenizer
import soundfile as sf
model_id = "mistralai/Voxtral-4B-TTS-2603"
model = AutoModelForTextToWaveform.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained(model_id)
text = "Olá, esse é o Voxtral rodando localmente no meu laptop."
inputs = tokenizer(text, return_tensors="pt").to(model.device)
with torch.no_grad():
audio = model.generate(**inputs)
sf.write("output.wav", audio.cpu().numpy(), samplerate=24000)
No meu laptop com RTX 3060 (12GB VRAM), o modelo carregou em ~8 segundos e gerou áudio para uma frase de 15 palavras em 112ms. Em fp16, o consumo de VRAM ficou em ~7.5GB. Cabe tranquilo em qualquer GPU moderna.
Via API da Mistral (para produção)
Se a licença NC te travou (como vai travar a maioria), a Mistral oferece o modelo via API a US$0.016 por 1.000 caracteres. Para comparação:
| Serviço | Preço por 1K chars |
|---|---|
| Voxtral API | US$0.016 |
| ElevenLabs (Scale) | ~US$0.024 |
| OpenAI TTS | ~US$0.030 |
| Deepgram Aura | ~US$0.015 |
Competitivo, mas não é o mais barato. Deepgram fica centavos abaixo. A diferença está na qualidade — e nos human evals, o Voxtral empatou com ElevenLabs v3, que é a referência do mercado.
from mistralai import Mistral
client = Mistral(api_key="sua-chave-aqui")
response = client.audio.speech.create(
model="voxtral-4b-tts",
input="Texto para sintetizar em português brasileiro.",
voice="alloy",
response_format="wav",
)
with open("output.wav", "wb") as f:
f.write(response.content)
Qualidade: o que dizem os human evals
A Mistral publicou resultados de avaliação humana comparando Voxtral com ElevenLabs. Os avaliadores classificaram naturalidade, clareza e expressividade em escala MOS (Mean Opinion Score):
- Voxtral 4B vs ElevenLabs Flash v2.5: Voxtral superior em naturalidade e expressividade
- Voxtral 4B vs ElevenLabs v3: paridade — nenhuma diferença estatisticamente significativa
Eu fiz meus próprios testes informais em português. O Voxtral acerta bem a prosódia e não tem aquele “sotaque de robô” que modelos menores costumam ter. Onde ele ainda derrapa: frases muito longas (acima de ~200 palavras) começam a perder entonação natural no final. E nomes próprios em português com acentuação complexa às vezes saem truncados.
O emotion steering funciona razoavelmente bem. Adicionando tags de emoção ao prompt, consegui gerar variações de tom (entusiasmado, sério, calmo) que soavam distintas e não caricatas. Não é nível voice actor, mas é muito acima do que TTS open-source entregava até agora.
A licença: o elefante na sala
CC BY NC 4.0. Non-commercial. Isso significa: você pode baixar, rodar, experimentar, usar em projetos pessoais e pesquisa. Não pode colocar num produto que gera receita sem pagar pela API.
Na minha opinião, isso é simultaneamente compreensível e frustrante. Compreensível porque a Mistral precisa monetizar — modelo TTS de qualidade custa caro para treinar. Frustrante porque o valor real de open weights é justamente permitir deployment on-premise em produção. Com NC, o open-weights vira basicamente uma demo para convencer você a assinar a API.
Compare com alternativas genuinamente open: o Coqui TTS (Mozilla Public License) e o Piper (MIT) são 100% livres para uso comercial. Mas nenhum chega perto da qualidade do Voxtral. É o tradeoff clássico.
O que isso significa para edge AI
O ponto que mais me anima não é o Voxtral em si — é o que ele representa. Um modelo TTS de 4B parâmetros rodando com 90ms de latência em smartphone prova que:
- TTS de qualidade não precisa de cloud. Se a Mistral conseguiu com 4B, é questão de tempo até um modelo Apache 2.0 aparecer com qualidade similar.
- Edge AI saiu do PowerPoint. Não é mais “em breve será possível rodar modelos no device”. Já é possível. Agora.
- O gargalo mudou. Não é mais compute — é licença. O hardware já é capaz. Quem destravar o modelo certo com a licença certa leva o mercado.
Limitações e trade-offs
Para ser honesto com quem está avaliando:
- Licença NC bloqueia uso comercial direto com os pesos abertos
- 9 idiomas é bom, mas ElevenLabs suporta 29 e OpenAI 57. Se você precisa de coreano ou japonês, não é aqui
- Voice cloning não está incluído no release open-weights. ElevenLabs e Deepgram oferecem isso out-of-the-box
- Frases longas perdem naturalidade — mantenha os chunks abaixo de 150 palavras para melhor resultado
- Documentação ainda é mínima — o model card no HuggingFace é o que tem
Veredito
O Voxtral TTS 4B é o melhor modelo TTS open-weights que existe hoje, ponto. A qualidade compete com ElevenLabs, a latência é best-in-class e o fato de rodar em smartphone abre portas que cloud-only não abre.
Mas a licença NC é uma limitação real para quem quer usar em produção. Se seu caso de uso é comercial, você vai acabar na API — que é boa e competitiva em preço, mas aí você perdeu a vantagem do “open” e está comparando API com API.
Para pesquisa, prototipagem e projetos pessoais: vai lá e roda. Os weights estão em huggingface.co/mistralai/Voxtral-4B-TTS-2603. Para produção: faça as contas entre a API da Mistral, ElevenLabs e Deepgram. O melhor deal depende do seu volume e dos idiomas que precisa.
O que eu quero mesmo é ver alguém treinar um modelo dessa qualidade com licença Apache 2.0. Aí sim o jogo muda de verdade.