Languages
Multilingual synthesis and the language selector.
Multilingual support is engine-driven — the language dropdown only appears for engines that use one, and it behaves differently depending on the engine.
| Engine | Languages | How the selector works |
|---|---|---|
| Chatterbox V3 | 23 | A synthesis parameter (language_id) passed to the model |
| Kokoro-82M | 4 | Filters the voice list to that language's voice group |
| VoxCPM2 | 30 | Multilingual synthesis |
| Qwen3-TTS | 10 + Auto | A synthesis parameter |
| VibeVoice / OmniVoice | — | No language code |
| Kitten TTS Mini | English | — |
So for Chatterbox and Qwen the choice is a knob sent to the model, while for Kokoro it narrows which built-in voices you see (its voices are grouped by language).
Native scripts & RTL
Native-script content — اردو, हिन्दी, 中文 and more — is supported throughout. Text surfaces (the Text-to-Voice box, podcast segments, transcripts, and voice transcripts) detect direction across the whole string and lay out right-to-left when appropriate, so a mixed Urdu-and-English sentence renders correctly rather than flipping on the first Latin word.
Kokoro extras
Kokoro's non-English voice groups need a matching phonemizer extra. If you hit
Kokoro failed to init for lang_code='j', install it:
pip install misaki[ja] # Japanese
pip install misaki[zh] # MandarinKokoro also needs espeak-ng on your PATH for phonemization — see
Installation.