Same machine, same three texts, each model through its own Python package. Speed only, quality not measured:
- Linnet 41 M: RTF 10.6 % on one core (3.4 % on four), first audio 87 ms, 187 MB RSS, voice prompts, streams every 80 ms
- pocket-tts 100 M: 23.8 % on two cores, 968 MB, voice prompts, streams every 80 ms
- Kokoro-82M: 51.7 %, 1.2 GB, whole utterance per call, 8 languages
- Piper medium 16 M: 5.8 %, 503 MB, no voice prompts, per-sentence chunks
On phones: iPhone 13 Pro Max 5.5 ms per 80 ms step, iPhone 11 7 ms, Snapdragon 662 14 ms on four cores.
π§ Hear the same sentence from all four, side by side: the "Compare" tab of the demo Space VoxRT/linnet-tts (type your own text for Linnet there too)
π¦ Weights and model card: VoxRT/linnet-en-35m
π¦ Code, Rust runtime, bindings for Linux C, Python (pip install linnet-tts), Android and iOS, and the benchmark script: https://github.com/VoxRT/LinnetTTS
π Method: https://github.com/VoxRT/LinnetTTS/blob/main/docs/benchmarks.md
π Write-up with the trade-offs and the samples: https://huggingface.co/blog/VoxRT/small-cpu-text-to-speech-models-compared-piper-kok
π Collection of small CPU TTS models and their demos: VoxRT/on-device-tts-small-models-that-run-on-a-cpu-6aec390f2f84a4407d227cf4
English only for now; no text normalisation, so write numbers as words. If it is useful to you, a like on the model or the Space helps other people find it. Questions welcome.