7 ms·
Pocket TTS: A high quality TTS that gives your CPU a voice
- GaggiX 8mo agoI love that everyone is making their own TTS model as they are not as expensive as many other models to train. Also there are plenty of different architecture. Another recent example: https://github.com/supertone-inc/supertonic https://github.com/supertone-inc/supertonic
- nunobrito 8mo agoThank you. Very good suggestion with code available and bindings for so many languages.
- coder543 8mo agoAnother one is Soprano-1.1. It seems like it is being trained by one person, and it is surprisingly natural for such a small model. I remember when TTS always meant the most robotic, barely comprehensible voices. https://www.reddit.com/r/LocalLLaMA/comments/1qcusnt/soprano_1180m_released_95_fewer_hallucinations/ https://www.reddit.com/r/LocalLLaMA/comments/1qcusnt/soprano... https://huggingface.co/ekwek/Soprano-1.1-80M https://huggingface.co/ekwek/Soprano-1.1-80M
- andai 8mo agoIn-browser demo of Supertonic with WASM: https://huggingface.co/spaces/Supertone/supertonic-2 https://huggingface.co/spaces/Supertone/supertonic-2
- nowittyusername 8mo agoThanks for heads up, this looks really interesting and claimed speed is nuts..
- armcat 8mo agoOh this is sweet, thanks for sharing! I've been a huge fan of Kokoro and event setup my own fully-local voice assistant [1]. Will definitely give Pocket TTS a go! [1] https://github.com/acatovic/ova https://github.com/acatovic/ova
- gropo 8mo agoKokoro is better for tts by far For voice cloning, pocket tts is walled so I can't tell
- echelon 8mo agoWhat are the advantages of PocketTTS over Kokoro? It seems like Kokoro is the smaller model, also runs on CPU in real time, and is more open and fine tunable. More scripts and extensions, etc., whereas this is new and doesn't have any fine tuning code yet. I couldn't tell an audio quality difference.
- jamilton 8mo agoBeing able to voice clone with PocketTTS seems major, it doesn't look like there's any support for that with Kokoro.
- echelon 8mo agoZero shot voice clones have never been very good. Fine tuned models hit natural speaker similarity and prosody in a way zero shot models can't emulate. If it were a big model and was trained on a diverse set of speakers and could remember how to replicate them all, then zero shot is a potentially bigger deal. But this is a tiny model. I'll try out the zero shot functionality of Pocket TTS and report back.
- Barbing 8mo agoWould be curious to hear!
- jhatemyjob 8mo agoLess licensing headache, it seems. Kokoro says its Apache licensed. But it has eSpeak-NG as a dependency, which is GPL, which brings into question whether or not Kokoro is actually GPL. PocketTTS doesn't have eSpeak-NG as a dependency so you don't need to worry about all that BS. Btw, I would love to hear from someone (who knows what they're talking about) to clear this up for me. Dealing with potential GPL contamination is a nightmare.
- snvzz 8mo agoRelative to AmigaOS translator.device + narrator.device, this sure seems bloated.
- syntaxing 8mo agoIs there something similar for STT? I’m using whisper distill models and they work ok. Sometimes it gets what I say completely wrong.
- phoronixrly 8mo agofrom the other day https://github.com/cjpais/Handy https://github.com/cjpais/Handy
- daemonologist 8mo agoParakeet is not really more accurate than Whisper, but it's much faster - faster than realtime even on CPU: https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3 https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3 . You have to use Nemo though, or mess around with third-party conversions. (Also has a big brother Canary: https://huggingface.co/nvidia/canary-1b-v2 https://huggingface.co/nvidia/canary-1b-v2. There's also the confusingly named/positioned Nemotron speech: https://huggingface.co/nvidia/nemotron-speech-streaming-en-0.6b https://huggingface.co/nvidia/nemotron-speech-streaming-en-0...)
- satvikpendem 8mo agoKeep in mind Parakeet is pretty limited in the number of languages it supports compared to Whisper.
- jokethrowaway 8mo agoParakeet feels much more accurate in practice than whisper, it was a real "a-ha" moment for me. Of course, English only
- tschellenbach 8mo agoIt's cool how lightweight it is. Recently added support to Vision Agents for Pocket. https://github.com/GetStream/Vision-Agents/tree/main/plugins/pocket https://github.com/GetStream/Vision-Agents/tree/main/plugins...
- dust42 8mo agoGood quality but unfortunately it is single language English only.
- phoronixrly 8mo agoI echo this. For a TTS system to be in any way useful outside the tiny population of the world that speaks exclusively English, it must be multilingual and dynamically switch between languages pretty much per word. Cool tech demo though!
- kamranjon 8mo agoThat's a pretty crazy requirement for something to be "useful" especially something that runs so efficiently on cpu. Many content creators from non-english speaking countries can benefit from this type of release by translating transcripts of their content to english and then running it through a model like this to dub their videos in a language that can reach many more people.
- phoronixrly 8mo agoYou mean youtubers? And have to (manually) synchronise the text to their video, and especially when youtube apparently offers voice-voice translation out of the box to my and many others' annoyance?
- littlestymaar 8mo agoYouTube's voice to voice is absolutely horrible though. Having the ability for the youtubers to clone their own voice would make it much, much more appealing.
- ethin 8mo agoUh, no? This is not at all an absurd requirement? Screen readers literally do this all the time, with voices that are the classic way of making a speech synthesizer, no AI required. ESpeak is an example, or MS OneCore. The NVDA screen reader has an option for automatic language switching as does pretty much every other modern screen reader in existence. And absolutely none of these use AI models to do that switching, either.
- lukebechtel 8mo agoNice! Just made it an MCP server so claude can tell me when it's done with something :) https://github.com/Marviel/speak_when_done https://github.com/Marviel/speak_when_done
- codepoet80 8mo agoI just setup pushover to send a message to my phone for this exact reason! Trying out your server next!
- tylerdavis 8mo agoFunny! I made one recently too using piper-tts! https://github.com/tylerdavis/speak-mcp https://github.com/tylerdavis/speak-mcp
- tarcon 8mo agomacOS already has some great intrinsic TTS capability as the OS seems to include a naturally sounding voice. I recently built a similar tool to just run the "say" command as a background process. Had to wrap it in a Deno server. It works, but with Tahoe it's difficult to consistently configure using that one natural voice, and not the subpar voices downloadable in the settings. The good voice seems to be hidden somehow.
- supriyo-biswas 8mo ago> The good voice seems to be hidden somehow. How am I supposed to enable this?
- tarcon 8mo agoMy mistake, seems like I was refering to the Siri voice, which seems to be the default. It sounds good. It is selectable and to my surprise - even configurable in speed, pitch and volume - in the OS Accessibility settings -> System Voice -> Click on the (i) symbol. (macOS Tahoe)
- 8mo ago
- singpolyma3 8mo agoLove this. It says MIT license but then readme has a separate section on prohibited use that maybe adds restrictions to make it nonfree? Not sure the legal implications here.
- Buttons840 8mo agoGood question. If a license says "you may use this, you are prohibited from using this", and I use it, did I break the license?
- ethin 8mo agoIf memory serves, the license is the ultimate source of truth on what is allowed or not. You cannot add some section that isn't in the text of the license (at least in the US and other countries that use similar legal systems) on some website and expect it to hold up in court because the license doesn't include that text. I know of a few other bigger-name projects that try to pull these kinds of stunts because they don't believe anyone is going to actually read the text of the license.
- HenrikB 8mo agoThe copyright holder can set whatever license they want, including writing their own. In this case, I'd interpret it as they made up a new licence based on MIT, but their addendum makes it non-MIT, but something else. I agree with what others said; this "new" license has internal conflicts.
- kaliqt 8mo agoThe license is clearly defined. It would be misleading, possibly fraudulent for them to then override the license elsewhere. Simply, it's MIT licensed. If they want to change that, they have to remove that license file OR clearly update it to be a modified version of MIT.
- IshKebab 8mo agoI think if they took you to court for cloning someone's voice without permission they would probably lose because this conflict makes the terms unclear.
- oybng 8mo ago>If you want access to the model with voice cloning, go to https://huggingface.co/kyutai/pocket-tts https://huggingface.co/kyutai/pocket-tts and accept the terms, then make sure you're logged in locally with `uvx hf auth login` lol
- andhuman 8mo agoI’ve tried the voice clinking and it works great. I added a 9s clip and it captured the speaker pretty well. But don’t do the fake mistake I did and use a hf token that doesn’t have access to read from repos! The error message said that I had to request access to the repo, but I’ve had already done that, so I couldn’t figure out what was wrong. Turns out my HF token only had access to inference.
- mgaudet 8mo agoEep. So, on my M1 mac, did `uvx pocket-tts serve`. Plugged in > It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us, we were all going direct to Heaven, we were all going direct the other way—in short, the period was so far like the present period, that some of its noisiest authorities insisted on its being received, for good or for evil, in the superlative degree of comparison only (Beginning of Tale of Two Cities) but the problem is Javert skips over parts of sentences! Eg, it starts: > "It was the best of times, it was the worst of times, it was the age of wisdom, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the spring of hope, it was the winter of despair, we had everything before us, ..." Notice how it skips over "it was the age of foolishness,", "it was the winter of despair," Which... Doesn't exactly inspire faith in a TTS system. (Marius seems better; posted https://github.com/kyutai-labs/pocket-tts/issues/38 https://github.com/kyutai-labs/pocket-tts/issues/38)
- sbarre 8mo agoYeah Javert mangled up those sentences for me as well, it skipped whole parts and then also moved words around - "its noisiest superlative insisted on its being received" Win10 RTX 5070 Ti
- small_scombrus 8mo agoUsing your first text block 'Eponine' skips "we had nothing before us" and doesn't speak the final "that some of its noisiest" I wonder what's going wrong in there
- memming 8mo agointeresting; it skipped "we had everything before us," in my test. Yeah, not a good sign.
- Paul_S 8mo agoAll the models I tried have similar problems. When trying to batch a whole audiobook, the only way is to run it, then run a model to transcribe and check you get the same text.
- indigodaddy 8mo agoPerfect timing that is exactly what I am looking for for a fun little thing I'm working on. The voices sound good!
- Imustaskforhelp 8mo agoPerhaps I have been not talking to voice models that much or the chatgpt voice always felt weird and off because I was thinking it goes to a cloud server and everything but from Pocket TTS I discovered unmute.sh which is open source and I think is from the same company as Pocket TTS/can I think use Pocket TTS as well I saw some agentic models at 4B or similar which can punch above its weights or even some basic models. I can definitely see them in the context of home lab without costing too much money. I think atleast unmute.sh is similar/competed with chatgpt's voice model. It's crazy how good and (effective) open source models are from top to bottom. There's basically just about anything for almost everyone. I feel like the only true moat might exist in coding models. Some are pretty good but its the only industry where people might pay 10x-20x more for the best (minimax/z.ai subscription fees vs claude code) It will be interesting to see if we will see another deepseek moment in AI which might beat claude sonnet or similar. I think Deepseek has deepseek 4 so it will be interesting to see how/if it can beat sonnet (Sorry for going offtopic)
- StevenNunez 8mo agoGreat find! unmute was a trip to play with
- Imustaskforhelp 8mo agoYour welcome! Glad you appreciated it man. I think Unmute was really cool and is open source but its deployment is a little on the more complex side of things.
- grahamrr 8mo agovoices sound great! i see sample rate can be adjusted, is there any way to adjust the actual speed of the voice?
- gabrieldemarm 8mo ago[dead]
- _ache_ 8mo agoIt's very impressive! I'm mean, it's better than other <200M TTS models I encounter. In English, it's perfect and it's so funny in others languages. It sounds exactly like someone who actually doesn't speak the language, but got it anyway. I don't know why Fantine is just better than the others in others languages. Javer seems to be the worst. Try Jean in Spanish « ¡Es lo suficientemente pequeño como para caber en tu bolsillo! » sound a lot like they don't understand the language. Or Azelma in French « C'est suffisament petit pour tenir dans ta poche. » is very good.I mean half of the words are from a Québécois accent, half French one but hey, it's correct French. Però non capisce l'italiano.
- OfflineSergio 8mo agoThis is amazing. The audio feels very natural and it's fairly good at handling complext text to speech tasks. I've been working on WithAudio (https://with.audio https://with.audio). Currently it only uses Kokoros. I need to test this a bit more but I might actually add it to the app. It's too good to be ignored.
- deleted 8mo ago[deleted]
- Zardoz84 8mo agoI'm missing the old days that connecting a SPOKE256 to the Spectrum and making it speak, looked like magic.
- derHackerman 8mo agoI read this, then realized I needed a browser extension to read my long case study and made a browser interface of this and put this together: https://github.com/lukasmwerner/pocket-reader https://github.com/lukasmwerner/pocket-reader
- laszbalo 8mo agoYou can do the same thing with Firefox' Reader Mode. On Linux you have to set up speech-dispatcher to use your favorite TTS as a backend.Once it is set up, there will be an option to listen the page.
- mentalgear 8mo agoFirefox should integrate that in their Reader Mode (the default System Voices are often very un-listable). Would seems like an easy win, and it's a non-AI feature so not polarising.
- laszbalo 8mo agoNot sure about macOS or Windows, but on Linux Firefox uses speech-dispatcher, which is a server, and Firefox is the client. Speech-dispatcher then delegates the text to the correct TTS backend. It basically runs a shell command, either sending the text to a TTS HTTP server using curl, or piping it to the standard input of a TTS binary. Speech-dispatcher commonly uses espeak-ng, which sounds robotic but is reportedly better for visually impaired users, because at higher speeds it is still intelligible. This allows visually impaired users to hear UI labels more quickly. For non visually impaired users, we generally want natural sounding voices and to use TTS in the same way we would listen to podcasts or a bedtime story. With this system, users are in full control and can swap TTS models easily. If a model is shipped and, two weeks later, a smaller, newer, or better one appears, their work would become obsolete very quickly.
- Barbing 8mo agoFascinating. Might be part of why I’ve seen some folks have such love for old voices like Fred.
- aidenn0 8mo agoI'm sure I'm being stupid, but every voice except "alba" I recognize from Les Miserables; is there a character I'm forgetting?
- vvolhejn 8mo agoVáclav from Kyutai here. Yes the original naming scheme was from Les Miserables, glad you noticed! We just stuck to Alba because that's the real name of the voice actor that provided the voice sample to us (see https://huggingface.co/kyutai/tts-voices https://huggingface.co/kyutai/tts-voices), the other ones are either from pre-existing datasets or given anonymously.
- Evidlo 8mo agoHow feasible would it be to build this project into a small static binary that could be distributed? The dependencies are pretty big.
- homarp 8mo agoyou can track this issue https://github.com/mmwillet/TTS.cpp/issues/127 https://github.com/mmwillet/TTS.cpp/issues/127
- lykahb 8mo agoIt'd be great if it supported stdin&stdout for text and wav. Then it could get piped right into afplay
- gabrieldemarm 8mo agoGabriel from Kyutai here, we do support outputting wav to stdout. We don't support reading text from stdin but that should be easy enough. Feel free to drop a pull request!
- donpdonp 8mo agoit'd be nice to get some idea of what kind of hardware a laptop needs to be able to run this voice model.
- donpdonp 8mo agofor example, How much disk is needed? I started the uvx command and it started to download hundreds of megabytes. How much cpu ram is necessary and how much gpu ram is necessary? will an integrated intel gpu work? some ARM boards have a dedicated AI processor, are any of those supported?
- pain_perdu 8mo agoI'm psyched to see so much interest in my post about Kyutai's latest model! I'm working on part of a related team in Paris that's building off Kutai's research to provide enterprise-grade voice solutions. If anyone building in this space I'd love to chat and share some our upcoming models and capabilities that I am told are SOTA. Please don't hesitate to ping me via the address in my profile.
- armcat 8mo agoJust want to say amazing work. It's really pushing the envelope of what is possible to run locally on everyday devices.
- rsolva 8mo agoWoah, I'm impressed! The voice cloning also worked much better than expected! Will there be separate models for other languages? I know the National Library in Norway has done a good job curating speech datasets with many different dialects [1][2]. [1] https://data.norge.no/en/datasets/220ef03e-70e1-3465-a4af-edd6b8390233/nb-tale-speech-database-for-norwegian https://data.norge.no/en/datasets/220ef03e-70e1-3465-a4af-ed... [2] https://ai.nb.no/datasets/ https://ai.nb.no/datasets/
- agentifysh 8mo agoJust added it to my codex plugin that reads summary of what it finishes after each turn and I am spooked! runs well on my macbook, much better than Samantha! https://github.com/agentify-sh/speak/ https://github.com/agentify-sh/speak/
- gabrieldemarm 8mo ago[dead]
- fuzzer371 8mo agoHaven't we had TTS for like 20+ years? Why does AI need to be shoved into it all of a sudden. Total waste of electricity.
- rhdunn 8mo agoUsing neural nets (machine learning) to train TTS voices has been around a long time. [1] (2016 https://arxiv.org/abs/1609.03499 https://arxiv.org/abs/1609.03499) WaveNet: A Generative Model for Raw Audio [2] (2017 https://arxiv.org/abs/1711.10433 https://arxiv.org/abs/1711.10433) Parallel WaveNet: Fast High-Fidelity Speech Synthesis [3] (2021 https://arxiv.org/abs/2106.07889 https://arxiv.org/abs/2106.07889) UnivNet: A Neural Vocoder with Multi-Resolution Spectrogram Discriminators for High-Fidelity Waveform Generation [4] (2022 https://arxiv.org/abs/2203.14941 https://arxiv.org/abs/2203.14941) Neural Vocoder is All You Need for Speech Super-resolution
- X-Ryl669 8mo agoRead that: https://blog.cyril.by/fr/software/an-expressive-text-to-speech https://blog.cyril.by/fr/software/an-expressive-text-to-spee... and you'll find answers to your remarks
- deleted 8mo ago[deleted]
- maxglute 8mo agoWould be nice if preview supports variable speed.
- akx 8mo agoIt's pretty good. And for once, a software-engineering-ly high-quality codebase, too! All too often, new models' codebases are just a dump of code that installs half the universe in dependencies for no reason, etc.
- Paul_S 8mo agoThe speed of improvement of tts models reminds me of early days of Stable Diffusion. Can't wait until I can generate audiobooks without infinite pain. If I was an investor I'd short Audible.
- rowanG077 8mo agoWouldn't audible be perfectly positioned to take advantage of this. They have the perfect setup to integrate this into their offering.
- Manfred 8mo agoIt seems more likely that people will buy a digital copy of the book for a few bucks and then run the TTS themselves on devices they already own.
- howdareme9 8mo agoNot likely at all, people pay for convenience. They don't want to do that
- johanyc 8mo agoYeah hackernews users kept thinking the average consumers like to tinker like we do lol
- pantalaimon 8mo agoeBooks are much more expensive then an Audible subscription though.
- potatoman22 8mo agoI wouldn't say so. Audible gives you 1 book a month for $15. Most e-books I see are around $10.
- gempir 8mo ago
- britannio 8mo agoThis is impressive but in a sample I tried, it switched language on the second paragraph. I'm on a M4 Pro Macbook. https://gist.github.com/britannio/481aca8cb81a70e8fd5b7dfa2f2af8c8 https://gist.github.com/britannio/481aca8cb81a70e8fd5b7dfa2f...
- aki237 8mo agoThis is impressive. I just tried some sample verses, sounds natural. But there seems to be a bug maybe? Just for fun, I had asked it to play the Real Slim Shady lyrics. It always seems to add 1 extra "please stand-up" in the chorus. Anyone see that?
- gabrieldemarm 8mo agoHello Gabriel from Kyutai here, maybe it's related to the way we chunk the text? Can you post an issue on github with the extact text and voice? I'll take a look.
- anonymous344 8mo agodoesn't seem to know thai language. anyobody can suggest thai tts?
- exceptione 8mo agoQuestion: does anyone recommend a TTS that automatically recognizes emotion from the text it self?
- fluoridation 8mo agoChatterbox does something like that. For example, if the input is "so and so," he <verb> and the verb is not just "said", but "chuckled", or "whispered", or "said shakily", the output is modified accordingly, or if there's an indication that it's a woman speaking it may pitch up during the quotation. It also tries to guess emotive content from textual content, such if a passage reads angry it may try to make it sound angry. That's more hit-and-miss, but when it hits, it hits really well. A very common failure case is, imagine someone is trying to psych themselves up and they say internally "come on, Steve, stand up and keep going", it'll read it in a deeper voice like it was being spoken by a WW2 sergeant to a soldier.
- exceptione 8mo agoThank you!
- sofixa 8mo agoGradium (https://gradium.ai/ https://gradium.ai/), a commercial company offshoot of Kyutai (open source lab), are focusing on emotion (both being able to recognise emotion and also understanding what emotion to use depending on context). I don't think any of their public existing models already does that, but they demoed it pretty impressively at the ai-Pulse conference.
- smallerfish 8mo agoHopefully the browsers will improve their built in TTS soon. It's still pretty unusable unless you really need it.
- sysworld 8mo agoAnd OS's. Mac has some decent models, but kokoro is much better. Even this one is better.
- g947o 8mo agoI wonder if this could be adapted into an app that can run completely offline?
- dhruvdh 8mo agoTry `uvx pocket-tts serve`
- butz 8mo agoHow large is the model and is it possible to train it read other languages, not only English?
- butz 8mo agoAfter pip install pocket-tts all dependencies are 7.4 GB. And it generates at 2x speed on CPu. Neat!
- NoSalt 8mo ago> "You can also clone the voice from any audio sample by using our repo." Ok, who knows where I can get those high-quality recordings of Majel Barrett' voice that she made before she died?
- freedomben 8mo agoTOS computer voice must be my computer's voice. And after every command I run, I need a "Working."
- nmstoker 8mo agoIt's impressive but it's a shame that it's 2026 and despite remarkably lifelike speech, so many models fall on common issues like heteronyms ("the couple had a row because they couldn't agree where to row their boat"), realistic number handling and so on.
- woadwarrior01 8mo agoYeah most models are quite bad at it. The industry term for it is: homograph disambiguation.
- anon84873628 8mo agoLet's undo the great vowel shift and modernize English spellings :-D
- dale_glass 8mo agoIs there any TTS engine that doesn't need cloning and has some sort of parameters one can specify? Like what if I want to graft on TTS to an existing text chat system and give each person an unique, randomly generated voice? Or want to try to get something that's not quite human, like some sort of alien or monster?
- bkitano19 8mo agoYou can use voice prompting; it's supported on ElevenLabs and Hume.
- unleaded 8mo agoYou could use an old-school formant synthesizer that lets you tune the parameters, like espeak or dectalk. espeak apparently has a klatt mode which might sound better than the default but i haven't tried it.
- tempaccountabcd 8mo ago[dead]
- d4rkp4ttern 8mo agoSuper nice and convenient to use as a CLI. I made it into a plugin for Claude Code to give a 1-sentence spoken status update whenever it stops: claude plugin marketplace add pchalasani/claude-code-tools claude plugin install voice@cctools-plugins More here: https://github.com/pchalasani/claude-code-tools?tab=readme-ov-file#-voice-plugin https://github.com/pchalasani/claude-code-tools?tab=readme-o...
- kreelman 8mo agoHad so much fun with this. Was able to get my favourite celebrities to warn me about things happening on this PC.
- febin 8mo agoI've vibecoded a Rust port of Pocket TTS using candle. https://github.com/jamesfebin/pocket-tts-candle https://github.com/jamesfebin/pocket-tts-candle The port supports: - Native compilation with zero Python runtime dependency - Streaming inference - Metal acceleration for macOS - Voice cloning (with the mimi feature) Note: This was vibecoded (AI-assisted), but features were manually tested.
- bboplifa 8mo agoit is similar to chatterbox as far as realism at half the speed and no gpu needed which leads me to wonder, why is chatterbox so slow ?