/* * voice-catalog.js — every voice the operator can audition and choose, * per language. Generated from the sherpa-onnx tts-models release plus the * local engine's speaker list; ships with the app so the picker works offline * (choosing a built-in voice still downloads it once, ~60-200MB). * * 'builtin' = an offline sherpa/Piper bundle. Downloaded on first use. * 'local' = a speaker of the on-device premium engine. No download, instant. * Cloud voices are not listed: their ids come from the provider's own library * and are typed in on the Premium voices card. */ (function (root, factory) { if (typeof module === 'object' && module.exports) module.exports = factory(); else root.VoiceCatalog = factory(); }(typeof self !== 'undefined' ? self : this, function () { 'use strict'; const CATALOG = { "eng_Latn": [ { "engine": "kokoro", "speaker": "am_michael", "label": "Michael · male (Kokoro)", "gender": "male" }, { "engine": "kokoro", "speaker": "af_heart", "label": "Heart · female (Kokoro)", "gender": "female" }, { "engine": "builtin", "bundle": "vits-piper-en_US-ryan-high", "model": "en_US-ryan-high.onnx", "label": "ryan · high (en_US)", "gender": "male", "hz": 143.3 }, { "engine": "builtin", "bundle": "vits-piper-en_US-miro-high", "model": "en_US-miro-high.onnx", "label": "miro · high (en_US)", "gender": "male", "hz": 94.8 }, { "engine": "builtin", "bundle": "vits-piper-en_US-kristin-medium", "model": "en_US-kristin-medium.onnx", "label": "kristin · medium (en_US)", "gender": "male", "hz": 141.8 }, { "engine": "builtin", "bundle": "vits-piper-en_US-norman-medium", "model": "en_US-norman-medium.onnx", "label": "norman · medium (en_US)", "gender": "male", "hz": 98.4 }, { "engine": "builtin", "bundle": "vits-piper-en_US-reza_ibrahim-medium", "model": "en_US-reza_ibrahim-medium.onnx", "label": "reza_ibrahim · medium (en_US)", "gender": "male", "hz": 110.6 }, { "engine": "builtin", "bundle": "vits-piper-en_US-l2arctic-medium", "model": "en_US-l2arctic-medium.onnx", "label": "l2arctic · medium (en_US)", "gender": "male", "hz": 144.6 }, { "engine": "builtin", "bundle": "vits-piper-en_US-kusal-medium", "model": "en_US-kusal-medium.onnx", "label": "kusal · medium (en_US)", "gender": "male", "hz": 103.4 }, { "engine": "builtin", "bundle": "vits-piper-en_US-john-medium", "model": "en_US-john-medium.onnx", "label": "john · medium (en_US)", "gender": "male", "hz": 110.3 }, { "engine": "builtin", "bundle": "vits-piper-en_US-joe-medium", "model": "en_US-joe-medium.onnx", "label": "joe · medium (en_US)", "gender": "male", "hz": 96.9 }, { "engine": "builtin", "bundle": "vits-piper-en_US-hfc_male-medium", "model": "en_US-hfc_male-medium.onnx", "label": "hfc_male · medium (en_US)", "gender": "male", "hz": 122.7 }, { "engine": "builtin", "bundle": "vits-piper-en_US-sam-medium", "model": "en_US-sam-medium.onnx", "label": "sam · medium (en_US)", "gender": "male", "hz": 132.4 }, { "engine": "builtin", "bundle": "vits-piper-en_US-ryan-medium", "model": "en_US-ryan-medium.onnx", "label": "ryan · medium (en_US)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_US-lessac-medium", "model": "en_US-lessac-medium.onnx", "label": "lessac · medium (en_US)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_US-bryce-medium", "model": "en_US-bryce-medium.onnx", "label": "bryce · medium (en_US)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_US-arctic-medium", "model": "en_US-arctic-medium.onnx", "label": "arctic · medium (en_US)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_US-amy-medium", "model": "en_US-amy-medium.onnx", "label": "amy · medium (en_US)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-icefall-en_US-ljspeech-medium", "model": "model.onnx", "label": "vits-icefall-en_US-ljspeech-medium", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_US-amy-low", "model": "en_US-amy-low.onnx", "label": "amy · low (en_US)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_US-kathleen-low", "model": "en_US-kathleen-low.onnx", "label": "kathleen · low (en_US)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_US-danny-low", "model": "en_US-danny-low.onnx", "label": "danny · low (en_US)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_US-lessac-low", "model": "en_US-lessac-low.onnx", "label": "lessac · low (en_US)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_US-ryan-low", "model": "en_US-ryan-low.onnx", "label": "ryan · low (en_US)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-icefall-en_US-ljspeech-low", "model": "model.onnx", "label": "vits-icefall-en_US-ljspeech-low", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_US-glados", "model": "en_US-glados.onnx", "label": "glados (en_US)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_US-glados-high", "model": "en_US-glados-high.onnx", "label": "glados · high (en_US) · borderline", "gender": "ambiguous", "hz": 168.5 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-miro-high", "model": "en_GB-miro-high.onnx", "label": "miro · high (en_GB)", "gender": "male", "hz": 101 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-northern_english_male-medium", "model": "en_GB-northern_english_male-medium.onnx", "label": "northern_english_male · medium (en_GB)", "gender": "male", "hz": 94.3 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-alan-medium", "model": "en_GB-alan-medium.onnx", "label": "alan · medium (en_GB)", "gender": "male", "hz": 104 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-southern_english_male-medium", "model": "en_GB-southern_english_male-medium.onnx", "label": "southern_english_male · medium (en_GB)", "gender": "male", "hz": 90.3 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-jenny_dioco-medium", "model": "en_GB-jenny_dioco-medium.onnx", "label": "jenny_dioco · medium (en_GB)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-cori-medium", "model": "en_GB-cori-medium.onnx", "label": "cori · medium (en_GB)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-aru-medium", "model": "en_GB-aru-medium.onnx", "label": "aru · medium (en_GB)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-alba-medium", "model": "en_GB-alba-medium.onnx", "label": "alba · medium (en_GB)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-semaine-medium", "model": "en_GB-semaine-medium.onnx", "label": "semaine · medium (en_GB)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-vctk-medium", "model": "en_GB-vctk-medium.onnx", "label": "vctk · medium (en_GB)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-alan-low", "model": "en_GB-alan-low.onnx", "label": "alan · low (en_GB)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-en_GB-sweetbbak-amy", "model": "en_GB-sweetbbak-amy.onnx", "label": "sweetbbak · amy (en_GB)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-coqui-en-ljspeech", "model": "model.onnx", "label": "ljspeech (en)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-coqui-en-ljspeech-neon", "model": "model.onnx", "label": "ljspeech · neon (en)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-coqui-en-vctk", "model": "model.onnx", "label": "vctk (en)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "kitten-nano-en-v0_8-fp32", "model": "model.onnx", "label": "kitten-nano-en-v0_8-fp32", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "kitten-micro-en-v0_8", "model": "model.onnx", "label": "kitten-micro-en-v0_8", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "kitten-mini-en-v0_8", "model": "model.onnx", "label": "kitten-mini-en-v0_8", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-inflect-en-nano-v2", "model": "model.onnx", "label": "vits-inflect-en-nano-v2", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-inflect-en-micro-v2", "model": "model.onnx", "label": "vits-inflect-en-micro-v2", "gender": "unknown", "hz": 0 } ], "spa_Latn": [ { "engine": "kokoro", "speaker": "em_alex", "label": "Alex · male (Kokoro)", "gender": "male" }, { "engine": "kokoro", "speaker": "em_santa", "label": "Santa · male (Kokoro)", "gender": "male" }, { "engine": "kokoro", "speaker": "ef_dora", "label": "Dora · female (Kokoro)", "gender": "female" }, { "engine": "builtin", "bundle": "vits-piper-es_MX-ald-medium", "model": "es_MX-ald-medium.onnx", "label": "ald · medium (es_MX) · borderline", "gender": "ambiguous", "hz": 152.3 }, { "engine": "builtin", "bundle": "vits-piper-es_ES-miro-high", "model": "es_ES-miro-high.onnx", "label": "miro · high (es_ES)", "gender": "male", "hz": 94.7 }, { "engine": "builtin", "bundle": "vits-piper-es_ES-sharvard-medium", "model": "es_ES-sharvard-medium.onnx", "label": "sharvard · medium (es_ES)", "gender": "male", "hz": 116.9 }, { "engine": "builtin", "bundle": "vits-piper-es_ES-davefx-medium", "model": "es_ES-davefx-medium.onnx", "label": "davefx · medium (es_ES)", "gender": "male", "hz": 121.7 }, { "engine": "builtin", "bundle": "vits-piper-es_ES-carlfm-x_low", "model": "es_ES-carlfm-x_low.onnx", "label": "carlfm · x_low (es_ES)", "gender": "male", "hz": 117.1 }, { "engine": "local", "speaker": "aiden", "label": "Aiden · male · borderline", "gender": "ambiguous", "hz": 153, "instant": true } ], "por_Latn": [ { "engine": "kokoro", "speaker": "pm_alex", "label": "Alex · male (Kokoro)", "gender": "male" }, { "engine": "kokoro", "speaker": "pm_santa", "label": "Santa · male (Kokoro)", "gender": "male" }, { "engine": "kokoro", "speaker": "pf_dora", "label": "Dora · female (Kokoro)", "gender": "female" }, { "engine": "builtin", "bundle": "vits-piper-pt_BR-miro-high", "model": "pt_BR-miro-high.onnx", "label": "miro · high (pt_BR)", "gender": "male", "hz": 97.6 }, { "engine": "builtin", "bundle": "vits-piper-pt_BR-jeff-medium", "model": "pt_BR-jeff-medium.onnx", "label": "jeff · medium (pt_BR)", "gender": "male", "hz": 142.5 }, { "engine": "builtin", "bundle": "vits-piper-pt_BR-cadu-medium", "model": "pt_BR-cadu-medium.onnx", "label": "cadu · medium (pt_BR)", "gender": "male", "hz": 128.8 }, { "engine": "builtin", "bundle": "vits-piper-pt_BR-faber-medium", "model": "pt_BR-faber-medium.onnx", "label": "faber · medium (pt_BR) · borderline", "gender": "ambiguous", "hz": 158 }, { "engine": "builtin", "bundle": "vits-piper-pt_PT-miro-high", "model": "pt_PT-miro-high.onnx", "label": "miro · high (pt_PT)", "gender": "male", "hz": 91.3 }, { "engine": "local", "speaker": "aiden", "label": "Aiden · male", "gender": "male", "hz": 139.4, "instant": true }, { "engine": "local", "speaker": "ryan", "label": "Ryan · deep male", "gender": "male", "hz": 130.2, "instant": true }, { "engine": "local", "speaker": "dylan", "label": "Dylan · male (Beijing accent)", "gender": "male", "hz": 146.7, "instant": true } ], "por_PT": [ { "engine": "kokoro", "speaker": "pm_alex", "label": "Alex · male (Kokoro)", "gender": "male" }, { "engine": "kokoro", "speaker": "pf_dora", "label": "Dora · female (Kokoro)", "gender": "female" }, { "engine": "builtin", "bundle": "vits-piper-pt_PT-miro-high", "model": "pt_PT-miro-high.onnx", "label": "miro · high (pt_PT)", "gender": "male", "hz": 91.3 }, { "engine": "builtin", "bundle": "vits-piper-pt_BR-miro-high", "model": "pt_BR-miro-high.onnx", "label": "miro · high (pt_BR)", "gender": "male", "hz": 98.2 }, { "engine": "builtin", "bundle": "vits-piper-pt_BR-jeff-medium", "model": "pt_BR-jeff-medium.onnx", "label": "jeff · medium (pt_BR)", "gender": "male", "hz": 133.4 }, { "engine": "builtin", "bundle": "vits-piper-pt_BR-cadu-medium", "model": "pt_BR-cadu-medium.onnx", "label": "cadu · medium (pt_BR)", "gender": "male", "hz": 125 }, { "engine": "builtin", "bundle": "vits-piper-pt_BR-faber-medium", "model": "pt_BR-faber-medium.onnx", "label": "faber · medium (pt_BR) · borderline", "gender": "ambiguous", "hz": 156.3 }, { "engine": "local", "speaker": "aiden", "label": "Aiden · male", "gender": "male", "hz": 139.4, "instant": true }, { "engine": "local", "speaker": "ryan", "label": "Ryan · deep male", "gender": "male", "hz": 130.2, "instant": true }, { "engine": "local", "speaker": "dylan", "label": "Dylan · male (Beijing accent)", "gender": "male", "hz": 146.7, "instant": true } ], "fra_Latn": [ { "engine": "kokoro", "speaker": "ff_siwis", "label": "Siwis · female (Kokoro)", "gender": "female" }, { "engine": "builtin", "bundle": "vits-piper-fr_FR-miro-high", "model": "fr_FR-miro-high.onnx", "label": "miro · high (fr_FR)", "gender": "male", "hz": 102.1 }, { "engine": "builtin", "bundle": "vits-piper-fr_FR-tom-medium", "model": "fr_FR-tom-medium.onnx", "label": "tom · medium (fr_FR)", "gender": "male", "hz": 125.5 }, { "engine": "builtin", "bundle": "vits-piper-fr_FR-tjiho-model3", "model": "fr_FR-tjiho-model3.onnx", "label": "tjiho · model3 (fr_FR)", "gender": "male", "hz": 125.5 }, { "engine": "builtin", "bundle": "vits-piper-fr_FR-tjiho-model2", "model": "fr_FR-tjiho-model2.onnx", "label": "tjiho · model2 (fr_FR)", "gender": "male", "hz": 126.4 }, { "engine": "builtin", "bundle": "vits-piper-fr_FR-tjiho-model1", "model": "fr_FR-tjiho-model1.onnx", "label": "tjiho · model1 (fr_FR)", "gender": "male", "hz": 149.2 } ], "zho_Hans": [ { "engine": "kokoro", "speaker": "zm_yunjian", "label": "Yunjian · male (Kokoro)", "gender": "male" }, { "engine": "kokoro", "speaker": "zf_xiaobei", "label": "Xiaobei · female (Kokoro)", "gender": "female" }, { "engine": "builtin", "bundle": "sherpa-onnx-vits-zh-ll", "model": "model.onnx", "label": "sherpa-onnx-vits-zh-ll", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-zh-hf-fanchen-ZhiHuiLaoZhe_new", "model": "model.onnx", "label": "vits-zh-hf-fanchen-ZhiHuiLaoZhe_new", "gender": "male", "hz": 107.7 }, { "engine": "builtin", "bundle": "vits-zh-hf-fanchen-unity", "model": "model.onnx", "label": "vits-zh-hf-fanchen-unity", "gender": "male", "hz": 114.6 }, { "engine": "builtin", "bundle": "vits-zh-hf-fanchen-ZhiHuiLaoZhe", "model": "model.onnx", "label": "vits-zh-hf-fanchen-ZhiHuiLaoZhe", "gender": "male", "hz": 126.2 }, { "engine": "builtin", "bundle": "vits-zh-hf-fanchen-wnj", "model": "model.onnx", "label": "vits-zh-hf-fanchen-wnj", "gender": "male", "hz": 110.2 }, { "engine": "builtin", "bundle": "vits-piper-zh_CN-chaowen-medium", "model": "zh_CN-chaowen-medium.onnx", "label": "chaowen · medium (zh_CN) · borderline", "gender": "ambiguous", "hz": 162.2 }, { "engine": "local", "speaker": "aiden", "label": "Aiden · male · borderline", "gender": "ambiguous", "hz": 180, "instant": true }, { "engine": "local", "speaker": "ryan", "label": "Ryan · deep male", "gender": "male", "hz": 129.9, "instant": true }, { "engine": "local", "speaker": "uncle_fu", "label": "Uncle Fu · older male", "gender": "male", "hz": 138.4, "instant": true } ], "vie_Latn": [ { "engine": "builtin", "bundle": "vits-piper-vi_VN-vais1000-medium", "model": "vi_VN-vais1000-medium.onnx", "label": "vais1000 · medium (vi_VN)" } ], "arb_Arab": [ { "engine": "builtin", "bundle": "vits-piper-ar_JO-SA_miro_V2-high", "model": "ar_JO-SA_miro_V2-high.onnx", "label": "SA_miro_V2 · high (ar_JO)", "gender": "male", "hz": 91.7 }, { "engine": "builtin", "bundle": "vits-piper-ar_JO-SA_miro-high", "model": "ar_JO-SA_miro-high.onnx", "label": "SA_miro · high (ar_JO)", "gender": "male", "hz": 102.2 }, { "engine": "builtin", "bundle": "vits-piper-ar_JO-kareem-medium", "model": "ar_JO-kareem-medium.onnx", "label": "kareem · medium (ar_JO)", "gender": "male", "hz": 105.8 }, { "engine": "builtin", "bundle": "vits-piper-ar_JO-kareem-low", "model": "ar_JO-kareem-low.onnx", "label": "kareem · low (ar_JO)", "gender": "male", "hz": 108 } ], "rus_Cyrl": [ { "engine": "builtin", "bundle": "vits-piper-ru_RU-ruslan-medium", "model": "ru_RU-ruslan-medium.onnx", "label": "ruslan · medium (ru_RU)", "gender": "male", "hz": 101.4 }, { "engine": "builtin", "bundle": "vits-piper-ru_RU-denis-medium", "model": "ru_RU-denis-medium.onnx", "label": "denis · medium (ru_RU)", "gender": "male", "hz": 147.5 }, { "engine": "builtin", "bundle": "vits-piper-ru_RU-irina-medium", "model": "ru_RU-irina-medium.onnx", "label": "irina · medium (ru_RU) · borderline", "gender": "ambiguous", "hz": 168.6 } ], "ukr_Cyrl": [ { "engine": "builtin", "bundle": "vits-piper-uk_UA-lada-x_low", "model": "uk_UA-lada-x_low.onnx", "label": "lada · x_low (uk_UA)" } ], "deu_Latn": [ { "engine": "builtin", "bundle": "vits-piper-de_DE-thorsten-high", "model": "de_DE-thorsten-high.onnx", "label": "thorsten · high (de_DE)", "gender": "male", "hz": 116.4 }, { "engine": "builtin", "bundle": "vits-piper-de_DE-miro-high", "model": "de_DE-miro-high.onnx", "label": "miro · high (de_DE)", "gender": "male", "hz": 98.4 }, { "engine": "builtin", "bundle": "vits-piper-de_DE-thorsten-medium", "model": "de_DE-thorsten-medium.onnx", "label": "thorsten · medium (de_DE)", "gender": "male", "hz": 119.5 }, { "engine": "builtin", "bundle": "vits-piper-de_DE-glados-high", "model": "de_DE-glados-high.onnx", "label": "glados · high (de_DE) · borderline", "gender": "ambiguous", "hz": 154.3 }, { "engine": "builtin", "bundle": "vits-piper-de_DE-thorsten_emotional-medium", "model": "de_DE-thorsten_emotional-medium.onnx", "label": "thorsten_emotional · medium (de_DE) · borderline", "gender": "ambiguous", "hz": 155.1 }, { "engine": "builtin", "bundle": "vits-piper-de_DE-glados-medium", "model": "de_DE-glados-medium.onnx", "label": "glados · medium (de_DE) · borderline", "gender": "ambiguous", "hz": 162.7 }, { "engine": "builtin", "bundle": "vits-piper-de_DE-glados-low", "model": "de_DE-glados-low.onnx", "label": "glados · low (de_DE) · borderline", "gender": "ambiguous", "hz": 163.7 }, { "engine": "local", "speaker": "aiden", "label": "Aiden · male", "gender": "male", "hz": 144.7, "instant": true }, { "engine": "local", "speaker": "uncle_fu", "label": "Uncle Fu · older male", "gender": "male", "hz": 131.4, "instant": true }, { "engine": "local", "speaker": "dylan", "label": "Dylan · male (Beijing accent)", "gender": "male", "hz": 125.9, "instant": true } ], "pol_Latn": [ { "engine": "builtin", "bundle": "vits-piper-pl_PL-bass-high", "model": "pl_PL-bass-high.onnx", "label": "bass · high (pl_PL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-pl_PL-zenski_wg_glos-medium", "model": "pl_PL-zenski_wg_glos-medium.onnx", "label": "zenski_wg_glos · medium (pl_PL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-pl_PL-darkman-medium", "model": "pl_PL-darkman-medium.onnx", "label": "darkman · medium (pl_PL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-pl_PL-mc_speech-medium", "model": "pl_PL-mc_speech-medium.onnx", "label": "mc_speech · medium (pl_PL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-pl_PL-meski_wg_glos-medium", "model": "pl_PL-meski_wg_glos-medium.onnx", "label": "meski_wg_glos · medium (pl_PL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-pl_PL-jarvis_wg_glos-medium", "model": "pl_PL-jarvis_wg_glos-medium.onnx", "label": "jarvis_wg_glos · medium (pl_PL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-pl_PL-justyna_wg_glos-medium", "model": "pl_PL-justyna_wg_glos-medium.onnx", "label": "justyna_wg_glos · medium (pl_PL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-pl_PL-gosia-medium", "model": "pl_PL-gosia-medium.onnx", "label": "gosia · medium (pl_PL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-mimic3-pl_PL-m-ailabs_low", "model": "pl_PL-m-ailabs_low.onnx", "label": "m · ailabs_low (pl_PL)", "gender": "unknown", "hz": 0 } ], "ron_Latn": [ { "engine": "builtin", "bundle": "vits-piper-ro_RO-mihai-medium", "model": "ro_RO-mihai-medium.onnx", "label": "mihai · medium (ro_RO)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-coqui-ro-cv", "model": "model.onnx", "label": "cv (ro)", "gender": "unknown", "hz": 0 } ], "swh_Latn": [ { "engine": "builtin", "bundle": "vits-piper-sw_CD-lanfrica-medium", "model": "sw_CD-lanfrica-medium.onnx", "label": "lanfrica · medium (sw_CD)", "gender": "unknown", "hz": 0 } ], "pes_Arab": [ { "engine": "builtin", "bundle": "vits-piper-fa_IR-reza_ibrahim-medium", "model": "fa_IR-reza_ibrahim-medium.onnx", "label": "reza_ibrahim · medium (fa_IR)", "gender": "male", "hz": 93.2 }, { "engine": "builtin", "bundle": "vits-piper-fa_IR-gyro-medium", "model": "fa_IR-gyro-medium.onnx", "label": "gyro · medium (fa_IR)", "gender": "male", "hz": 101 }, { "engine": "builtin", "bundle": "vits-piper-fa_IR-ganji_adabi-medium", "model": "fa_IR-ganji_adabi-medium.onnx", "label": "ganji_adabi · medium (fa_IR)", "gender": "male", "hz": 103.6 }, { "engine": "builtin", "bundle": "vits-piper-fa_IR-ganji-medium", "model": "fa_IR-ganji-medium.onnx", "label": "ganji · medium (fa_IR)", "gender": "male", "hz": 95.7 }, { "engine": "builtin", "bundle": "vits-piper-fa_IR-amir-medium", "model": "fa_IR-amir-medium.onnx", "label": "amir · medium (fa_IR)", "gender": "male", "hz": 139.7 }, { "engine": "builtin", "bundle": "vits-piper-fa_en-rezahedayatfar-ibrahimwalk-medium", "model": "fa_en-rezahedayatfar-ibrahimwalk-medium.onnx", "label": "rezahedayatfar-ibrahimwalk · medium (fa_en)", "gender": "male", "hz": 95.3 } ], "tur_Latn": [ { "engine": "builtin", "bundle": "vits-piper-tr_TR-fettah-medium", "model": "tr_TR-fettah-medium.onnx", "label": "fettah · medium (tr_TR)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-tr_TR-fahrettin-medium", "model": "tr_TR-fahrettin-medium.onnx", "label": "fahrettin · medium (tr_TR)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-tr_TR-dfki-medium", "model": "tr_TR-dfki-medium.onnx", "label": "dfki · medium (tr_TR)", "gender": "unknown", "hz": 0 } ], "hin_Deva": [ { "engine": "kokoro", "speaker": "hm_omega", "label": "Omega · male (Kokoro)", "gender": "male" }, { "engine": "kokoro", "speaker": "hf_alpha", "label": "Alpha · female (Kokoro)", "gender": "female" }, { "engine": "builtin", "bundle": "vits-piper-hi_IN-pratham-medium", "model": "hi_IN-pratham-medium.onnx", "label": "pratham · medium (hi_IN)", "gender": "male", "hz": 96.7 }, { "engine": "builtin", "bundle": "vits-piper-hi_IN-rohan-medium", "model": "hi_IN-rohan-medium.onnx", "label": "rohan · medium (hi_IN) · borderline", "gender": "ambiguous", "hz": 146.9 } ], "npi_Deva": [ { "engine": "builtin", "bundle": "vits-piper-ne_NP-google-medium", "model": "ne_NP-google-medium.onnx", "label": "google · medium (ne_NP)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-ne_NP-chitwan-medium", "model": "ne_NP-chitwan-medium.onnx", "label": "chitwan · medium (ne_NP)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-mimic3-ne_NP-ne-google_low", "model": "ne_NP-ne-google_low.onnx", "label": "ne · google_low (ne_NP)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-ne_NP-google-x_low", "model": "ne_NP-google-x_low.onnx", "label": "google · x_low (ne_NP)", "gender": "unknown", "hz": 0 } ], "ita_Latn": [ { "engine": "kokoro", "speaker": "im_nicola", "label": "Nicola · male (Kokoro)", "gender": "male" }, { "engine": "kokoro", "speaker": "if_sara", "label": "Sara · female (Kokoro)", "gender": "female" }, { "engine": "builtin", "bundle": "vits-piper-it_IT-miro-high", "model": "it_IT-miro-high.onnx", "label": "miro · high (it_IT)", "gender": "male", "hz": 112.3 }, { "engine": "builtin", "bundle": "vits-piper-it_IT-riccardo-x_low", "model": "it_IT-riccardo-x_low.onnx", "label": "riccardo · x_low (it_IT)", "gender": "male", "hz": 149.7 } ], "nld_Latn": [ { "engine": "builtin", "bundle": "vits-piper-nl_BE-rdh-medium", "model": "nl_BE-rdh-medium.onnx", "label": "rdh · medium (nl_BE)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-nl_BE-nathalie-medium", "model": "nl_BE-nathalie-medium.onnx", "label": "nathalie · medium (nl_BE)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-nl_BE-rdh-x_low", "model": "nl_BE-rdh-x_low.onnx", "label": "rdh · x_low (nl_BE)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-nl_BE-nathalie-x_low", "model": "nl_BE-nathalie-x_low.onnx", "label": "nathalie · x_low (nl_BE)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-nl_NL-miro-high", "model": "nl_NL-miro-high.onnx", "label": "miro · high (nl_NL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-nl_NL-dii-high", "model": "nl_NL-dii-high.onnx", "label": "dii · high (nl_NL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-nl_NL-ronnie-medium", "model": "nl_NL-ronnie-medium.onnx", "label": "ronnie · medium (nl_NL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-nl_NL-pim-medium", "model": "nl_NL-pim-medium.onnx", "label": "pim · medium (nl_NL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-nl_NL-alex-medium", "model": "nl_NL-alex-medium.onnx", "label": "alex · medium (nl_NL)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-coqui-nl-css10", "model": "model.onnx", "label": "css10 (nl)", "gender": "unknown", "hz": 0 } ], "ces_Latn": [ { "engine": "builtin", "bundle": "vits-piper-cs_CZ-jirka-medium", "model": "cs_CZ-jirka-medium.onnx", "label": "jirka · medium (cs_CZ)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-cs_CZ-jirka-low", "model": "cs_CZ-jirka-low.onnx", "label": "jirka · low (cs_CZ)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-coqui-cs-cv", "model": "model.onnx", "label": "cv (cs)", "gender": "unknown", "hz": 0 } ], "hun_Latn": [ { "engine": "builtin", "bundle": "vits-piper-hu_HU-imre-medium", "model": "hu_HU-imre-medium.onnx", "label": "imre · medium (hu_HU)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-hu_HU-berta-medium", "model": "hu_HU-berta-medium.onnx", "label": "berta · medium (hu_HU)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-hu_HU-anna-medium", "model": "hu_HU-anna-medium.onnx", "label": "anna · medium (hu_HU)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-mimic3-hu_HU-diana-majlinger_low", "model": "hu_HU-diana-majlinger_low.onnx", "label": "diana · majlinger_low (hu_HU)", "gender": "unknown", "hz": 0 } ], "ell_Grek": [ { "engine": "builtin", "bundle": "vits-piper-el_GR-rapunzelina-low", "model": "el_GR-rapunzelina-low.onnx", "label": "rapunzelina · low (el_GR)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-mimic3-el_GR-rapunzelina_low", "model": "el_GR-rapunzelina_low.onnx", "label": "rapunzelina_low (el_GR)", "gender": "unknown", "hz": 0 } ], "srp_Cyrl": [ { "engine": "builtin", "bundle": "vits-piper-sr_RS-serbski_institut-medium", "model": "sr_RS-serbski_institut-medium.onnx", "label": "serbski_institut · medium (sr_RS)", "gender": "unknown", "hz": 0 } ], "kat_Geor": [ { "engine": "builtin", "bundle": "vits-piper-ka_GE-natia-medium", "model": "ka_GE-natia-medium.onnx", "label": "natia · medium (ka_GE)", "gender": "unknown", "hz": 0 } ], "kaz_Cyrl": [ { "engine": "builtin", "bundle": "vits-piper-kk_KZ-issai-high", "model": "kk_KZ-issai-high.onnx", "label": "issai · high (kk_KZ)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-kk_KZ-iseke-x_low", "model": "kk_KZ-iseke-x_low.onnx", "label": "iseke · x_low (kk_KZ)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-kk_KZ-raya-x_low", "model": "kk_KZ-raya-x_low.onnx", "label": "raya · x_low (kk_KZ)", "gender": "unknown", "hz": 0 } ], "swe_Latn": [ { "engine": "builtin", "bundle": "vits-piper-sv_SE-nst-medium", "model": "sv_SE-nst-medium.onnx", "label": "nst · medium (sv_SE)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-sv_SE-lisa-medium", "model": "sv_SE-lisa-medium.onnx", "label": "lisa · medium (sv_SE)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-sv_SE-alma-medium", "model": "sv_SE-alma-medium.onnx", "label": "alma · medium (sv_SE)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-coqui-sv-cv", "model": "model.onnx", "label": "cv (sv)", "gender": "unknown", "hz": 0 } ], "dan_Latn": [ { "engine": "builtin", "bundle": "vits-piper-da_DK-talesyntese-medium", "model": "da_DK-talesyntese-medium.onnx", "label": "talesyntese · medium (da_DK)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-coqui-da-cv", "model": "model.onnx", "label": "cv (da)", "gender": "unknown", "hz": 0 } ], "fin_Latn": [ { "engine": "builtin", "bundle": "vits-piper-fi_FI-harri-medium", "model": "fi_FI-harri-medium.onnx", "label": "harri · medium (fi_FI)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-fi_FI-harri-low", "model": "fi_FI-harri-low.onnx", "label": "harri · low (fi_FI)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-mimic3-fi_FI-harri-tapani-ylilammi_low", "model": "fi_FI-harri-tapani-ylilammi_low.onnx", "label": "harri-tapani · ylilammi_low (fi_FI)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-coqui-fi-css10", "model": "model.onnx", "label": "css10 (fi)", "gender": "unknown", "hz": 0 } ], "cat_Latn": [ { "engine": "builtin", "bundle": "vits-piper-ca_ES-upc_ona-medium", "model": "ca_ES-upc_ona-medium.onnx", "label": "upc_ona · medium (ca_ES)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-ca_ES-upc_pau-x_low", "model": "ca_ES-upc_pau-x_low.onnx", "label": "upc_pau · x_low (ca_ES)", "gender": "unknown", "hz": 0 }, { "engine": "builtin", "bundle": "vits-piper-ca_ES-upc_ona-x_low", "model": "ca_ES-upc_ona-x_low.onnx", "label": "upc_ona · x_low (ca_ES)", "gender": "unknown", "hz": 0 } ], "urd_Arab": [ { "engine": "builtin", "bundle": "vits-piper-ur_PK-fasih-medium", "model": "ur_PK-fasih-medium.onnx", "label": "fasih · medium (ur_PK)", "gender": "unknown", "hz": 0 } ], "kor_Hang": [ { "engine": "builtin", "bundle": "vits-mimic3-ko_KO-kss_low", "model": "ko_KO-kss_low.onnx", "label": "kss_low (ko_KO)" }, { "engine": "local", "speaker": "aiden", "label": "Aiden · male · borderline", "gender": "ambiguous", "hz": 153, "instant": true }, { "engine": "local", "speaker": "ryan", "label": "Ryan · deep male", "gender": "male", "hz": 137.1, "instant": true }, { "engine": "local", "speaker": "uncle_fu", "label": "Uncle Fu · older male · borderline", "gender": "ambiguous", "hz": 165.1, "instant": true } ] }; /* * Regional variants share their base language's voices — every Spanish voice * can read any Spanish, and the accent is the whole point of the variant. But * the DEFAULT should match the region, so the list is reordered to put the * region's own voices first. * * This exists because spa_ES was added to voices.js after this catalog was * last generated, so the Voices picker simply did not list it: the language * had a working voice that could not be changed. */ const VARIANT = { spa_ES: { base: 'spa_Latn', prefer: 'es_ES' }, spa_MX: { base: 'spa_Latn', prefer: 'es_MX' }, por_PT: { base: 'por_PT', prefer: 'pt_PT' }, zho_Hant: { base: 'zho_Hans', prefer: '' } }; /* * HARD RULE, by the owner's instruction: no female voices, anywhere. * * Enforced HERE because forLanguage() is the single funnel every picker and * every audition goes through — filtering in the UI would leave the live * synthesis path able to reach one, and filtering per screen would leave the * next screen to forget. * * `gender: 'ambiguous'` is left in: it means nobody has labelled the voice, * not that it is female, and dropping ~105 unlabelled voices would empty the * catalog on the strength of missing metadata. */ function maleOnly(list) { return (list || []).filter(function (v) { return v.gender !== 'female'; }); } function forLanguage(lang) { if (CATALOG[lang] && !VARIANT[lang]) return maleOnly(CATALOG[lang]); const v = VARIANT[lang]; if (!v) return maleOnly(CATALOG[lang] || []); const list = maleOnly((CATALOG[v.base] || CATALOG[lang] || []).slice()); if (!v.prefer) return list; return list.sort(function (a, b) { const ar = (a.bundle || '').indexOf(v.prefer) !== -1 ? 0 : 1; const br = (b.bundle || '').indexOf(v.prefer) !== -1 ? 0 : 1; return ar - br; }); } function languages() { const out = Object.keys(CATALOG); for (const k of Object.keys(VARIANT)) if (out.indexOf(k) === -1) out.push(k); return out; } return { CATALOG, VARIANT, forLanguage: forLanguage, languages: languages }; }));