- Pocket TTS, com 100 milhões de parâmetros, é um modelo leve de texto para fala com recurso de clonagem de voz, capaz de rodar em tempo real até mesmo em CPUs de laptops comuns
- Reduz a lacuna de desempenho entre os TTS baseados em LLM de grande porte (mais de 1 bilhão de parâmetros) e o Kokoro TTS menor (82 milhões de parâmetros), alcançando ao mesmo tempo alta qualidade e eficiência
- Com apenas cerca de 5 segundos de amostra de voz, reproduz com precisão o timbre do falante, emoção, entonação e condições acústicas
- Usa uma arquitetura baseada em Continuous Audio Language Model para prever diretamente vetores latentes contínuos em vez de tokens discretos, reduzindo o tamanho do modelo sem perda de qualidade
- Foi lançado como open source sob licença MIT e apresenta um novo padrão para tecnologia TTS leve capaz de realizar síntese de voz de alta qualidade em ambientes com CPU
Visão geral do Pocket TTS
- Pocket TTS é um modelo de texto para fala com 100 milhões de parâmetros que oferece suporte a clonagem de voz (voice cloning)
- Pode ser executado em tempo real até mesmo em CPUs de laptops
- Pode ser usado localmente com os comandos
uvx pocket-tts serve ou uvx pocket-tts generate
- Foi desenvolvido pela Kyutai e lançado como open source sob licença MIT
- Os dados de treinamento usam apenas datasets públicos de voz em inglês
- Também menciona a possibilidade de expansão com dados privados adicionais
Comparação com modelos TTS existentes
- A tecnologia TTS atual se divide em dois grupos
- Modelos grandes baseados em LLM: ex.) Kyutai TTS 1.6B (cerca de 1,6 bilhão de parâmetros)
- Conseguem modelar várias vozes, emoções e condições acústicas, mas exigem GPU
- Modelos pequenos especializados: ex.) Kokoro TTS (82 milhões de parâmetros)
- São eficientes por usarem um conjunto fixo de vozes e pipelines manuais, mas têm flexibilidade limitada
- O Pocket TTS ocupa um meio-termo entre essas duas abordagens, tornando possível a síntese de voz de alta qualidade mesmo em CPU
Avaliação de desempenho
- A avaliação foi feita com o conjunto Librispeech test-clean
- A entrada de áudio foi refinada com Adobe Enhance Speech para garantir qualidade de 24kHz
- Modelos comparados: F5-TTS, DSM, Chatterbox Turbo, Kokoro TTS
- Métricas de avaliação:
- Word Error Rate (WER)
- Qualidade de áudio (ELO)
- Similaridade do falante (ELO)
- Resumo dos resultados:
- Pocket TTS teve a menor taxa de erro, com WER 1.84
- A qualidade de áudio foi superior à de F5-TTS e DSM
- A similaridade do falante ficou em nível equivalente ao da voz de referência
- Foi o único modelo capaz de rodar mais rápido que em tempo real na CPU
| Modelo |
Nº de parâmetros |
WER ↓ |
Qualidade de áudio (ELO) ↑ |
Similaridade do falante (ELO) ↑ |
Execução em tempo real na CPU |
| F5-TTS |
336M |
2.21 |
1949 ± 27 |
1946 ± 26 |
✗ |
| Kyutai TTS 1.6B |
750M |
1.84 |
1959 ± 25 |
2037 ± 21 |
✗ |
| Chatterbox Turbo |
350M |
3.24 |
2055 ± 23 |
2012 ± 22 |
✗ |
| Kokoro |
82M |
sem clonagem de voz |
sem clonagem de voz |
✓ |
|
| Pocket TTS |
100M |
1.84 |
2016 ± 25 |
1898 ± 26 |
✓ |
- Em testes com CPUs Intel Core Ultra 7 165H e Apple M3, apenas Pocket TTS e Kokoro conseguiram síntese em tempo real
Arquitetura
- Pocket TTS foi projetado com base na pesquisa Continuous Audio Language Model
- Enquanto o método tradicional previa tokens de áudio discretos, o Pocket TTS prevê diretamente vetores latentes contínuos (latent)
- Isso elimina o gargalo do RQ-transformer e torna o modelo mais leve
Neural Audio Codec
- Projetado com base no codec Mimi
- O Mimi comprime em tokens discretos, mas o Pocket TTS usa representações latentes contínuas
- Aplica treinamento VAE normalizado por distribuição normal
- Faz destilação de WavLM para representações internas com perda por similaridade cosseno
- Remove a etapa RVQ e aplica a perda de destilação à representação latente completa
Modelo generativo
- Baseado no framework Masked Autoregressive (MAR)
- Composto por um backbone Causal Transformer e um amostrador MLP
- Usa a perda Lagrangian Self-Distillation (LSD) para implementar amostragem em 1 passo
- Na inferência, os vetores latentes previstos são realimentados de forma autorregressiva
Condicionamento por voz e texto
- A entrada do modelo combina prompt de voz (alguns segundos) e texto
- A voz é incorporada pelo encoder do codec, e o texto pelo tokenizador SentencePiece
Composição do tamanho do modelo
- Modelo generativo (Transformer + MLP): 90 milhões de parâmetros
- Decoder do codec: 10 milhões de parâmetros
- Encoder do codec: 18 milhões de parâmetros (usado apenas uma vez ao codificar a amostra de voz)
Dados de treinamento
- Composto inteiramente por datasets públicos de voz em inglês, totalizando 88.000 horas
- AMI, EARNINGS22, GIGASpeech, SPGISpeech, TED-LIUM, VoxPopuli, LibriHeavy, Emilia
Principais contribuições técnicas
Head Batch Multiplier
- Reutiliza o vetor z várias vezes para aliviar o gargalo computacional do Transformer
- Para cada sequência de entrada, o z é calculado uma vez e reutilizado em 8 cálculos de perda
- Traz ganhos de eficiência e estabilidade no treinamento
Gaussian Temperature Sampling
- Aplica controle de temperatura de amostragem também no espaço contínuo
- A redução da variância do ruído gaussiano melhora a qualidade
- Bons resultados foram confirmados com temperatura 0.7
Latent Classifier-Free Guidance (Latent CFG)
- Aplica o CFG tradicional no nível das variáveis latentes (z)
- Combina linearmente saídas condicionadas e não condicionadas para melhorar a qualidade
- Usa α=1.5
- Um conceito semelhante também apareceu na pesquisa SoundReactor
Distillation
- Usa o modelo CFG como professor para destilar um modelo aluno mais leve
- Congela o cabeçalho MLP do modelo professor, e o modelo aluno aprende z com perda L2
- Permite reduzir de modelo professor de 24 camadas → modelo aluno de 6 camadas
Conclusão
- Pocket TTS é um modelo TTS leve capaz de fazer síntese de voz em tempo real e com alta qualidade até mesmo em CPU
- Combina arquitetura baseada em espaço latente contínuo, técnicas eficientes de treinamento e recurso de clonagem de voz
- Foi lançado como open source sob licença MIT, oferecendo reprodutibilidade e escalabilidade para desenvolvedores e pesquisadores
4 comentários
Parece que não há muitos modelos abertos de TTS com suporte a coreano. Ouvi dizer que o Kokoro-82M, lançado há algum tempo, suporta coreano, mas também ouvi comentários de que a qualidade não parece ser tão boa. Dando uma pesquisada rápida, vi que dizem que dá para criar e usar algo com GPT-Sovits ou que com algo como Edge-TTS o resultado fica razoavelmente bom.
Ultimamente, enquanto faço vibe coding, acho que se juntar isso com Whisper pode sair algo interessante, mas ainda não tenho nenhuma ideia haha
Recentemente a Supertonic lançou um modelo que também funciona em coreano, vale a pena dar uma olhada.
Também fiz uma biblioteca estilo
딸깍용!https://www.npmjs.com/package/easy-supertonic-tts
Muito legal. Mas acho que seria bom se, ao criar, também houvesse o endereço dos recursos de destino. Não dá para simplesmente sair instalando qualquer coisa haha
Opiniões no Hacker News
Fico realmente feliz em ver tanto interesse no meu post
Faço parte de uma equipe em Paris que desenvolve soluções de voz de nível empresarial baseadas na pesquisa da Kyutai
Se você está construindo algo nessa área, gostaria de compartilhar alguns modelos e recursos que estão por vir
Seria ótimo se entrasse em contato pelo e-mail que está no meu perfil
Enquanto lia um estudo de caso longo, percebi que precisava de uma extensão de navegador, então acabei criando minha própria interface no navegador
O resultado foi o Pocket Reader
Achei interessante e já transformei em um servidor MCP para que o Claude me avise quando terminar uma tarefa
speak_when_done
Eu também fiz uma ferramenta parecida usando o comando
sayem um processo em segundo plano, mas foi difícil configurar uma boa voz de forma consistenteParece que essa voz natural está escondida em algum lugar
speak-mcp
Agora vou testar o seu servidor também
Desta vez a qualidade do código está realmente muito boa
Normalmente, o código-base de modelos novos vem cheio de despejo desnecessário de dependências, mas desta vez o projeto também é excelente do ponto de vista de engenharia de software
Obrigado por compartilhar! Sou fã do Kokoro, então construí meu próprio assistente de voz local
projeto ova
Com certeza também vou testar o Pocket TTS
Mas o Pocket TTS é fechado, então não dá para verificar o recurso de clonagem de voz
Só queria saber se ele é baseado em mlx ou em Hugging Face transformers
Fiquei curioso se seria possível distribuir este projeto como um binário estático pequeno
No momento, as dependências são bem grandes
Gostei bastante
Só que ele está marcado como licença MIT, mas o README tem uma seção separada de Uso Proibido (Prohibited Use), então fiquei na dúvida se isso não o tornaria software não livre
Assim como imagens ou sons, modelos de ML podem não ser considerados software
O model card no Hugging Face também tem a mesma cláusula de proibição
Portanto, os itens proibidos no README podem entrar em conflito juridicamente
Testei
uvx pocket-tts serveem um Mac M1Para testar, pedi que lesse o primeiro parágrafo de Um Conto de Duas Cidades, e a voz Javert teve um problema de pular frases no meio do texto
Por exemplo, trechos como “it was the age of foolishness” eram omitidos
Isso reduz a confiança no resultado
Abri a issue relacionada aqui
Eu não tinha usado muitos modelos de voz até agora, mas foi por causa do Pocket TTS que conheci o unmute.sh
É open source e parece ter sido feito pela mesma empresa
Esses modelos parecem bem viáveis para uso de baixo custo até em ambiente de homelab
Os modelos open source estão evoluindo de forma tão ampla que já existe algo adequado para quase todo tipo de uso
A única área em que ainda parece haver uma barreira real de entrada é a de modelos de programação
Também é interessante pensar se o Deepseek 4 vai conseguir superar o Claude Sonnet
Integrei ao meu plugin do Codex para que ele leia um resumo no fim de cada turno, e funcionou surpreendentemente bem
No meu MacBook, ele roda muito mais suavemente que a Samantha
agentify-sh/speak