Live data from Hacker News

Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model

github.com

251–260 of 383 posts

Re: Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model

#251

Earlier quoted context omitted.

GPL is for boomers at this point. Floppy disks? Distribution? You can use a tool but you cant change it? A DLL call means you need to redistribute your code but forking doesn't? Sillyness

GPL post-dates network software distribution (we got our first gcc via ftp).

Yes, but if you use open source libraries for your closed source SaaS - thats fine. People get their software _over_ the network delivered to them in a VM (your browser).

Re: Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model

#252

System Requirements Works literally everywhere Haha, on one of my machines my python version is too old, and the package/dependencies don't want to install. On another machie the python version is too new, and the package/dependencies don't want to install.

There are still people who use machine wide python installs instead of environments? Python dependency hell was already bad years ago, but today it's completely impractical to do it this way. Even on raspberries.

Yep. Python stopped being Python a decade ago. Now there are just innumberable Pythons. Perl... on the otherhand, you can still run any perl script from any time on any system perl interpreter and it works! Granted, perl is unpopular and not getting constant new features re: hardcore math/computation libs.

Anyway, I think I'll stick with Festival 1.96 for TTS. It's super fast even on my core2duo and I have exactly zero chance of getting this Python 3'ish script to run on any machine with an OS older than a handful of years.

Re: Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model

#253

Earlier quoted context omitted.

We are working to fix that. Thanks

Just point people to uv/uvx.

A tool that was only released, what, a year or two ago? It simply won't be present in nearly all OS/distros. Only modern or rolling will have it (maybe). It's funny when the recommended python dependency manager managers are just as hard to install and use as the script themselves. Very python.

Re: Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model

#254
post #11
post #8

Web version: https://clowerweb.github.io/kitten-tts-web-demo/ It sounds ok, but impressive for the size.

Does anybody find it funny that sci-fi movies have to heavily distort "robot voices" to make them sound "convincingly robotic"? A robotic, explicitly non-natural voice would be perfectly acceptable, and even desirable, in many situations. I don't expect a smart toaster to talk like a BBC host; it'd be enough is the speech if easy to recognize.

In the Culture novels, Iain Banks imagines that we would become uncomfortable with the uncanny realism of transmitted voices / holograms, and intentionally include some level of distortion to indicate you're speaking to an image

Re: Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model

#255
post #226

System Requirements Works literally everywhere Haha, on one of my machines my python version is too old, and the package/dependencies don't want to install. On another machie the python version is too new, and the package/dependencies don't want to install.

I opened a couple of PRs to fix this situation: https://github.com/KittenML/KittenTTS/pull/21 https://github.com/KittenML/KittenTTS/pull/24 https://github.com/KittenML/KittenTTS/pull/25 If you have `uv` installed, you can try my merged ref that has all of these PRs (and #22, a fix for short generation being trimmed unnecessarily) with uvx --from git+https://github.com/akx/KittenTTS.git@pr-21-22-24-25 kittentts --outp…

Thanks for the quick intro into UV, it looks like docker layers for python

I found the TTS a bit slow so I piped the output into ffplay with 1.2x speedup to make it sound a bit better

   uvx --from git+https://github.com/akx/KittenTTS.git@pr-21-22-24-25 kittentts --text "I serve 12 different beers at my restaurant for over 1000000 customers" --voice expr-voice-3-m --output - | ffplay -af "atempo=1.2" -f wav -

Re: Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model

#256

System Requirements Works literally everywhere Haha, on one of my machines my python version is too old, and the package/dependencies don't want to install. On another machie the python version is too new, and the package/dependencies don't want to install.

You're supposed to use venv for everything but the python scripts distributed with your os

Re: Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model

#257

Earlier quoted context omitted.

There are still people who use machine wide python installs instead of environments? Python dependency hell was already bad years ago, but today it's completely impractical to do it this way. Even on raspberries.

Yep. Python stopped being Python a decade ago. Now there are just innumberable Pythons. Perl... on the otherhand, you can still run any perl script from any time on any system perl interpreter and it works! Granted, perl is unpopular and not getting constant new features re: hardcore math/computation libs. Anyway, I think I'll stick with Festival 1.96 for TTS. It's super fast even on my core2duo and I have exactly ze…

It breaks my heart that Perl fell out of favor. Perl “6” didn’t help in the slightest.

Re: Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model

#258

Earlier quoted context omitted.

This would only apply if they were distributing the GPL licensed code alongside their own code. If my MIT-licensed one-line Python library has this line of code… run([“bash”, “-c”, “echo hello”]) …I’m not suddenly subject to bash’s licensing. For anyone wanting to run my stuff though, they’re going to need to make sure they themselves have bash installed. (But, to argue against my own point, if an OS vendor ships my…

The FSF thinks it counts as a derivative work and you have to use the LGPL to allow linking. However, this has never actually been proven in court, and there's many good arguments that linking doesn't count as a derivative work. Old post by a lawyer someone else found (version 3 wouldn't affect this) [1] For me personally I don't really understand how, if dynamic linking was viral, using linux to run code isn't viral…

> For me personally I don't really understand how, if dynamic linking was viral, using linux to run code isn't viral. Surely at some level what linux does to run your code calls GPLed code.

The Linux kernel has an explicit exception for userspace software:

> NOTE! This copyright does not cover user programs that use kernel services by normal system calls

Re: Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model

#259

The headline feature isn’t the 25 MB footprint alone. It’s that KittenTTS is Apache-2.0. That combo means you can embed a fully offline voice in Pi Zero-class hardware or even battery-powered toys without worrying about GPUs, cloud calls, or restrictive licenses. In one stroke it turns voice everywhere from a hardware/licensing problem into a packaging problem. Quality tweaks can come later; unlocking that deployment…

The github just has a few KB of python that looks like an install script. How is this used from C++ ?

Re: Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model

#260

Elixir folks. How would I use this with Elixir? I'm new to Elixir and could use this in about 15 days.

It looks like it's Python, so it might be possible to use via https://github.com/livebook-dev/pythonx ? But the parallel huggingface/bumblebee idea was also good, hadn't seen or thought of, that definitely works for a lot of other models, curious if you get working! Some chance I'll play with this myself in a few months, so feel free to report back here or DM me!

I just decided to try this quickly and hit some issues on my Mac FYI, it might work better on Linux but I hit a compilation issue with `curated-tokenizers`, possibly from a typo in setup.py or pyproject.toml in curated-tokenizers, spotted by AI: -Wno-sign-compare-Wno-strict-prototypes should be -Wno-sign-compare -Wno-strict-prototypes so could perhaps fix with a PR to curated-tokenizers or by forking it...

Might well be other issues behind that, and unclear if need any other dependencies that kitten doesn't rely on directly like torch or torchaudio? but... not 5 mins easy, but looks like issues might be able to be worked through...

For reference this is all I was trying basically:

  Mix.install([:pythonx])

  Pythonx.uv_init("""
  [project]
  name = "project"
  version = "0.0.0"
  requires-python = ">=3.8"
  dependencies = [
    "kittentts @ https://github.com/KittenML/KittenTTS/releases/download/0.1/kittentts-0.1.0-py3-none-any.whl"
  ]
  """)
to get the above error.
Post reply on HN