Text-to-Speech Models Overview
react-native-sherpa-onnx supports multiple TTS model architectures, from fast VITS models to high-quality voice cloning with Zipvoice. This guide helps you choose the right model for your application.Model Comparison
VITS Models
Fast, high-quality TTS from Piper, Coqui, MeloTTS, and MMS
Matcha Models
High-quality acoustic model with vocoder for natural speech
Kokoro Models
Multi-speaker, multi-language TTS models
Other Models
KittenTTS, Zipvoice (voice cloning), and Pocket (flow-matching)
Quick Comparison Table
Choosing a Model
For Fast, Real-Time TTS
If you need low latency and streaming playback:- VITS (Piper) – Fastest, excellent quality, many voices
- KittenTTS – Lightweight, fast, multi-speaker
- Kokoro – Fast with multi-language support
- Pocket – Flow-matching with streaming and voice cloning
For Voice Cloning
If you need to clone voices from reference audio:- Zipvoice – High-quality zero-shot voice cloning (encoder + decoder + vocoder)
- Pocket – Flow-matching TTS with reference audio support
For High Quality
If naturalness is your priority:- Matcha – High-quality acoustic model + vocoder
- Zipvoice – Excellent quality with voice cloning
- VITS – Great balance of speed and quality
By Language Support
English:- VITS (Piper) – Many voices
- Matcha
- Kokoro
- KittenTTS
- Kokoro (multi-language)
- MeloTTS (subset of VITS)
- Zipvoice (Chinese + English)
- Zipvoice (excellent for Chinese)
- VITS variants
By Device Constraints
Low-end devices / limited RAM:- VITS (small, fast)
- KittenTTS (lightweight)
- Use
int8quantized variants
- Matcha (high quality)
- Zipvoice (voice cloning, but needs memory)
- Pocket (flow-matching)
Model Detection
The SDK automatically detects TTS model types based on file layouts:Performance Tips
Use Streaming TTS
For low latency, use streaming generation:Optimize Thread Count
Use Hardware Acceleration
Tune Model Parameters
Adjust model-specific parameters for better quality or speed:Streaming vs Batch Generation
Batch Generation
Generate the entire audio buffer at once:Streaming Generation
Receive incremental chunks for low-latency playback:- Interactive voice applications
- Long text generation
- Low time-to-first-byte
Download Links
All TTS model downloads are available from:TTS Models Repository
Download VITS, Kokoro, KittenTTS, and Pocket models
Voice Cloning
For applications that need to synthesize speech in a custom voice, use models that support reference audio:Zipvoice (Full Voice Cloning)
Best quality, requires full model (encoder + decoder + vocoder):Pocket (Flow-Matching with Reference Audio)
Common Use Cases
Voice Assistants
Use VITS or KittenTTS for fast, interactive responses
Audiobook Narration
Use Matcha or Zipvoice for high-quality, natural speech
Real-Time Translation
Use streaming TTS (VITS, Kokoro) for low latency
Custom Voice Apps
Use Zipvoice or Pocket for voice cloning
E-Learning
Use VITS (Piper) for clear, consistent narration
Accessibility
Use fast streaming TTS for screen readers
Multi-Speaker Models
Many TTS models support multiple speakers (voices). Use thesid (speaker ID) parameter:
Sample Rate Handling
Different models output different sample rates (typically 16000, 22050, or 24000 Hz). Always check the model’s sample rate:Next Steps
TTS API Reference
Detailed API documentation
Streaming TTS
Low-latency streaming generation
Model Setup
How to download and bundle models
Execution Providers
Hardware acceleration options