sherpa-onnx TTS running entirely in your browser via WebAssembly
Fast, lightweight English TTS. fp16 model (~40 MB). Great for quick testing.
Fast · EnglishOlder Nano version. fp16 model (~40 MB). For comparison with v0.2.
Fast · EnglishLarger/better quality than Nano. fp16 model (~60 MB). 8 speakers.
English · 8 speakers9 languages, 53 speakers. int8 model (~126 MB). Includes Japanese, Chinese, Korean, and more.
Multi-Lang · 53 speakersBug: silent audio (NaN) — upstream issue #2236
Newer version, 9 languages, 103 speakers. int8 model (~130 MB).
Multi-Lang · 103 speakersBug: may have same NaN issue as v1.0 int8
Non-quantized v1.0, 9 languages, 53 speakers. fp32 model (~310 MB).
Multi-Lang · 53 speakersfp32 — may work around int8 NaN bug
Non-quantized v1.1, 9 languages, 103 speakers. fp32 model (~310 MB).
Multi-Lang · 103 speakersfp32 — may work around int8 NaN bug
English-only Kokoro. fp32 model (~330 MB). 11 speakers.
English · 11 speakersEnglish-only Kokoro. int8 model (~90 MB). 11 speakers.
English · 11 speakersMay have NaN issue (int8)
English Matcha TTS. 22kHz with vocos vocoder. ~125 MB.
English · 22kHzChinese Matcha TTS. 22kHz with vocos vocoder. ~125 MB.
Chinese · 22kHzChinese-English bilingual Matcha TTS. 16kHz with vocos vocoder. ~130 MB.
ZH-EN · 16kHzFarsi-English Matcha TTS. 22kHz, female voice. ~125 MB.
FA-EN · 22kHzFarsi-English Matcha TTS. 22kHz, male voice. ~125 MB.
FA-EN · 22kHzDistilled ZipVoice, Chinese-English. int8 model + vocos vocoder. ~160 MB.
ZH-EN · 24kHzNot implemented: ZipVoice generate() not yet supported in WASM build
Distilled ZipVoice, Chinese-English. fp32 model + vocos vocoder. ~510 MB.
ZH-EN · 24kHzNot implemented: ZipVoice generate() not yet supported in WASM build
Compact Pocket TTS. int8 model (~94 MB). Novel 5-component architecture.
Compact · int8Not implemented: Pocket TTS generate() not yet supported in WASM build
Full-precision Pocket TTS. fp32 model (~160 MB). Novel 5-component architecture.
Full precision · fp32Not implemented: Pocket TTS generate() not yet supported in WASM build
English multi-speaker VITS. 904 speakers. fp32 / int8 precision selectable.
English · 904 speakersChinese (Mandarin) VITS. Single speaker. fp32 / int8 precision selectable.
Chinese · 1 speakerGerman emotional VITS. Single speaker. fp32 / int8 precision selectable.
German · 1 speakerAR (Arabic) VITS. 1 speaker. fp32 / int8 selectable.
AR (Arabic) · 1 speakerCA (Catalan) VITS. 1 speaker. fp32 / int8 selectable.
CA (Catalan) · 1 speakerCS (Czech) VITS. 1 speaker. fp32 / int8 selectable.
CS (Czech) · 1 speakerCY (Welsh) VITS. 1 speaker. fp32 / int8 selectable.
CY (Welsh) · 1 speakerDA (Danish) VITS. 1 speaker. fp32 / int8 selectable.
DA (Danish) · 1 speakerEL (Greek) VITS. 1 speaker. fp32 / int8 selectable.
EL (Greek) · 1 speakerEN (GB) VITS. 1 speaker. fp32 / int8 selectable.
EN (GB) · 1 speakerES (Spain) VITS. 1 speaker. fp32 / int8 selectable.
ES (Spain) · 1 speakerES (Argentina) VITS. 1 speaker. fp32 / int8 selectable.
ES (Argentina) · 1 speakerES (Mexico) VITS. 1 speaker. fp32 / int8 selectable.
ES (Mexico) · 1 speakerFA (Persian) VITS. 1 speaker. fp32 / int8 selectable.
FA (Persian) · 1 speakerFA-EN (Bilingual) VITS. 1 speaker. fp32 / int8 selectable.
FA-EN (Bilingual) · 1 speakerFI (Finnish) VITS. 1 speaker. fp32 / int8 selectable.
FI (Finnish) · 1 speakerFR (French) VITS. 1 speaker. fp32 / int8 selectable.
FR (French) · 1 speakerHI (Hindi) VITS. 1 speaker. fp32 / int8 selectable.
HI (Hindi) · 1 speakerHU (Hungarian) VITS. 1 speaker. fp32 / int8 selectable.
HU (Hungarian) · 1 speakerID (Indonesian) VITS. 1 speaker. fp32 / int8 selectable.
ID (Indonesian) · 1 speakerIS (Icelandic) VITS. 1 speaker. fp32 / int8 selectable.
IS (Icelandic) · 1 speakerIT (Italian) VITS. 1 speaker. fp32 / int8 selectable.
IT (Italian) · 1 speakerKA (Georgian) VITS. 1 speaker. fp32 / int8 selectable.
KA (Georgian) · 1 speakerKK (Kazakh) VITS. 2 speakers. fp32 / int8 selectable.
KK (Kazakh) · 2 speakersLB (Luxembourgish) VITS. 1 speaker. fp32 / int8 selectable.
LB (Luxembourgish) · 1 speakerLV (Latvian) VITS. 1 speaker. fp32 / int8 selectable.
LV (Latvian) · 1 speakerML (Malayalam) VITS. 1 speaker. fp32 / int8 selectable.
ML (Malayalam) · 1 speakerNE (Nepali) VITS. 1 speaker. fp32 / int8 selectable.
NE (Nepali) · 1 speakerNL (Netherlands) VITS. 1 speaker. fp32 / int8 selectable.
NL (Netherlands) · 1 speakerNL (Belgium) VITS. 1 speaker. fp32 / int8 selectable.
NL (Belgium) · 1 speakerNO (Norwegian) VITS. 1 speaker. fp32 / int8 selectable.
NO (Norwegian) · 1 speakerPL (Polish) VITS. 1 speaker. fp32 / int8 selectable.
PL (Polish) · 1 speakerPT (Portugal) VITS. 1 speaker. fp32 / int8 selectable.
PT (Portugal) · 1 speakerPT (Brazil) VITS. 1 speaker. fp32 / int8 selectable.
PT (Brazil) · 1 speakerRO (Romanian) VITS. 1 speaker. fp32 / int8 selectable.
RO (Romanian) · 1 speakerRU (Russian) VITS. 1 speaker. fp32 / int8 selectable.
RU (Russian) · 1 speakerSK (Slovak) VITS. 1 speaker. fp32 / int8 selectable.
SK (Slovak) · 1 speakerSL (Slovenian) VITS. 1 speaker. fp32 / int8 selectable.
SL (Slovenian) · 1 speakerSR (Serbian) VITS. 1 speaker. fp32 / int8 selectable.
SR (Serbian) · 1 speakerSV (Swedish) VITS. 1 speaker. fp32 / int8 selectable.
SV (Swedish) · 1 speakerSW (Swahili) VITS. 1 speaker. fp32 / int8 selectable.
SW (Swahili) · 1 speakerTR (Turkish) VITS. 1 speaker. fp32 / int8 selectable.
TR (Turkish) · 1 speakerUK (Ukrainian) VITS. 1 speaker. fp32 / int8 selectable.
UK (Ukrainian) · 1 speakerVI (Vietnamese) VITS. 1 speaker. fp32 / int8 selectable.
VI (Vietnamese) · 1 speakerDutch VITS. 1 speaker. ~25 MB per variant. fp32 only.
Dutch · 1 speakerCatalan VITS. 1 speaker. ~25 MB per variant.
Catalan · 1 speakerCatalan VITS. 1 speaker. ~25 MB per variant.
Catalan · 1 speakerGerman VITS. 1 speaker. ~25 MB per variant.
German · 1 speakerSpanish VITS. 1 speaker. ~25 MB per variant.
Spanish · 1 speakerItalian VITS. 1 speaker. ~25 MB per variant.
Italian · 1 speakerKazakh VITS. 1 speaker. ~25 MB per variant.
Kazakh · 1 speakerKazakh VITS. 1 speaker. ~25 MB per variant.
Kazakh · 1 speakerDutch VITS. 1 speaker. ~25 MB per variant.
Dutch · 1 speakerUkrainian VITS. 1 speaker. ~25 MB per variant.
Ukrainian · 1 speakerNepali multi-speaker VITS. ~32 MB per variant.
Nepali · multi-speakerVietnamese multi-speaker VITS. ~32 MB per variant.
Vietnamese · multi-speakerFrench VITS. 1 speaker. ~25 MB per variant.
French · 1 speakerArabic VITS. 1 speaker. ~64 MB per variant.
Arabic · 1 speakerCzech VITS. 1 speaker. ~64 MB per variant.
Czech · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerFinnish VITS. 1 speaker. ~64 MB per variant.
Finnish · 1 speakerFrench VITS. 1 speaker. ~64 MB per variant.
French · 1 speakerPortuguese BR VITS. 1 speaker. ~64 MB per variant.
Portuguese BR · 1 speakerVietnamese VITS. 1 speaker. ~64 MB per variant.
Vietnamese · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerSpanish VITS. 1 speaker. ~64 MB per variant.
Spanish · 1 speakerSpanish VITS. 1 speaker. ~64 MB per variant.
Spanish · 1 speakerPersian VITS. 1 speaker. ~64 MB per variant.
Persian · 1 speakerPersian VITS. 1 speaker. ~64 MB per variant.
Persian · 1 speakerPersian VITS. 1 speaker. ~64 MB per variant.
Persian · 1 speakerPersian VITS. 1 speaker. ~64 MB per variant.
Persian · 1 speakerFrench VITS. 1 speaker. ~64 MB per variant.
French · 1 speakerFrench VITS. 1 speaker. ~64 MB per variant.
French · 1 speakerFrench VITS. 1 speaker. ~64 MB per variant.
French · 1 speakerFrench VITS. 1 speaker. ~64 MB per variant.
French · 1 speakerHindi VITS. 1 speaker. ~64 MB per variant.
Hindi · 1 speakerHindi VITS. 1 speaker. ~64 MB per variant.
Hindi · 1 speakerHungarian VITS. 1 speaker. ~64 MB per variant.
Hungarian · 1 speakerHungarian VITS. 1 speaker. ~64 MB per variant.
Hungarian · 1 speakerIcelandic VITS. 1 speaker. ~64 MB per variant.
Icelandic · 1 speakerIcelandic VITS. 1 speaker. ~64 MB per variant.
Icelandic · 1 speakerIcelandic VITS. 1 speaker. ~64 MB per variant.
Icelandic · 1 speakerMalayalam VITS. 1 speaker. ~64 MB per variant.
Malayalam · 1 speakerDutch VITS. 1 speaker. ~64 MB per variant.
Dutch · 1 speakerDutch VITS. 1 speaker. ~64 MB per variant.
Dutch · 1 speakerPolish VITS. 1 speaker. ~64 MB per variant.
Polish · 1 speakerPolish VITS. 1 speaker. ~64 MB per variant.
Polish · 1 speakerPolish VITS. 1 speaker. ~64 MB per variant.
Polish · 1 speakerPolish VITS. 1 speaker. ~64 MB per variant.
Polish · 1 speakerPolish VITS. 1 speaker. ~64 MB per variant.
Polish · 1 speakerPolish VITS. 1 speaker. ~64 MB per variant.
Polish · 1 speakerPortuguese BR VITS. 1 speaker. ~64 MB per variant.
Portuguese BR · 1 speakerPortuguese BR VITS. 1 speaker. ~64 MB per variant.
Portuguese BR · 1 speakerRussian VITS. 1 speaker. ~64 MB per variant.
Russian · 1 speakerRussian VITS. 1 speaker. ~64 MB per variant.
Russian · 1 speakerRussian VITS. 1 speaker. ~64 MB per variant.
Russian · 1 speakerSwedish VITS. 1 speaker. ~64 MB per variant.
Swedish · 1 speakerTurkish VITS. 1 speaker. ~64 MB per variant.
Turkish · 1 speakerTurkish VITS. 1 speaker. ~64 MB per variant.
Turkish · 1 speakerWelsh multi-speaker VITS. ~77 MB per variant.
Welsh · multi-speakerEnglish multi-speaker VITS. ~77 MB per variant.
English · multi-speakerEnglish multi-speaker VITS. ~77 MB per variant.
English · multi-speakerEnglish multi-speaker VITS. ~77 MB per variant.
English · multi-speakerEnglish multi-speaker VITS. ~77 MB per variant.
English · multi-speakerEnglish multi-speaker VITS. ~77 MB per variant.
English · multi-speakerEnglish multi-speaker VITS. ~77 MB per variant.
English · multi-speakerEnglish multi-speaker VITS. ~77 MB per variant.
English · multi-speakerSpanish multi-speaker VITS. ~77 MB per variant.
Spanish · multi-speakerFrench multi-speaker VITS. ~77 MB per variant.
French · multi-speakerNepali multi-speaker VITS. ~77 MB per variant.
Nepali · multi-speakerArabic VITS. 1 speaker. ~64 MB per variant.
Arabic · 1 speakerArabic VITS. 1 speaker. ~64 MB per variant.
Arabic · 1 speakerArabic VITS. 1 speaker. ~64 MB per variant.
Arabic · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerGerman VITS. 1 speaker. ~64 MB per variant.
German · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerEnglish VITS. 1 speaker. ~64 MB per variant.
English · 1 speakerSpanish VITS. 1 speaker. ~64 MB per variant.
Spanish · 1 speakerFrench VITS. 1 speaker. ~64 MB per variant.
French · 1 speakerItalian VITS. 1 speaker. ~64 MB per variant.
Italian · 1 speakerItalian VITS. 1 speaker. ~64 MB per variant.
Italian · 1 speakerDutch VITS. 1 speaker. ~64 MB per variant.
Dutch · 1 speakerDutch VITS. 1 speaker. ~64 MB per variant.
Dutch · 1 speakerPortuguese BR VITS. 1 speaker. ~64 MB per variant.
Portuguese BR · 1 speakerPortuguese BR VITS. 1 speaker. ~64 MB per variant.
Portuguese BR · 1 speakerPortuguese VITS. 1 speaker. ~64 MB per variant.
Portuguese · 1 speakerPortuguese VITS. 1 speaker. ~64 MB per variant.
Portuguese · 1 speakerBulgarian VITS. Character-level tokenization. Single speaker.
Bulgarian · 1 speakerBengali VITS. Character-level tokenization. Single speaker.
Bengali · 1 speakerCzech VITS. Character-level tokenization. Single speaker.
Czech · 1 speakerDanish VITS. Character-level tokenization. Single speaker.
Danish · 1 speakerGerman VITS. Character-level tokenization. Single speaker.
German · 1 speakerEnglish VITS (LJSpeech). Character-level tokenization. Single speaker.
English · 1 speakerEnglish VITS (LJSpeech Neon variant). Character-level tokenization. Single speaker.
English · 1 speakerEnglish VITS multi-speaker (VCTK). 109 speakers with espeak-ng.
English · 109 speakersSpanish VITS. Character-level tokenization. Single speaker.
Spanish · 1 speakerEstonian VITS. Character-level tokenization. Single speaker.
Estonian · 1 speakerFinnish VITS. Character-level tokenization. Single speaker.
Finnish · 1 speakerFrench VITS. Character-level tokenization. Single speaker.
French · 1 speakerIrish VITS. Character-level tokenization. Single speaker.
Irish · 1 speakerCroatian VITS. Character-level tokenization. Single speaker.
Croatian · 1 speakerLithuanian VITS. Character-level tokenization. Single speaker.
Lithuanian · 1 speakerLatvian VITS. Character-level tokenization. Single speaker.
Latvian · 1 speakerMaltese VITS. Character-level tokenization. Single speaker.
Maltese · 1 speakerDutch VITS. Character-level tokenization. Single speaker.
Dutch · 1 speakerPolish VITS. Character-level tokenization. Single speaker.
Polish · 1 speakerPortuguese VITS. Character-level tokenization. Single speaker.
Portuguese · 1 speakerRomanian VITS. Character-level tokenization. Single speaker.
Romanian · 1 speakerSlovak VITS. Character-level tokenization. Single speaker.
Slovak · 1 speakerSlovenian VITS. Character-level tokenization. Single speaker.
Slovenian · 1 speakerSwedish VITS. Character-level tokenization. Single speaker.
Swedish · 1 speakerUkrainian VITS. Character-level tokenization. Single speaker.
Ukrainian · 1 speakerAfrikaans VITS with espeak-ng. Single speaker.
Afrikaans · 1 speakerBengali VITS with espeak-ng. Single speaker.
Bengali · 1 speakerGreek VITS with espeak-ng. Single speaker.
Greek · 1 speakerSpanish VITS with espeak-ng. Single speaker.
Spanish · 1 speakerPersian VITS with espeak-ng. Single speaker.
Persian · 1 speakerFinnish VITS with espeak-ng. Single speaker.
Finnish · 1 speakerGujarati VITS with espeak-ng. Single speaker.
Gujarati · 1 speakerHungarian VITS with espeak-ng. Single speaker.
Hungarian · 1 speakerKorean VITS with espeak-ng. Single speaker.
Korean · 1 speakerNepali VITS with espeak-ng. Single speaker.
Nepali · 1 speakerPolish VITS with espeak-ng. Single speaker.
Polish · 1 speakerTswana VITS with espeak-ng. Single speaker.
Tswana · 1 speakerVietnamese VITS with espeak-ng. Single speaker.
Vietnamese · 1 speakerGerman MMS VITS. Grapheme-based tokenization. Single speaker.
German · 1 speakerEnglish MMS VITS. Grapheme-based tokenization. Single speaker.
English · 1 speakerFrench MMS VITS. Grapheme-based tokenization. Single speaker.
French · 1 speakerMin Nan Chinese MMS VITS. Grapheme-based tokenization. Single speaker.
Min Nan · 1 speakerRussian MMS VITS. Grapheme-based tokenization. Single speaker.
Russian · 1 speakerSpanish MMS VITS. Grapheme-based tokenization. Single speaker.
Spanish · 1 speakerThai MMS VITS. Grapheme-based tokenization. Single speaker.
Thai · 1 speakerUkrainian MMS VITS. Grapheme-based tokenization. Single speaker.
Ukrainian · 1 speakerEnglish MeloTTS VITS with lexicon. Single speaker. ~163 MB ONNX.
English · 1 speakerBilingual ZH-EN MeloTTS VITS with lexicon + jieba dict + FSTs. ~163 MB ONNX.
ZH-EN · 1 speakerCantonese VITS with lexicon + rule FST. ~109 MB ONNX.
Cantonese · 1 speakerEnglish VITS with espeak-ng. Only ~30 MB ONNX — ultra-fast, smallest English model.
English · 1 speakerEnglish VITS with espeak-ng. ~70 MB ONNX — better quality than low variant.
English · 1 speakerChinese VITS with lexicon + FSTs. 174 speakers. Only ~29 MB ONNX (fastest Chinese).
Chinese · 174 speakersChinese VITS with lexicon + jieba dict + FSTs. 2 speakers. ~116 MB ONNX.
Chinese · 2 speakers
# Pack models before use:
python3 pack.py kitten # Kitten Nano EN v0.2
python3 pack.py kitten-mini # Kitten Mini EN (8 speakers)
python3 pack.py kokoro # Kokoro v1.0 int8
python3 pack.py kokoro-fp32 # Kokoro v1.1 fp32
python3 pack.py matcha-en-ljspeech # Matcha EN + vocos vocoder
python3 pack.py matcha-zh-baker # Matcha ZH + vocos vocoder
python3 pack.py zipvoice-distill-int8 # ZipVoice int8 + vocos
python3 pack.py zipvoice-distill-fp32 # ZipVoice fp32 + vocos
python3 pack.py pocket-int8 # Pocket TTS int8
python3 pack.py pocket # Pocket TTS fp32
python3 pack.py coqui-en-ljspeech # Coqui EN (LJSpeech)
python3 pack.py mimic3-ko-kss-low # Mimic3 Korean
python3 pack.py mms-eng # MMS English
python3 pack.py melo-tts-en # MeloTTS English
python3 pack.py melo-tts-zh-en # MeloTTS Chinese-English
python3 pack.py cantonese # Cantonese
python3 pack.py icefall-en-ljspeech-low # Icefall EN LJSpeech Low (30MB)
python3 pack.py icefall-en-ljspeech-medium # Icefall EN LJSpeech Medium (70MB)
python3 pack.py icefall-zh-aishell3 # Icefall AISHELL3 (174 speakers)
python3 pack.py zh-ll # Chinese zh-ll (2 speakers)
python3 pack.py piper-en-amy-low # Piper EN Amy Low
python3 pack.py piper-de-thorsten-medium # Piper DE Thorsten Medium
python3 pack.py piper-en-libritts_r-medium # Piper EN LibriTTS-R Medium (fp32 + int8)
python3 pack.py all # all models, all variants
python3 -m http.server 8080