Showing Posts From
Edge ai
-
Diego Hartmann - 28 Mar, 2026
Voxtral TTS 4B — hands-on com o TTS open-source da Mistral que roda em smartphone
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 TTSTime-to-first-audio 90ms ~120ms ~200ms ~150msNaturalidade (human eval) Superior baseline Paridade —Parâmetros 4B Proprietário Proprietário ProprietárioOpen weights Sim Não Não NãoIdiomas 9 29 29 57Emotion steering Sim Sim Sim LimitadoAquele 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 acceleratefrom transformers import AutoModelForTextToWaveform, AutoTokenizer import soundfile as sfmodel_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 charsVoxtral API US$0.016ElevenLabs (Scale) ~US$0.024OpenAI TTS ~US$0.030Deepgram Aura ~US$0.015Competitivo, 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 Mistralclient = 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 significativaEu 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 temVeredito 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.