Committed by
GitHub
Add two more Piper tts models (#2525)
This PR adds support for two new Piper TTS (Text-to-Speech) models: an Indonesian model (id_ID-news_tts-medium) and a Hindi model (hi_IN-rohan-medium).
正在显示
3 个修改的文件
包含
36 行增加
和
0 行删除
| @@ -164,6 +164,8 @@ jobs: | @@ -164,6 +164,8 @@ jobs: | ||
| 164 | vits-piper-pl_PL-justyna_wg_glos-medium | 164 | vits-piper-pl_PL-justyna_wg_glos-medium |
| 165 | vits-piper-pl_PL-meski_wg_glos-medium | 165 | vits-piper-pl_PL-meski_wg_glos-medium |
| 166 | vits-piper-pl_PL-zenski_wg_glos-medium | 166 | vits-piper-pl_PL-zenski_wg_glos-medium |
| 167 | + vits-piper-id_ID-news_tts-medium | ||
| 168 | + vits-piper-hi_IN-rohan-medium | ||
| 167 | ) | 169 | ) |
| 168 | for d in ${dirs[@]}; do | 170 | for d in ${dirs[@]}; do |
| 169 | src=scripts/piper/release/$d | 171 | src=scripts/piper/release/$d |
| @@ -204,9 +204,11 @@ def get_piper_models() -> List[TtsModel]: | @@ -204,9 +204,11 @@ def get_piper_models() -> List[TtsModel]: | ||
| 204 | TtsModel(model_dir="vits-piper-fr_FR-upmc-medium"), | 204 | TtsModel(model_dir="vits-piper-fr_FR-upmc-medium"), |
| 205 | TtsModel(model_dir="vits-piper-hi_IN-pratham-medium"), | 205 | TtsModel(model_dir="vits-piper-hi_IN-pratham-medium"), |
| 206 | TtsModel(model_dir="vits-piper-hi_IN-priyamvada-medium"), | 206 | TtsModel(model_dir="vits-piper-hi_IN-priyamvada-medium"), |
| 207 | + TtsModel(model_dir="vits-piper-hi_IN-rohan-medium"), | ||
| 207 | TtsModel(model_dir="vits-piper-hu_HU-anna-medium"), | 208 | TtsModel(model_dir="vits-piper-hu_HU-anna-medium"), |
| 208 | TtsModel(model_dir="vits-piper-hu_HU-berta-medium"), | 209 | TtsModel(model_dir="vits-piper-hu_HU-berta-medium"), |
| 209 | TtsModel(model_dir="vits-piper-hu_HU-imre-medium"), | 210 | TtsModel(model_dir="vits-piper-hu_HU-imre-medium"), |
| 211 | + TtsModel(model_dir="vits-piper-id_ID-news_tts-medium"), | ||
| 210 | TtsModel(model_dir="vits-piper-is_IS-bui-medium"), | 212 | TtsModel(model_dir="vits-piper-is_IS-bui-medium"), |
| 211 | TtsModel(model_dir="vits-piper-is_IS-salka-medium"), | 213 | TtsModel(model_dir="vits-piper-is_IS-salka-medium"), |
| 212 | TtsModel(model_dir="vits-piper-is_IS-steinn-medium"), | 214 | TtsModel(model_dir="vits-piper-is_IS-steinn-medium"), |
| @@ -451,6 +451,7 @@ def get_hi_models(): | @@ -451,6 +451,7 @@ def get_hi_models(): | ||
| 451 | hi_IN = [ | 451 | hi_IN = [ |
| 452 | PiperModel(name="pratham", kind="medium", sr=22050, ns=1), | 452 | PiperModel(name="pratham", kind="medium", sr=22050, ns=1), |
| 453 | PiperModel(name="priyamvada", kind="medium", sr=22050, ns=1), | 453 | PiperModel(name="priyamvada", kind="medium", sr=22050, ns=1), |
| 454 | + PiperModel(name="rohan", kind="medium", sr=22050, ns=1), | ||
| 454 | ] | 455 | ] |
| 455 | 456 | ||
| 456 | for m in hi_IN: | 457 | for m in hi_IN: |
| @@ -1421,6 +1422,36 @@ def get_vi_models(): | @@ -1421,6 +1422,36 @@ def get_vi_models(): | ||
| 1421 | return ans | 1422 | return ans |
| 1422 | 1423 | ||
| 1423 | 1424 | ||
| 1425 | +# Indonesian | ||
| 1426 | +def get_id_models(): | ||
| 1427 | + id_ID = [ | ||
| 1428 | + PiperModel(name="news_tts", kind="medium", sr=22050, ns=1), | ||
| 1429 | + ] | ||
| 1430 | + | ||
| 1431 | + for m in id_ID: | ||
| 1432 | + m.lang = "id_ID" | ||
| 1433 | + | ||
| 1434 | + ans = id_ID | ||
| 1435 | + | ||
| 1436 | + for m in ans: | ||
| 1437 | + m.text = "Jangan tanyakan apa yang negara bisa berikan kepadamu, tapi tanyakan apa yang bisa kamu berikan untuk negaramu." | ||
| 1438 | + | ||
| 1439 | + if m.model_name == "": | ||
| 1440 | + m.model_name = f"{m.lang}-{m.name}-{m.kind}.onnx" | ||
| 1441 | + | ||
| 1442 | + code = m.lang[:2] | ||
| 1443 | + if m.cmd == "": | ||
| 1444 | + m.cmd = f""" | ||
| 1445 | + wget -qq https://huggingface.co/rhasspy/piper-voices/resolve/main/{code}/{m.lang}/{m.name}/{m.kind}/{m.model_name} | ||
| 1446 | + wget -qq https://huggingface.co/rhasspy/piper-voices/resolve/main/{code}/{m.lang}/{m.name}/{m.kind}/{m.model_name}.json | ||
| 1447 | + wget -qq https://huggingface.co/rhasspy/piper-voices/resolve/main/{code}/{m.lang}/{m.name}/{m.kind}/MODEL_CARD | ||
| 1448 | + """ | ||
| 1449 | + if m.url == "": | ||
| 1450 | + m.url = f"https://huggingface.co/rhasspy/piper-voices/tree/main/{code}/{m.lang}/{m.name}/{m.kind}" | ||
| 1451 | + | ||
| 1452 | + return ans | ||
| 1453 | + | ||
| 1454 | + | ||
| 1424 | def get_en_models(): | 1455 | def get_en_models(): |
| 1425 | en_gb = [ | 1456 | en_gb = [ |
| 1426 | PiperModel(name="alan", kind="low", sr=16000, ns=1), | 1457 | PiperModel(name="alan", kind="low", sr=16000, ns=1), |
| @@ -1760,6 +1791,7 @@ def get_all_models(): | @@ -1760,6 +1791,7 @@ def get_all_models(): | ||
| 1760 | ans += get_fi_models() | 1791 | ans += get_fi_models() |
| 1761 | ans += get_fr_models() | 1792 | ans += get_fr_models() |
| 1762 | ans += get_hi_models() | 1793 | ans += get_hi_models() |
| 1794 | + ans += get_id_models() | ||
| 1763 | ans += get_hu_models() | 1795 | ans += get_hu_models() |
| 1764 | ans += get_is_models() | 1796 | ans += get_is_models() |
| 1765 | ans += get_it_models() | 1797 | ans += get_it_models() |
-
请 注册 或 登录 后发表评论