O pequeno TTS que todos adoravam já não é tão pequeno (KittenTTS 2)
Autoria: Better Stack · Assistir no YouTube
Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.
Idioma original: inglês
Vídeo original: The Tiny TTS Everyone Loved Isn’t Tiny Anymore (KittenTTS 2) · Canal: Better Stack · 07:49 · Assistir no YouTube
Tópicos: Avaliação e benchmarks de IA, Governança e regulação de IA, Modelos locais e open source, Modelos multimodais
KittenTTS 2 adiciona clonagem de voz a partir de poucos segundos de áudio, mas é muito maior e mais complexo que as versões anteriores. O modelo pode ser executado localmente e não exige pagamento recorrente, porém usa a CPU no Mac e, segundo a documentação, pode gerar áudio mais devagar que o tempo real. Seus pesos não são open source: a licença impõe condições comerciais e pode excluir empresas acima de determinados limites de receita ou financiamento. Como a versão é recente, ainda há incertezas sobre qualidade, desempenho e estabilidade; o vídeo a considera interessante para experimentação, mas recomenda cautela para projetos de produção.
Pontos-chave
Seção intitulada “Pontos-chave”- KittenTTS 2 clona vozes usando uma gravação de referência curta e oferece 47 vozes integradas.
- O modelo principal tem 1,7 bilhão de parâmetros; a versão padrão ocupa cerca de 950 MB, além das dependências e do vocoder.
- O vocoder padrão é o S3GEN, da Chatterbox Turbo, da Resemble AI, baixado na primeira execução.
- No Mac, o código não usa a GPU da Apple e recorre à CPU; a documentação estima que a geração na CPU seja duas a três vezes mais lenta que o tempo real.
- A execução local evita custos recorrentes e mantém a gravação de voz na máquina do usuário.
- Os pesos usam a Stellan Labs Community License, com condições como registro para uso comercial e restrições para empresas com mais de US$ 1 milhão em receita ou financiamento.
- O código e o pacote pip são Apache 2.0, mas os pesos do modelo não são; por isso, o projeto é descrito como source available, não open source.
- As métricas de similaridade de voz são do próprio projeto e ainda não foram verificadas por testes independentes.
- O suporte a vozes não inglesas é descrito como mais frágil; há divergência entre a documentação, que menciona 10 idiomas, e o README, que menciona 20.
- O projeto ainda está em estágio inicial, com lançamentos frequentes e muitas issues abertas.
Capítulos
Seção intitulada “Capítulos”| Início | Capítulo | Resumo |
|---|---|---|
| 00:00 | O que mudou no KittenTTS 2 | O vídeo apresenta o aumento de tamanho do modelo e explica as duas etapas da clonagem de voz: o modelo de linguagem de fala e o vocoder. |
| 01:03 | Arquitetura, instalação e teste de clonagem | São apresentados o modelo de 1,7 bilhão de parâmetros, as variantes de tamanho e um teste de clonagem de voz com uma gravação curta. |
| 02:04 | Desempenho local e vantagens de privacidade | O teste mostra tags de emoção e as limitações de desempenho no Mac, além de comparar a execução local com um serviço pago. |
| 04:10 | Qualidade e condições da licença | O vídeo questiona a validação independente das métricas e detalha as restrições da licença dos pesos. |
| 06:14 | Limitações, estágio inicial e veredito | São discutidos o suporte a idiomas, as dependências, o ritmo de desenvolvimento e a adequação do modelo para experimentação ou produção. |
Citações
Seção intitulada “Citações”O KittenTTS original ficou popular porque era pequeno. — 00:00
O Kitten roda localmente. Não há custo recorrente nem conta para criar. — 03:38
O código em si e o pacote pip são Apache 2.0. Os pesos do modelo, não. — 05:43
O Kitten antigo era pequeno. Foi por isso que recebeu esse nome. — 07:49
Conceitos e entidades
Seção intitulada “Conceitos e entidades”- KittenTTS 2 (modelo): Modelo de síntese de fala que oferece clonagem de voz e geração de áudio a partir de texto.
- S3GEN (modelo): Vocoder padrão usado por KittenTTS 2 para converter tokens de áudio em som.
- Chatterbox Turbo (modelo): Produto da Resemble AI associado ao vocoder S3GEN usado por KittenTTS 2.
- Resemble AI (empresa): Empresa à qual o vídeo atribui o vocoder S3GEN usado por KittenTTS 2.
- Stellan Labs Community License (conceito): Licença dos pesos de KittenTTS 2 que define condições de uso, inclusive para fins comerciais.
- Apache License 2.0 (conceito): Licença aplicada ao código e ao pacote pip do projeto, mas não aos pesos do modelo.
- ElevenLabs (empresa): Serviço citado como alternativa paga que oferece clonagem de voz e licença comercial.
- Whisper (modelo): Ferramenta usada para transcrever a gravação de referência de voz.
- Hugging Face (empresa): Plataforma na qual o vídeo relata que KittenTTS 2 tinha cerca de 130 downloads.
- Better Stack (empresa): Canal que publicou o vídeo sobre KittenTTS 2.
Tradução completa (pt-BR)
Seção intitulada “Tradução completa (pt-BR)”00:00 O KittenTTS ficou popular porque era minúsculo. Os modelos originais tinham dezenas de megabytes, licença Apache 2.0 e eram pequenos o bastante para rodar praticamente em qualquer lugar. Agora temos o KittenTTS 2, que consegue clonar uma voz com apenas 5 segundos de áudio, mas também tem cerca de 1,7 bilhão de parâmetros. Ele roda mais devagar que o tempo real em um Mac, e os pesos do modelo já não são open source. Então, este é um KittenTTS bem diferente daquele que recebemos originalmente. Instalei, experimentei a clonagem de voz e analisei como ele realmente
00:31 roda localmente. Vamos dar uma olhada. Muita gente realmente adorava o original, mas, para entender por que a versão 2 ficou tão diferente, primeiro precisamos entender como funciona a clonagem de voz. Basicamente, são duas etapas. Um modelo de linguagem de fala recebe seu texto e uma gravação curta de uma voz e gera tokens de áudio. Depois, um segundo modelo, chamado vocoder, transforma esses tokens em som de verdade. Pense
01:03 assim: o modelo de linguagem escreve a partitura, e o vocoder é a orquestra que realmente a toca. Eles precisam trabalhar juntos, certo? São duas peças independentes. E é aí que o KittenTTS 2 começa a mudar. O compositor é totalmente novo. É um modelo com 1,7 bilhão de parâmetros, mas a orquestra não é deles. O vocoder padrão é o S3GEN, do Chatterbox Turbo, da Resemble AI, e o Kitten faz o download dele na primeira vez que você executa o modelo. Então, já estamos bem longe do modelo independente e minúsculo que o Kitten costumava ser.
01:33 Agora, para deixar o modelo principal menor, os pesos são ternários, com cerca de 1,5 bit cada. A versão padrão tem por volta de 950 megabytes. Também há uma versão menor, com cerca de 470 megabytes, e uma versão completa, com aproximadamente 3,5 gigabytes. Você recebe 47 vozes integradas, mas a clonagem de voz é obviamente o recurso que vai interessar às pessoas. Então, vamos experimentar. Se você gosta de ferramentas de programação para agilizar seu workflow, não deixe de se inscrever. Temos
02:04 vídeos novos o tempo todo. Para instalar, basta executar pip install kitten ML no Python 3.10 ou mais recente. Depois, gravei 10 segundos falando. Isto é um teste. Estou só falando para ver como soa. 1, 2, 3, 4, 5. Como está o áudio desta voz? O Kitten até executa o Whisper para transcrever o clipe de referência para você. Depois, passo o clipe, gero o áudio e aqui estou dizendo algo que nunca disse de verdade. Esta é uma frase que nunca gravei de verdade. Se isso
02:35 soou razoavelmente bem, inscreva-se no canal Better Stack. Certo, o que achamos? Você também pode adicionar tags de emoção e sons, como uma risada. Mas eles ainda estão marcados como beta. A clonagem de voz é muito legal, mas vamos experimentá-la. Nós realmente vencemos. Dá para acreditar? >> [risos] >> Mal consigo acreditar. É, certo, não é perfeito. Mas, se você usa um Mac, ainda há um problema considerável. Se eu abrir o Monitor de Atividade, a CPU fica no máximo. A GPU praticamente
03:07 não faz nada. Isso acontece porque o código verifica se há uma placa Nvidia. Se não encontrar uma, usa a CPU. Então, em um Mac, a GPU da Apple não é usada de jeito nenhum. E a documentação deles diz que a geração na CPU roda cerca de duas a três vezes mais devagar que o tempo real. A única recomendação deles para acelerar é configurar o torch para usar oito threads. Isso ajuda. Mas ainda não chega ao tempo real. Então, a essa altura, se não é completamente open source, ficamos nos perguntando por que usar isso em vez de algo como ElevenLabs. E é aí que o Kitten
03:38 ainda tem uma vantagem real. Com o plano Starter da ElevenLabs, pagamos alguns dólares por mês, e isso dá clonagem de voz instantânea e uma licença comercial. O Kitten roda localmente. Não há custo recorrente. Não preciso criar uma conta e, como gostamos, sua voz nunca sai daquela máquina. Para algumas pessoas, essa é uma troca muito boa. Mas há algo bem maior que você precisa saber antes de construir qualquer coisa com ele. Este não é o KittenTTS de que nos lembramos. As versões antigas tinham entre 15 e 80 milhões de parâmetros, cerca de 25 a 80
04:10 megabytes, e não tinham clonagem de voz. Ainda assim, usavam a licença Apache 2.0. O KittenTTS 2 é basicamente uma classe de modelo completamente diferente usando o mesmo nome. E essa diferença não é apenas técnica. Ela também muda o que você tem permissão para fazer com ele. Mas, antes de chegarmos à licença, vamos falar da qualidade, que imagino que muitos de vocês acabaram de ouvir. Eles relatam uma pontuação de similaridade de voz entre 0,49 e 0,72, e de 0,81 ao clonar uma gravação que o modelo ainda não
04:43 viu. Esses são os números deles. Ninguém testou a versão 2 de forma independente ainda. Ela tem poucos dias e cerca de 130 downloads no Hugging Face. Então, neste momento, você está basicamente aceitando os benchmarks do próprio projeto pelo valor de face. Precisamos testá-los. E agora chegamos à parte que eu leria antes de lançar qualquer coisa com isso: a licença. Ela se chama Stellan Labs Community License. O uso para pesquisa, o uso não comercial e o uso comercial são todos isentos de royalties, o que parece ótimo até continuarmos lendo. A concessão é
05:13 revogável. Ótimo. Quer dizer, não. E, se você usa o Kitten comercialmente, precisa se registrar com eles entrando em contato. Se sua empresa, ou você, faturar mais de um milhão de dólares, ótimo. Ou se tiver captado mais de um milhão de dólares em financiamento ao longo de toda a sua existência, a concessão gratuita para uso comercial acaba completamente. Então, se você é uma startup que captou uma rodada seed, já está excluída. E tem mais. Você precisa exibir em destaque “powered by Stellan Labs”. Precisa distribuir a licença junto com um arquivo de avisos. Não pode usar o modelo
05:43 para treinar ou destilar outros modelos. E há uma política de uso aceitável. Só que essa política não é pública. Você precisa entrar em contato com eles para lê-la, o que é estranho. Agora, para ser justo, o código em si e o pacote do pip são Apache 2.0. Os pesos do modelo não são. Então, o KittenTTS 2 tem o código-fonte disponível. É gratuito, mas não é open source. Há algumas outras questões de qualidade que vale a pena conhecer antes de usá-lo. Para vozes em outros idiomas, cada uma depende de um único clipe de referência. E a própria documentação deles
06:14 descreve essas vozes como mais frágeis. A documentação diz 10 idiomas, mas o readme diz 20. E, ao gerar texto em outros idiomas, você precisa desativar a normalização. Textos longos também são divididos automaticamente em trechos, porque o modelo pode parar no meio ou começar a se repetir. Depois, há as alegações de que isso pode rodar em tempo real na CPU. Elas vêm de uma porta separada em C++. Ela requer libtorch. É compilada com o Metal desativado. Tem zero estrelas. Então, não sei bem o que isso significa. E
06:46 não publica nenhum dado de desempenho. Então, eu ainda não consideraria comprovado que roda em tempo real na CPU. Você pode avaliar por conta própria, certo? Faça alguns testes. Mas vai levar tempo para descobrir. E outra coisa que desapareceu foi a ideia de que o Kitten era minúsculo. A instalação traz torch, transformers e diffusers. Depois, você precisa de cerca de 950 megabytes de pesos do modelo, do vocoder do Chatterbox e, em seguida, do Whisper. Esta versão é mais pesada. E não é só mais pesada: ela está mudando muito rápido. Já foram quatro lançamentos no PyPI em quatro dias. Há
07:18 cerca de 120 issues abertas. Então, ainda está numa fase muito inicial, o que nos traz de volta ao ponto de partida. Será que vale a pena experimentar? Se você ainda está desenvolvendo um MVP ou quer brincar com voz, então sim, é claro que isso é legal. Se está construindo algo de verdade, talvez não. Pode ser melhor pagar pela ElevenLabs ou usar outra alternativa. Já falamos de algumas das melhores opções neste canal, então você poderia dar uma olhada no Voxy M 2, por exemplo. Há muitas outras por aí, mas vamos ver como isso evolui com o tempo. O KittenTTS não apenas
07:49 ficou maior. O significado desse projeto mudou completamente. O Kitten antigo era minúsculo. Foi por isso que recebeu esse nome. Era simples e usava a licença Apache. O KittenTTS 2 oferece clonagem de voz e geração de fala muito mais capaz, mas você paga por isso com o tamanho, as dependências de fala e uma licença muito mais complicada. Eu sou Josh, da Better Stack. Se você gosta de dicas e truques de programação como este, não deixe de se inscrever. Até o próximo vídeo. >> [música]
Transcrição original
[00:00] Kittens TTS got popular because it was tiny. The original models were tens of megabytes Apache 2.0 license and small enough to run pretty much anywhere. Now there’s Kittens TTS 2 and it can clone a voice from just 5 seconds of audio but it’s also about 1.7 billion parameters. It runs slower than real time on a Mac and the model weights are no longer open source. So this is a very different Kittens TTS from the one we originally got. I installed it, tried the voice cloning and looked at how it actually
[00:31] runs locally. Let’s take a look. Now a lot of people really did love the original but to understand why version 2 became so different we first need to understand how the voice cloning works. There’s basically two stages. A speech language model takes your text plus a short recording of a voice and it generates audio tokens. Then a second model called a vocoder turns those tokens into actual sound. Think of it
[01:03] like this. The language model writes the sheet music, the vocoder is the orchestra that actually plays it. They got to work together, right? Two independent pieces. And this is where Kittens TTS 2 starts changing. The composer is brand new. It’s a 1.7 billion parameter model but the orchestra isn’t theirs. The default vocoder is S3GEN from Resemble AI’s Chatterbox Turbo and Kittens downloads it the first time you run the model. So we’re already pretty far away from the
[01:33] tiny standalone model Kittens used to be. Now to shrink the main model down the weights are ternary at about 1 and 1/2 bits each. The default build is around 950 megabytes. There’s also a smaller version which is around 470 and a full version at around 3 and 1/2 gigs and you get 47 built-in voices but voice cloning is obviously the feature people are going to care about. So, let’s actually try it. If you enjoy coding tools to speed up your workflow, be sure to subscribe. We have
[02:04] videos coming out all the time. Installation is just pip install kitten ML on Python 3.10 or newer. Then I record 10 seconds of myself talking. This is a test. I’m just talking to see how this sounds. 1 2 3 4 5. How’s this voice audio? Kitten even runs Whisper to transcribe the reference clip for you. Then I pass that clip in, generate the audio, and here’s me saying something I never actually said. This is a sentence I never actually recorded. If this
[02:35] sounds pretty decent, you should subscribe to the Better Stack channel. Okay, what did we think about that? You can also add emotion tags and sounds like a laugh. Those are still marked beta though, and the voice cloning is really cool, but here let’s try it. We actually won. Can you believe it? >> [laughter] >> I can hardly believe it. Yeah, okay, it’s not perfect. But there’s still a pretty big catch if you’re on a Mac. If I fire up Activity Monitor, the CPU is pinned. The GPU is doing basically
[03:07] nothing. And that’s because the code checks for an Nvidia card. If it doesn’t find one, it falls back to CPU. So, on a Mac, your Apple GPU isn’t being used at all. And their own docs say CPU generation runs roughly two to three times slower than real time. Their one recommendation for speeding it up is setting torch to use eight threads. It helps. It still doesn’t make it real time. So, at this point, if it’s not completely open source, we’re wondering why use this instead of something like Eleven Labs. And this is where Kitten
[03:38] still has a real advantage. Eleven Labs starter, we’re paying a few bucks a month, and that gives you instant voice cloning and a commercial license. Kitten runs locally. There’s no permanent cost. There’s no account I have to create, and your voice, which we like, never leaves that machine. For some of us, that is a really good trade. But, there’s something much bigger you need to know before building anything with it. This is not the Kitten TTS we remember. The old versions were between 15 and 80 million parameters, around 25 to 80
[04:10] megabytes with no voice cloning. It was still though Apache 2.0. Kitten TTS 2 is basically a complete different class of model wearing the same name. And that difference isn’t just technical. It also changes what you’re actually allowed to do with it. But, before we get to the license, let’s just talk about quality, which I’m guessing a lot of you guys just heard. They report speaker similarity score between .49 and .72 and .81 when cloning a recording it hasn’t
[04:43] seen before. Those are their numbers. Nobody independently has tested version 2 yet. It’s a few days old and has around 130 downloads on Hugging Face. So, right now you’re mostly taking the project’s own benchmarks at face value. We got to test them. And now we get to the part I’d read before shipping anything with this, which is that license. It’s called the Stellan Labs Community License. Research use, non-commercial use, and commercial use are all royalty-free, which sounds great until we keep reading. The grant is
[05:13] revocable. Great. Okay. Not really. And if you’re using Kitten commercially, you have to register with them by contacting them. If your company or you makes more than a million dollars in revenue, awesome. Or it has raised more than a million dollars in total funding ever, the free commercial grant completely ends. So, if you’re a startup that raised a seed round, you’re already cut out. Then, there’s more. You have to prominently show powered by Stellan Labs. You have to ship the license with a notice file. You can’t use the model
[05:43] to train or distill other models. And there’s an acceptable use policy. Except that policy isn’t public. You have to contact them to read it, which is weird. Now, to be fair, the code itself and pip package are Apache 2.0. The model weights are not. So, Kitty TTS 2 is source available. It’s free, but it’s it’s not open source. There are a few other quality things worth knowing before you use it. For non-English voices, each one relies on a single reference clip. And their own docs
[06:14] describe those voices as more fragile. The docs say 10 languages, but the readme says 20. And when generating non-English text, you need to turn normalization off. Long text also gets split into chunks automatically because the model can cut off or start repeating itself. Then there’s the claims that this can run in real time on a CPU. That comes from a separate C++ port. It requires libtorch. It builds with metal turned off. It has zero stars. So, I don’t know what that really means. And
[06:46] it doesn’t publish a single performance number. So, I wouldn’t treat real time on CPU as anything proven yet. You can be the judge of that, right? Run some tests. But it’s going to take time to figure out. And the other thing that’s gone is the whole idea of Kitty being tiny. Installing it pulls in torch transformers and diffusers. Then you need around 950 megabytes of model weights, then the chatterbox vocoder, then whisper. This version is heavier. Not only is it heavier, it’s changing very quickly. There have already been four PyPI releases in four days. There
[07:18] are 120 open issues, give or take. So, this is still very early, which brings us back the full circle. Should you even try this? If you’re still building around an MVP or wanting to play around with voice, then yes, this is cool, of course. If you’re building something real, yeah, maybe not. You may just be better off paying 11 Labs or using another alternative. We’ve covered some of the best on this channel, so you could look towards Voxy M 2, for example. There are a lot of other ones out there, but we will see how this grows with time. Kitty TTS did not just
[07:49] get bigger. The whole meaning of this project just completely changed. The old Kitty was tiny. That’s why it was called Kitty. Simple and Apache license. Kitty TTS 2 gives you voice cloning and much more capable speech generation, but you pay for that with size, speech dependencies, and a much more complicated license. I’m Josh from Better Stack. If you enjoy coding tips and tricks like this, be sure to subscribe. We’ll see you in another video. >> [music]