Skip to content

v0.8.0: Multi-model TTS with Kokoro, Bark, Parler, XTTS

Choose a tag to compare

@queelius queelius released this 13 Apr 04:17
· 1020 commits to main since this release

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-ng

Each 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 --help in <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)