mirror of https://github.com/rhasspy/piper
Add VOICES.md
parent
01e4f939f9
commit
580f411329
@ -0,0 +1,258 @@
|
||||
# Voices
|
||||
|
||||
* العربية (`ar_JO`, Arabic)
|
||||
* kareem
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ar/ar_JO/kareem/low/ar_JO-kareem-low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ar/ar_JO/kareem/medium/ar_JO-kareem-medium.onnx?download=true)
|
||||
* Català (`ca_ES`, Catalan)
|
||||
* upc_ona
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ca/ca_ES/upc_ona/x_low/ca_ES-upc_ona-x_low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ca/ca_ES/upc_ona/medium/ca_ES-upc_ona-medium.onnx?download=true)
|
||||
* upc_pau
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ca/ca_ES/upc_pau/x_low/ca_ES-upc_pau-x_low.onnx?download=true)
|
||||
* Čeština (`cs_CZ`, Czech)
|
||||
* jirka
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/cs/cs_CZ/jirka/low/cs_CZ-jirka-low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/cs/cs_CZ/jirka/medium/cs_CZ-jirka-medium.onnx?download=true)
|
||||
* Dansk (`da_DK`, Danish)
|
||||
* talesyntese
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/da/da_DK/talesyntese/medium/da_DK-talesyntese-medium.onnx?download=true)
|
||||
* Deutsch (`de_DE`, German)
|
||||
* eva_k
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/eva_k/x_low/de_DE-eva_k-x_low.onnx?download=true)
|
||||
* karlsson
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/karlsson/low/de_DE-karlsson-low.onnx?download=true)
|
||||
* kerstin
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/kerstin/low/de_DE-kerstin-low.onnx?download=true)
|
||||
* mls
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/mls/medium/de_DE-mls-medium.onnx?download=true)
|
||||
* pavoque
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/pavoque/low/de_DE-pavoque-low.onnx?download=true)
|
||||
* ramona
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/ramona/low/de_DE-ramona-low.onnx?download=true)
|
||||
* thorsten
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/thorsten/low/de_DE-thorsten-low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/thorsten/medium/de_DE-thorsten-medium.onnx?download=true)
|
||||
* [high](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/thorsten/high/de_DE-thorsten-high.onnx?download=true)
|
||||
* thorsten_emotional
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/thorsten_emotional/medium/de_DE-thorsten_emotional-medium.onnx?download=true)
|
||||
* Ελληνικά (`el_GR`, Greek)
|
||||
* rapunzelina
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/el/el_GR/rapunzelina/low/el_GR-rapunzelina-low.onnx?download=true)
|
||||
* English (en_GB)
|
||||
* alan
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/alan/low/en_GB-alan-low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/alan/medium/en_GB-alan-medium.onnx?download=true)
|
||||
* alba
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/alba/medium/en_GB-alba-medium.onnx?download=true)
|
||||
* aru
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/aru/medium/en_GB-aru-medium.onnx?download=true)
|
||||
* cori
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/cori/medium/en_GB-cori-medium.onnx?download=true)
|
||||
* [high](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/cori/high/en_GB-cori-high.onnx?download=true)
|
||||
* jenny_dioco
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/jenny_dioco/medium/en_GB-jenny_dioco-medium.onnx?download=true)
|
||||
* northern_english_male
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/northern_english_male/medium/en_GB-northern_english_male-medium.onnx?download=true)
|
||||
* semaine
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/semaine/medium/en_GB-semaine-medium.onnx?download=true)
|
||||
* southern_english_female
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/southern_english_female/low/en_GB-southern_english_female-low.onnx?download=true)
|
||||
* vctk
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/vctk/medium/en_GB-vctk-medium.onnx?download=true)
|
||||
* English (en_US)
|
||||
* amy
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/amy/low/en_US-amy-low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/amy/medium/en_US-amy-medium.onnx?download=true)
|
||||
* arctic
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/arctic/medium/en_US-arctic-medium.onnx?download=true)
|
||||
* danny
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/danny/low/en_US-danny-low.onnx?download=true)
|
||||
* hfc_female
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/hfc_female/medium/en_US-hfc_female-medium.onnx?download=true)
|
||||
* hfc_male
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/hfc_male/medium/en_US-hfc_male-medium.onnx?download=true)
|
||||
* joe
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/joe/medium/en_US-joe-medium.onnx?download=true)
|
||||
* kathleen
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/kathleen/low/en_US-kathleen-low.onnx?download=true)
|
||||
* kristin
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/kristin/medium/en_US-kristin-medium.onnx?download=true)
|
||||
* kusal
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/kusal/medium/en_US-kusal-medium.onnx?download=true)
|
||||
* l2arctic
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/l2arctic/medium/en_US-l2arctic-medium.onnx?download=true)
|
||||
* lessac
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/lessac/low/en_US-lessac-low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/lessac/medium/en_US-lessac-medium.onnx?download=true)
|
||||
* [high](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/lessac/high/en_US-lessac-high.onnx?download=true)
|
||||
* libritts
|
||||
* [high](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/libritts/high/en_US-libritts-high.onnx?download=true)
|
||||
* libritts_r
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx?download=true)
|
||||
* ljspeech
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/ljspeech/medium/en_US-ljspeech-medium.onnx?download=true)
|
||||
* [high](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/ljspeech/high/en_US-ljspeech-high.onnx?download=true)
|
||||
* ryan
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/ryan/low/en_US-ryan-low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/ryan/medium/en_US-ryan-medium.onnx?download=true)
|
||||
* [high](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/ryan/high/en_US-ryan-high.onnx?download=true)
|
||||
* Español (`es_ES`, Spanish)
|
||||
* carlfm
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/es/es_ES/carlfm/x_low/es_ES-carlfm-x_low.onnx?download=true)
|
||||
* davefx
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/es/es_ES/davefx/medium/es_ES-davefx-medium.onnx?download=true)
|
||||
* mls_10246
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/es/es_ES/mls_10246/low/es_ES-mls_10246-low.onnx?download=true)
|
||||
* mls_9972
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/es/es_ES/mls_9972/low/es_ES-mls_9972-low.onnx?download=true)
|
||||
* sharvard
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/es/es_ES/sharvard/medium/es_ES-sharvard-medium.onnx?download=true)
|
||||
* Español (`es_MX`, Spanish)
|
||||
* ald
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/es/es_MX/ald/medium/es_MX-ald-medium.onnx?download=true)
|
||||
* claude
|
||||
* [high](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/es/es_MX/claude/high/es_MX-claude-high.onnx?download=true)
|
||||
* فارسی (`fa_IR`, Farsi)
|
||||
* amir
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fa/fa_IR/amir/medium/fa_IR-amir-medium.onnx?download=true)
|
||||
* gyro
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fa/fa_IR/gyro/medium/fa_IR-gyro-medium.onnx?download=true)
|
||||
* Suomi (`fi_FI`, Finnish)
|
||||
* harri
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fi/fi_FI/harri/low/fi_FI-harri-low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fi/fi_FI/harri/medium/fi_FI-harri-medium.onnx?download=true)
|
||||
* Français (`fr_FR`, French)
|
||||
* gilles
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/gilles/low/fr_FR-gilles-low.onnx?download=true)
|
||||
* mls
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/mls/medium/fr_FR-mls-medium.onnx?download=true)
|
||||
* mls_1840
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/mls_1840/low/fr_FR-mls_1840-low.onnx?download=true)
|
||||
* siwis
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/siwis/low/fr_FR-siwis-low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/siwis/medium/fr_FR-siwis-medium.onnx?download=true)
|
||||
* tom
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/tom/medium/fr_FR-tom-medium.onnx?download=true)
|
||||
* upmc
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/upmc/medium/fr_FR-upmc-medium.onnx?download=true)
|
||||
* Magyar (`hu_HU`, Hungarian)
|
||||
* anna
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/hu/hu_HU/anna/medium/hu_HU-anna-medium.onnx?download=true)
|
||||
* berta
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/hu/hu_HU/berta/medium/hu_HU-berta-medium.onnx?download=true)
|
||||
* imre
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/hu/hu_HU/imre/medium/hu_HU-imre-medium.onnx?download=true)
|
||||
* íslenska (`is_IS`, Icelandic)
|
||||
* bui
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/is/is_IS/bui/medium/is_IS-bui-medium.onnx?download=true)
|
||||
* salka
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/is/is_IS/salka/medium/is_IS-salka-medium.onnx?download=true)
|
||||
* steinn
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/is/is_IS/steinn/medium/is_IS-steinn-medium.onnx?download=true)
|
||||
* ugla
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/is/is_IS/ugla/medium/is_IS-ugla-medium.onnx?download=true)
|
||||
* Italiano (`it_IT`, Italian)
|
||||
* riccardo
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/it/it_IT/riccardo/x_low/it_IT-riccardo-x_low.onnx?download=true)
|
||||
* ქართული ენა (`ka_GE`, Georgian)
|
||||
* natia
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ka/ka_GE/natia/medium/ka_GE-natia-medium.onnx?download=true)
|
||||
* қазақша (`kk_KZ`, Kazakh)
|
||||
* iseke
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/kk/kk_KZ/iseke/x_low/kk_KZ-iseke-x_low.onnx?download=true)
|
||||
* issai
|
||||
* [high](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/kk/kk_KZ/issai/high/kk_KZ-issai-high.onnx?download=true)
|
||||
* raya
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/kk/kk_KZ/raya/x_low/kk_KZ-raya-x_low.onnx?download=true)
|
||||
* Lëtzebuergesch (`lb_LU`, Luxembourgish)
|
||||
* marylux
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/lb/lb_LU/marylux/medium/lb_LU-marylux-medium.onnx?download=true)
|
||||
* नेपाली (`ne_NP`, Nepali)
|
||||
* google
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ne/ne_NP/google/x_low/ne_NP-google-x_low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ne/ne_NP/google/medium/ne_NP-google-medium.onnx?download=true)
|
||||
* Nederlands (`nl_BE`, Dutch)
|
||||
* nathalie
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/nl/nl_BE/nathalie/x_low/nl_BE-nathalie-x_low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/nl/nl_BE/nathalie/medium/nl_BE-nathalie-medium.onnx?download=true)
|
||||
* rdh
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/nl/nl_BE/rdh/x_low/nl_BE-rdh-x_low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/nl/nl_BE/rdh/medium/nl_BE-rdh-medium.onnx?download=true)
|
||||
* Nederlands (`nl_NL`, Dutch)
|
||||
* mls
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/nl/nl_NL/mls/medium/nl_NL-mls-medium.onnx?download=true)
|
||||
* mls_5809
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/nl/nl_NL/mls_5809/low/nl_NL-mls_5809-low.onnx?download=true)
|
||||
* mls_7432
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/nl/nl_NL/mls_7432/low/nl_NL-mls_7432-low.onnx?download=true)
|
||||
* Norsk (`no_NO`, Norwegian)
|
||||
* talesyntese
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/no/no_NO/talesyntese/medium/no_NO-talesyntese-medium.onnx?download=true)
|
||||
* Polski (`pl_PL`, Polish)
|
||||
* darkman
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/pl/pl_PL/darkman/medium/pl_PL-darkman-medium.onnx?download=true)
|
||||
* gosia
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/pl/pl_PL/gosia/medium/pl_PL-gosia-medium.onnx?download=true)
|
||||
* mc_speech
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/pl/pl_PL/mc_speech/medium/pl_PL-mc_speech-medium.onnx?download=true)
|
||||
* mls_6892
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/pl/pl_PL/mls_6892/low/pl_PL-mls_6892-low.onnx?download=true)
|
||||
* Português (`pt_BR`, Portuguese)
|
||||
* edresson
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/pt/pt_BR/edresson/low/pt_BR-edresson-low.onnx?download=true)
|
||||
* faber
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/pt/pt_BR/faber/medium/pt_BR-faber-medium.onnx?download=true)
|
||||
* Português (`pt_PT`, Portuguese)
|
||||
* tugão
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/pt/pt_PT/tugão/medium/pt_PT-tugão-medium.onnx?download=true)
|
||||
* Română (`ro_RO`, Romanian)
|
||||
* mihai
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ro/ro_RO/mihai/medium/ro_RO-mihai-medium.onnx?download=true)
|
||||
* Русский (`ru_RU`, Russian)
|
||||
* denis
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ru/ru_RU/denis/medium/ru_RU-denis-medium.onnx?download=true)
|
||||
* dmitri
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ru/ru_RU/dmitri/medium/ru_RU-dmitri-medium.onnx?download=true)
|
||||
* irina
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ru/ru_RU/irina/medium/ru_RU-irina-medium.onnx?download=true)
|
||||
* ruslan
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/ru/ru_RU/ruslan/medium/ru_RU-ruslan-medium.onnx?download=true)
|
||||
* Slovenčina (`sk_SK`, Slovak)
|
||||
* lili
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/sk/sk_SK/lili/medium/sk_SK-lili-medium.onnx?download=true)
|
||||
* Slovenščina (`sl_SI`, Slovenian)
|
||||
* artur
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/sl/sl_SI/artur/medium/sl_SI-artur-medium.onnx?download=true)
|
||||
* srpski (`sr_RS`, Serbian)
|
||||
* serbski_institut
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/sr/sr_RS/serbski_institut/medium/sr_RS-serbski_institut-medium.onnx?download=true)
|
||||
* Svenska (`sv_SE`, Swedish)
|
||||
* nst
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/sv/sv_SE/nst/medium/sv_SE-nst-medium.onnx?download=true)
|
||||
* Kiswahili (`sw_CD`, Swahili)
|
||||
* lanfrica
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/sw/sw_CD/lanfrica/medium/sw_CD-lanfrica-medium.onnx?download=true)
|
||||
* Türkçe (`tr_TR`, Turkish)
|
||||
* dfki
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/tr/tr_TR/dfki/medium/tr_TR-dfki-medium.onnx?download=true)
|
||||
* fahrettin
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/tr/tr_TR/fahrettin/medium/tr_TR-fahrettin-medium.onnx?download=true)
|
||||
* fettah
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/tr/tr_TR/fettah/medium/tr_TR-fettah-medium.onnx?download=true)
|
||||
* украї́нська мо́ва (`uk_UA`, Ukrainian)
|
||||
* lada
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/uk/uk_UA/lada/x_low/uk_UA-lada-x_low.onnx?download=true)
|
||||
* ukrainian_tts
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/uk/uk_UA/ukrainian_tts/medium/uk_UA-ukrainian_tts-medium.onnx?download=true)
|
||||
* Tiếng Việt (`vi_VN`, Vietnamese)
|
||||
* 25hours_single
|
||||
* [low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/vi/vi_VN/25hours_single/low/vi_VN-25hours_single-low.onnx?download=true)
|
||||
* vais1000
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/vi/vi_VN/vais1000/medium/vi_VN-vais1000-medium.onnx?download=true)
|
||||
* vivos
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/vi/vi_VN/vivos/x_low/vi_VN-vivos-x_low.onnx?download=true)
|
||||
* 简体中文 (`zh_CN`, Chinese)
|
||||
* huayan
|
||||
* [x_low](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/zh/zh_CN/huayan/x_low/zh_CN-huayan-x_low.onnx?download=true)
|
||||
* [medium](https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/zh/zh_CN/huayan/medium/zh_CN-huayan-medium.onnx?download=true)
|
@ -0,0 +1,136 @@
|
||||
#!/usr/bin/env python3
|
||||
import argparse
|
||||
import logging
|
||||
from collections import defaultdict
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
@dataclass
|
||||
class Voice:
|
||||
lang_family: str
|
||||
lang_code: str
|
||||
dataset: str
|
||||
quality: str
|
||||
url: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class Language:
|
||||
native: str
|
||||
english: str
|
||||
country: str
|
||||
|
||||
|
||||
_LANGUAGES = {
|
||||
"ar_JO": Language("العربية", "Arabic", "Jordan"),
|
||||
"ca_ES": Language("Català", "Catalan", "Spain"),
|
||||
"cs_CZ": Language("Čeština", "Czech", "Czech Republic"),
|
||||
"da_DK": Language("Dansk", "Danish", "Denmark"),
|
||||
"de_DE": Language("Deutsch", "German", "Germany"),
|
||||
"el_GR": Language("Ελληνικά", "Greek", "Greece"),
|
||||
"en_GB": Language("English", "English", "Great Britain"),
|
||||
"en_US": Language("English", "English", "United States"),
|
||||
"es_ES": Language("Español", "Spanish", "Spain"),
|
||||
"es_MX": Language("Español", "Spanish", "Mexico"),
|
||||
"fa_IR": Language("فارسی", "Farsi", "Iran"),
|
||||
"fi_FI": Language("Suomi", "Finnish", "Finland"),
|
||||
"fr_FR": Language("Français", "French", "France"),
|
||||
"is_IS": Language("íslenska", "Icelandic", "Iceland"),
|
||||
"it_IT": Language("Italiano", "Italian", "Italy"),
|
||||
"hu_HU": Language("Magyar", "Hungarian", "Hungary"),
|
||||
"ka_GE": Language("ქართული ენა", "Georgian", "Georgia"),
|
||||
"kk_KZ": Language("қазақша", "Kazakh", "Kazakhstan"),
|
||||
"lb_LU": Language("Lëtzebuergesch", "Luxembourgish", "Luxembourg"),
|
||||
"ne_NP": Language("नेपाली", "Nepali", "Nepal"),
|
||||
"nl_BE": Language("Nederlands", "Dutch", "Belgium"),
|
||||
"nl_NL": Language("Nederlands", "Dutch", "Netherlands"),
|
||||
"no_NO": Language("Norsk", "Norwegian", "Norway"),
|
||||
"pl_PL": Language("Polski", "Polish", "Poland"),
|
||||
"pt_BR": Language("Português", "Portuguese", "Brazil"),
|
||||
"pt_PT": Language("Português", "Portuguese", "Portugal"),
|
||||
"ro_RO": Language("Română", "Romanian", "Romania"),
|
||||
"ru_RU": Language("Русский", "Russian", "Russia"),
|
||||
"sk_SK": Language("Slovenčina", "Slovak", "Slovakia"),
|
||||
"sl_SI": Language("Slovenščina", "Slovenian", "Slovenia"),
|
||||
"sr_RS": Language("srpski", "Serbian", "Serbia"),
|
||||
"sv_SE": Language("Svenska", "Swedish", "Sweden"),
|
||||
"sw_CD": Language("Kiswahili", "Swahili", "Democratic Republic of the Congo"),
|
||||
"tr_TR": Language("Türkçe", "Turkish", "Turkey"),
|
||||
"uk_UA": Language("украї́нська мо́ва", "Ukrainian", "Ukraine"),
|
||||
"vi_VN": Language("Tiếng Việt", "Vietnamese", "Vietnam"),
|
||||
"zh_CN": Language("简体中文", "Chinese", "China"),
|
||||
}
|
||||
|
||||
_QUALITY = {"x_low": 0, "low": 1, "medium": 2, "high": 3}
|
||||
|
||||
|
||||
_LOGGER = logging.getLogger()
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
"--piper-voices", required=True, help="Path to piper-voices root"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--url-format",
|
||||
default="https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/{lang_family}/{lang_code}/{dataset}/{quality}/{lang_code}-{dataset}-{quality}.onnx?download=true",
|
||||
help="URL format string with lang_family, lang_code, dataset, and quality",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
voices_by_lang_code = defaultdict(list)
|
||||
piper_voices = Path(args.piper_voices)
|
||||
for onnx_path in piper_voices.rglob("*.onnx"):
|
||||
_LOGGER.debug(onnx_path)
|
||||
parts = onnx_path.stem.split("-")
|
||||
if len(parts) != 3:
|
||||
_LOGGER.warning("Skipping %s", onnx_path)
|
||||
continue
|
||||
|
||||
lang_code, dataset, quality = parts
|
||||
assert lang_code in _LANGUAGES, f"Missing {lang_code}"
|
||||
lang_family = lang_code.split("_")[0]
|
||||
url = args.url_format.format(
|
||||
lang_family=lang_family,
|
||||
lang_code=lang_code,
|
||||
dataset=dataset,
|
||||
quality=quality,
|
||||
)
|
||||
|
||||
voices_by_lang_code[lang_code].append(
|
||||
Voice(
|
||||
lang_family=lang_family,
|
||||
lang_code=lang_code,
|
||||
dataset=dataset,
|
||||
quality=quality,
|
||||
url=url,
|
||||
)
|
||||
)
|
||||
|
||||
print("# Voices")
|
||||
print("")
|
||||
|
||||
for lang_code in sorted(voices_by_lang_code):
|
||||
lang_info = _LANGUAGES[lang_code]
|
||||
if lang_code.startswith("en_"):
|
||||
print("*", lang_info.native, f"({lang_code})")
|
||||
else:
|
||||
print("*", lang_info.native, f"(`{lang_code}`, {lang_info.english})")
|
||||
|
||||
last_dataset = None
|
||||
for voice in sorted(
|
||||
voices_by_lang_code[lang_code],
|
||||
key=lambda v: (v.dataset, _QUALITY[v.quality]),
|
||||
):
|
||||
if voice.dataset != last_dataset:
|
||||
print(" *", voice.dataset)
|
||||
last_dataset = voice.dataset
|
||||
|
||||
print(" *", f"[{voice.quality}]({voice.url})")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue