Repository navigation
v0.8.0: Multi-model TTS with Kokoro, Bark, Parler, XTTS
What's New
Narro now supports 6 TTS models behind one API. Pull, serve, switch between them with a single model field.
New Models
| Model | Size | Speed | Key Feature |
|---|---|---|---|
| Kokoro 82M | 200 MB | ~5-7x real-time | 54 voices, 6 languages, excellent quality |
| Parler-TTS | 600 MB | Medium | Describe voice in natural language |
| XTTS v2 | 1.8 GB | Slow | Zero-shot voice cloning from 6s audio |
| Bark | 1.5 GB | Slow | 130 presets, 13 languages |
| Bark Small | 600 MB | Slow | Lighter Bark |
| Soprano 80M | 374 MB | Real-time | Streaming, CPU-friendly |
Auto-install dependencies on pull
narro models pull kokoro-82m # auto: pip install kokoro soundfile misaki[en]
# warns: sudo apt install espeak-ngEach model declares its pip_extras and system_packages. narro models pull installs pip packages automatically and warns about missing system packages.
Other improvements
- Instant CLI startup: deferred heavy imports (torch/transformers),
narro --helpin <100ms - bark-small gets distinct model_id: no longer collides with bark
- Voice list display: shows count instead of dumping 130 names
- Optional dependency groups in pyproject.toml:
[kokoro],[parler],[xtts],[all]
Verified Kokoro performance
af_heart: 5.6s audio in 2.2s (2.5x real-time)
am_adam: ~2s audio in 0.5s (~5x real-time)
bm_george: ~2s audio in 0.4s (~7x real-time)