Play with the animations in the interactive blog. The code is out too.
With @elouangardes, @_AmilDravid, @ptrkprz and @loiclandrieu. @kyutai_labs
Blog: kyutai.org
Paper: arxiv.org
Code: kyutai-labs/logit-psv
17 likes · 331 views
Open source do GitHub: #15 a #11 | Vol. 14 #shorts
Os projetos #15 a #11 do Top 15 open source do GitHub, Vol. 14, 10 segundos para cada um.
#15 NodeWarden: shuaiplus/nodewarden
#14 Skill Scanner: cisco-ai-defense/skill-scanner
#13 Pocket TTS: kyutai-labs/pocket-tts
#12 Omarchy: omacom/omarchy
#11 Owly: t4t5/owly
Vídeo completo com os 15: youtu.be
Oferecimento: Hallen Tech, hallentech.com
#shorts #opensource #github
11 likes · 343 views
Mais 15 projetos open source do GitHub que valem o seu tempo | Vol. 14
Mais 15 projetos open source do GitHub que valem o seu tempo, em contagem regressiva e com 10 segundos para cada um: a distro Linux do DHH, AirDrop do iPhone para o Linux, jogos de Windows no Mac, ditado por voz offline, várias máquinas como uma só mesa e muito mais.
📺 Décimo quarto volume da série Open source do GitHub. Escolhidos pela análise da lista inteira (estrelas, frequência de commits, último commit, README, documentação, capturas e site), conferida em 23/10/2026.
Qual desses você vai testar primeiro? Conta nos comentários!
⏱️ CAPÍTULOS E LINKS
0:00 Abertura
0:10 #15 NodeWarden: servidor de senhas compatível com o Bitwarden, rodando na sua própria conta da Cloudflare (4,0 mil estrelas)
shuaiplus/nodewarden
0:20 #14 Skill Scanner: scanner da Cisco que procura instruções escondidas, vazamento de dados e código malicioso nas skills dos agentes (2,6 mil estrelas)
cisco-ai-defense/skill-scanner
0:30 #13 Pocket TTS: voz sintética leve que roda na CPU, sem placa de vídeo, e clona vozes (10,0 mil estrelas)
kyutai-labs/pocket-tts
0:40 #12 Omarchy: a distribuição Linux do DHH: bonita, cheia de atalhos e pronta para agentes (45,5 mil estrelas)
omacom/omarchy
0:50 #11 Owly: AirDrop entre o iPhone e um notebook com Linux, usando o mesmo protocolo da Apple (3,0 mil estrelas)
t4t5/owly
1:00 #10 Highball: roda jogos de Windows no Mac com Apple Silicon e diz com sinceridade o que funciona (1,8 mil estrelas)
gauthierpiarrette/highball
1:10 #9 Hopp: compartilhamento de tela para programar em dupla, com menos de 100 ms de atraso
gethopp/hopp
1:20 #8 SCM: busca nas fotos, capturas e vídeos do Mac descrevendo a cena, com IA local
allenv0/SCM
1:30 #7 Sockudo: servidor de tempo real em Rust, compatível com o Pusher, para chats, notificações e painéis ao vivo
sockudo/sockudo
1:40 #6 Antfly: banco de busca com IA embutida: indexa, entende e responde sobre os seus dados num processo só
antflydb/antfly
1:50 #5 skills, da Vercel: instala skills em mais de 70 agentes de código com um comando (36,3 mil estrelas)
vercel-labs/skills
2:00 #4 BetterWispr: segure uma tecla, fale e o texto aparece em qualquer app do Mac, sem a voz sair do computador
opennookorg/betterwispr
2:10 #3 OrcaReplay: grava a execução do agente de código e repete tudo igual, offline, para achar onde ele errou
Continuum-AI-Corp/OrcaReplay
2:20 #2 ACRYL: ambiente de desenvolvimento em que qualquer agente de código entra como plugin
acryldev/acryl
2:30 Oferecimento Hallen Tech
2:44 #1 TwinDesk: Mac, Windows, Linux e Android como uma só mesa: telas, mouse, arquivos e até as ligações do celular
InukaAsith/TwinDesk
2:54 Encerramento
🧡 Oferecimento: Hallen Tech, liderança de tecnologia sob demanda, software, cloud e segurança para a sua empresa.
Site: hallentech.com
E-mail: contato@hallentech.com
Instagram: instagram.com
LinkedIn da Hallen Tech: linkedin.com
LinkedIn do Eddwan: linkedin.com
Se curtiu, deixa o like, segue o canal e ativa as notificações para a próxima lista.
#opensource #github #programacao #ferramentas
169 likes · 2 comments · 6,947 views
샘플 음성으로 목소리 복제도 가능하다고 함. 직접 실행한 건 아니고 제작사 발표 기준임.
코드: kyutai-labs/pocket-tts
한국어 품질은 미확인.
1 like · 10 views
Blog: kyutai.org (MIT repo: kyutai-labs/pocket-tts). The 1.9M variant runs 25x real time on one CPU thread. The 18.2M also beats the ~310M teacher it was distilled from.
1 like · 18 views
Fine-tuning Pocket TTS for Castilian Spanish: stop at step 600 and judge the accent by ear
If your app needs a few minutes of narration now and then, a GPU is the wrong tool. Between two voice-overs it sits idle, and you still pay for it. We needed English and Spanish narration for demos and walkthroughs, so we chose Kyutai's Pocket TTS, a text-to-speech (TTS) model designed for an ordinary processor. Setup is pip plus the CPU-only flavour of PyTorch, with no graphics card and no GPU drivers when you generate audio.
English was fine from the first try. Spanish did not sound like Spain. Here are the decisions that fixed it, for anyone adapting a voice model to another accent. The listening samples, the full speed table and every command live in our write-up on fine-tuning Pocket TTS for Castilian Spanish.
Pick the model size before you pick the voice
Kyutai ships seven languages (English, Spanish, French, German, Italian, Portuguese, Dutch), and every one comes in two sizes: 6 layers and 24 layers. Layers are the stacked blocks of the network; more layers means more work per second of audio. The 24-layer models run about three times slower, and that shapes your pipeline more than anything else.
Speed here is measured against "real time": 2x real time means 10 seconds of audio take 5 seconds to generate. On our development box (a shared virtual machine on an 8-core Ryzen 7 5700X, three server processes with two threads apiece, six everyday sentences per model), the English 6-layer model hit 3.1x. The Spanish 24-layer base model reached 1.2x, and our fine-tune 1.05x. Each running copy of a 24-layer model holds about 2.1 GB in RAM. Above 1x works for a voice-over; a long audiobook on a CPU is another matter. The Pocket TTS CPU speed measurements list audio length and generation time per model.
Fine-tuning means taking a trained model and continuing its training on your own data. Ours keeps the network's shape and only changes the numbers inside it, so it runs at the speed of the base 24-layer model, and switching to it means pointing the server at another config:
pip install pocket-tts
pocket-tts serve --config hf://inferencekey/pocket-tts-spanish-24l-castilian/config.yaml
serve loads the model once and then answers over HTTP. We start a few of those processes and hand each one its own sentence.
The problem was the accent, not the words
The base Spanish model was perfectly intelligible. The accent gave it away: foreign-sounding, with seseo, where the Castilian "z" and soft "c" collapse into an "s" as in much of Latin America. In Spain that is obvious from the first word with a "z".
We started from spanish_24l (about 316 million parameters, the learned numbers, in the part that produces speech) and trained it further on roughly 2,000 recordings of Castilian speech, using a single AMD GPU with ROCm, AMD's counterpart to CUDA. The result is on Hugging Face as inferencekey/pocket-tts-spanish-24l-castilian.
The trap: training longer made it worse
Validation loss is the error the model makes on held-out clips it never trains on; lower is better. Ours hit its minimum at step 600 (0.4951) and had drifted up to 0.5095 by step 1500. By then the model had gone through the training set about 47 times, and its output started losing words and inventing others.
| Checkpoint | Validation loss | Test clips with complete sentences (ASR) |
|---|---:|---:|
| Step 600 | 0.4951 | 6 of 6 |
| Step 1500 | 0.5095 | 3 of 6 |
A checkpoint is the weights saved at one training step. Step 600 scored like the base model; step 1500 lost half. Grab the last checkpoint and you ship the broken one.
From step 600 we released the EMA weights instead of the raw ones. EMA (exponential moving average) blends the weights over recent steps, so it moves further from the base model more gently. That suited us: the base model already read Spanish well, and we only wanted to touch the accent.
What to measure, and what your metric cannot see
The natural automatic check is ASR (automatic speech recognition): transcribe every generated clip and compare it with the input text. We used Qwen3-ASR, and it does one job well, spotting words that vanished or appeared. It cannot hear the thing we were fixing. "Caza" and "casa" come out as the same transcript, so a model with the accent fix and one without it get identical scores.
So the evaluation has two halves, and neither replaces the other:
- ASR on every clip, to catch dropped or invented words.
- A person listening to every clip, to judge the accent.
The ASR pass paid off beyond Spanish. With Kyutai's own 6-layer French model, "sept heures et quart" was misread in two of three attempts, and the transcript flagged it. For any sentence you care about, transcribe it and regenerate when it fails.
Two input rules that change how it sounds
First, send complete sentences or short paragraphs. The model ends each chunk with a falling, final intonation, so a fragmented paragraph sounds stop-and-go. With a server pool, parallelize per sentence, never per fragment.
Second, spell numbers out. The model handles "siete y cuarto" every time; "7:15" sometimes trips it.
What it does not show
The speed figures come from one 8-core development VM and six sentences per model, not a broad benchmark. The accent was judged by ear, the only judge that works here and also the one that does not scale. And at 24 layers, this is a CPU narration tool, not an audiobook pipeline.
Credit where it belongs: Kyutai built Pocket TTS, its multilingual models and the voice cloning that gives us one voice (alba) in every language. Qwen3-ASR caught the missing words. Our part was the Castilian fine-tune, choosing the checkpoint and checking every sample.
To hear the base model next to the fine-tune and copy the generate command, read the full Pocket TTS Castilian Spanish article on inferencekey.com.
New version of PocketTTS is apparently censored: pocket-tts#390
Too bad it's not open, unlike the previous version.
However, I found Qwen ASR and QwenTTS to be quite good, and not too large. Also kyutai-labs/pocket-tts was also great (but only a few languages)
Pocket TTS Small: CPU voice cloning with models as small as 1.9M parameters
Kyutai released three smaller Pocket TTS models on October 20: 1.9M, 6.9M and 18.2M parameters. These are English models, support voice cloning, and are designed to run on CPU. You can switch between the sizes in their demo here.
The useful part for me is keeping speech generation on CPU and leaving the GPU to the LLM. Especially when the chat model already barely fits. Having a local assistant read its answer out loud shouldn't require another round of VRAM budgeting.
I'd probably start with the 6.9M version. Getting down to 1.9M is impressive, but I'm happy to spend a few million extra parameters on a voice I can listen to for more than thirty seconds. A couple of minutes of speech with names, numbers and awkward punctuation would be a useful comparison.
One detail on the size claims: those counts include the audio decoder. The encoder that processes your reference voice is separate, and the reference only needs to be encoded once.
Code and setup instructions
14 points · 6 comments
Weights: huggingface.co Code: kyutai-labs/pocket-tts You can also try the models in your browser on the blog post.
8 likes · 636 views
Mentions
Play with the animations in the interactive blog. The code is out too. With @elouangardes, @_AmilDravid, @ptrkprz and @loiclandrieu. @kyutai_labs Blog: kyutai.org Paper: arxiv.org Code: kyutai-labs/logit-psv
Open source do GitHub: #15 a #11 | Vol. 14 #shorts Os projetos #15 a #11 do Top 15 open source do GitHub, Vol. 14, 10 segundos para cada um. #15 NodeWarden: shuaiplus/nodewarden #14 Skill Scanner: cisco-ai-defense/skill-scanner #13 Pocket TTS: kyutai-labs/pocket-tts #12 Omarchy: omacom/omarchy #11 Owly: t4t5/owly Vídeo completo com os 15: youtu.be Oferecimento: Hallen Tech, hallentech.com #shorts #opensource #github
Mais 15 projetos open source do GitHub que valem o seu tempo | Vol. 14 Mais 15 projetos open source do GitHub que valem o seu tempo, em contagem regressiva e com 10 segundos para cada um: a distro Linux do DHH, AirDrop do iPhone para o Linux, jogos de Windows no Mac, ditado por voz offline, várias máquinas como uma só mesa e muito mais. 📺 Décimo quarto volume da série Open source do GitHub. Escolhidos pela análise da lista inteira (estrelas, frequência de commits, último commit, README, documentação, capturas e site), conferida em 23/10/2026. Qual desses você vai testar primeiro? Conta nos comentários! ⏱️ CAPÍTULOS E LINKS 0:00 Abertura 0:10 #15 NodeWarden: servidor de senhas compatível com o Bitwarden, rodando na sua própria conta da Cloudflare (4,0 mil estrelas) shuaiplus/nodewarden 0:20 #14 Skill Scanner: scanner da Cisco que procura instruções escondidas, vazamento de dados e código malicioso nas skills dos agentes (2,6 mil estrelas) cisco-ai-defense/skill-scanner 0:30 #13 Pocket TTS: voz sintética leve que roda na CPU, sem placa de vídeo, e clona vozes (10,0 mil estrelas) kyutai-labs/pocket-tts 0:40 #12 Omarchy: a distribuição Linux do DHH: bonita, cheia de atalhos e pronta para agentes (45,5 mil estrelas) omacom/omarchy 0:50 #11 Owly: AirDrop entre o iPhone e um notebook com Linux, usando o mesmo protocolo da Apple (3,0 mil estrelas) t4t5/owly 1:00 #10 Highball: roda jogos de Windows no Mac com Apple Silicon e diz com sinceridade o que funciona (1,8 mil estrelas) gauthierpiarrette/highball 1:10 #9 Hopp: compartilhamento de tela para programar em dupla, com menos de 100 ms de atraso gethopp/hopp 1:20 #8 SCM: busca nas fotos, capturas e vídeos do Mac descrevendo a cena, com IA local allenv0/SCM 1:30 #7 Sockudo: servidor de tempo real em Rust, compatível com o Pusher, para chats, notificações e painéis ao vivo sockudo/sockudo 1:40 #6 Antfly: banco de busca com IA embutida: indexa, entende e responde sobre os seus dados num processo só antflydb/antfly 1:50 #5 skills, da Vercel: instala skills em mais de 70 agentes de código com um comando (36,3 mil estrelas) vercel-labs/skills 2:00 #4 BetterWispr: segure uma tecla, fale e o texto aparece em qualquer app do Mac, sem a voz sair do computador opennookorg/betterwispr 2:10 #3 OrcaReplay: grava a execução do agente de código e repete tudo igual, offline, para achar onde ele errou Continuum-AI-Corp/OrcaReplay 2:20 #2 ACRYL: ambiente de desenvolvimento em que qualquer agente de código entra como plugin acryldev/acryl 2:30 Oferecimento Hallen Tech 2:44 #1 TwinDesk: Mac, Windows, Linux e Android como uma só mesa: telas, mouse, arquivos e até as ligações do celular InukaAsith/TwinDesk 2:54 Encerramento 🧡 Oferecimento: Hallen Tech, liderança de tecnologia sob demanda, software, cloud e segurança para a sua empresa. Site: hallentech.com E-mail: contato@hallentech.com Instagram: instagram.com LinkedIn da Hallen Tech: linkedin.com LinkedIn do Eddwan: linkedin.com Se curtiu, deixa o like, segue o canal e ativa as notificações para a próxima lista. #opensource #github #programacao #ferramentas
샘플 음성으로 목소리 복제도 가능하다고 함. 직접 실행한 건 아니고 제작사 발표 기준임. 코드: kyutai-labs/pocket-tts 한국어 품질은 미확인.
Blog: kyutai.org (MIT repo: kyutai-labs/pocket-tts). The 1.9M variant runs 25x real time on one CPU thread. The 18.2M also beats the ~310M teacher it was distilled from.
Fine-tuning Pocket TTS for Castilian Spanish: stop at step 600 and judge the accent by ear If your app needs a few minutes of narration now and then, a GPU is the wrong tool. Between two voice-overs it sits idle, and you still pay for it. We needed English and Spanish narration for demos and walkthroughs, so we chose Kyutai's Pocket TTS, a text-to-speech (TTS) model designed for an ordinary processor. Setup is pip plus the CPU-only flavour of PyTorch, with no graphics card and no GPU drivers when you generate audio. English was fine from the first try. Spanish did not sound like Spain. Here are the decisions that fixed it, for anyone adapting a voice model to another accent. The listening samples, the full speed table and every command live in our write-up on fine-tuning Pocket TTS for Castilian Spanish. Pick the model size before you pick the voice Kyutai ships seven languages (English, Spanish, French, German, Italian, Portuguese, Dutch), and every one comes in two sizes: 6 layers and 24 layers. Layers are the stacked blocks of the network; more layers means more work per second of audio. The 24-layer models run about three times slower, and that shapes your pipeline more than anything else. Speed here is measured against "real time": 2x real time means 10 seconds of audio take 5 seconds to generate. On our development box (a shared virtual machine on an 8-core Ryzen 7 5700X, three server processes with two threads apiece, six everyday sentences per model), the English 6-layer model hit 3.1x. The Spanish 24-layer base model reached 1.2x, and our fine-tune 1.05x. Each running copy of a 24-layer model holds about 2.1 GB in RAM. Above 1x works for a voice-over; a long audiobook on a CPU is another matter. The Pocket TTS CPU speed measurements list audio length and generation time per model. Fine-tuning means taking a trained model and continuing its training on your own data. Ours keeps the network's shape and only changes the numbers inside it, so it runs at the speed of the base 24-layer model, and switching to it means pointing the server at another config: pip install pocket-tts pocket-tts serve --config hf://inferencekey/pocket-tts-spanish-24l-castilian/config.yaml serve loads the model once and then answers over HTTP. We start a few of those processes and hand each one its own sentence. The problem was the accent, not the words The base Spanish model was perfectly intelligible. The accent gave it away: foreign-sounding, with seseo, where the Castilian "z" and soft "c" collapse into an "s" as in much of Latin America. In Spain that is obvious from the first word with a "z". We started from spanish_24l (about 316 million parameters, the learned numbers, in the part that produces speech) and trained it further on roughly 2,000 recordings of Castilian speech, using a single AMD GPU with ROCm, AMD's counterpart to CUDA. The result is on Hugging Face as inferencekey/pocket-tts-spanish-24l-castilian. The trap: training longer made it worse Validation loss is the error the model makes on held-out clips it never trains on; lower is better. Ours hit its minimum at step 600 (0.4951) and had drifted up to 0.5095 by step 1500. By then the model had gone through the training set about 47 times, and its output started losing words and inventing others. | Checkpoint | Validation loss | Test clips with complete sentences (ASR) | |---|---:|---:| | Step 600 | 0.4951 | 6 of 6 | | Step 1500 | 0.5095 | 3 of 6 | A checkpoint is the weights saved at one training step. Step 600 scored like the base model; step 1500 lost half. Grab the last checkpoint and you ship the broken one. From step 600 we released the EMA weights instead of the raw ones. EMA (exponential moving average) blends the weights over recent steps, so it moves further from the base model more gently. That suited us: the base model already read Spanish well, and we only wanted to touch the accent. What to measure, and what your metric cannot see The natural automatic check is ASR (automatic speech recognition): transcribe every generated clip and compare it with the input text. We used Qwen3-ASR, and it does one job well, spotting words that vanished or appeared. It cannot hear the thing we were fixing. "Caza" and "casa" come out as the same transcript, so a model with the accent fix and one without it get identical scores. So the evaluation has two halves, and neither replaces the other: - ASR on every clip, to catch dropped or invented words. - A person listening to every clip, to judge the accent. The ASR pass paid off beyond Spanish. With Kyutai's own 6-layer French model, "sept heures et quart" was misread in two of three attempts, and the transcript flagged it. For any sentence you care about, transcribe it and regenerate when it fails. Two input rules that change how it sounds First, send complete sentences or short paragraphs. The model ends each chunk with a falling, final intonation, so a fragmented paragraph sounds stop-and-go. With a server pool, parallelize per sentence, never per fragment. Second, spell numbers out. The model handles "siete y cuarto" every time; "7:15" sometimes trips it. What it does not show The speed figures come from one 8-core development VM and six sentences per model, not a broad benchmark. The accent was judged by ear, the only judge that works here and also the one that does not scale. And at 24 layers, this is a CPU narration tool, not an audiobook pipeline. Credit where it belongs: Kyutai built Pocket TTS, its multilingual models and the voice cloning that gives us one voice (alba) in every language. Qwen3-ASR caught the missing words. Our part was the Castilian fine-tune, choosing the checkpoint and checking every sample. To hear the base model next to the fine-tune and copy the generate command, read the full Pocket TTS Castilian Spanish article on inferencekey.com.
New version of PocketTTS is apparently censored: pocket-tts#390
Too bad it's not open, unlike the previous version. However, I found Qwen ASR and QwenTTS to be quite good, and not too large. Also kyutai-labs/pocket-tts was also great (but only a few languages)
Pocket TTS Small: CPU voice cloning with models as small as 1.9M parameters Kyutai released three smaller Pocket TTS models on October 20: 1.9M, 6.9M and 18.2M parameters. These are English models, support voice cloning, and are designed to run on CPU. You can switch between the sizes in their demo here. The useful part for me is keeping speech generation on CPU and leaving the GPU to the LLM. Especially when the chat model already barely fits. Having a local assistant read its answer out loud shouldn't require another round of VRAM budgeting. I'd probably start with the 6.9M version. Getting down to 1.9M is impressive, but I'm happy to spend a few million extra parameters on a voice I can listen to for more than thirty seconds. A couple of minutes of speech with names, numbers and awkward punctuation would be a useful comparison. One detail on the size claims: those counts include the audio decoder. The encoder that processes your reference voice is separate, and the reference only needs to be encoded once. Code and setup instructions
Weights: huggingface.co Code: kyutai-labs/pocket-tts You can also try the models in your browser on the blog post.