Fangjun Kuang
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).
... ... @@ -164,6 +164,8 @@ jobs:
vits-piper-pl_PL-justyna_wg_glos-medium
vits-piper-pl_PL-meski_wg_glos-medium
vits-piper-pl_PL-zenski_wg_glos-medium
vits-piper-id_ID-news_tts-medium
vits-piper-hi_IN-rohan-medium
)
for d in ${dirs[@]}; do
src=scripts/piper/release/$d
... ...
... ... @@ -204,9 +204,11 @@ def get_piper_models() -> List[TtsModel]:
TtsModel(model_dir="vits-piper-fr_FR-upmc-medium"),
TtsModel(model_dir="vits-piper-hi_IN-pratham-medium"),
TtsModel(model_dir="vits-piper-hi_IN-priyamvada-medium"),
TtsModel(model_dir="vits-piper-hi_IN-rohan-medium"),
TtsModel(model_dir="vits-piper-hu_HU-anna-medium"),
TtsModel(model_dir="vits-piper-hu_HU-berta-medium"),
TtsModel(model_dir="vits-piper-hu_HU-imre-medium"),
TtsModel(model_dir="vits-piper-id_ID-news_tts-medium"),
TtsModel(model_dir="vits-piper-is_IS-bui-medium"),
TtsModel(model_dir="vits-piper-is_IS-salka-medium"),
TtsModel(model_dir="vits-piper-is_IS-steinn-medium"),
... ...
... ... @@ -451,6 +451,7 @@ def get_hi_models():
hi_IN = [
PiperModel(name="pratham", kind="medium", sr=22050, ns=1),
PiperModel(name="priyamvada", kind="medium", sr=22050, ns=1),
PiperModel(name="rohan", kind="medium", sr=22050, ns=1),
]
for m in hi_IN:
... ... @@ -1421,6 +1422,36 @@ def get_vi_models():
return ans
# Indonesian
def get_id_models():
id_ID = [
PiperModel(name="news_tts", kind="medium", sr=22050, ns=1),
]
for m in id_ID:
m.lang = "id_ID"
ans = id_ID
for m in ans:
m.text = "Jangan tanyakan apa yang negara bisa berikan kepadamu, tapi tanyakan apa yang bisa kamu berikan untuk negaramu."
if m.model_name == "":
m.model_name = f"{m.lang}-{m.name}-{m.kind}.onnx"
code = m.lang[:2]
if m.cmd == "":
m.cmd = f"""
wget -qq https://huggingface.co/rhasspy/piper-voices/resolve/main/{code}/{m.lang}/{m.name}/{m.kind}/{m.model_name}
wget -qq https://huggingface.co/rhasspy/piper-voices/resolve/main/{code}/{m.lang}/{m.name}/{m.kind}/{m.model_name}.json
wget -qq https://huggingface.co/rhasspy/piper-voices/resolve/main/{code}/{m.lang}/{m.name}/{m.kind}/MODEL_CARD
"""
if m.url == "":
m.url = f"https://huggingface.co/rhasspy/piper-voices/tree/main/{code}/{m.lang}/{m.name}/{m.kind}"
return ans
def get_en_models():
en_gb = [
PiperModel(name="alan", kind="low", sr=16000, ns=1),
... ... @@ -1760,6 +1791,7 @@ def get_all_models():
ans += get_fi_models()
ans += get_fr_models()
ans += get_hi_models()
ans += get_id_models()
ans += get_hu_models()
ans += get_is_models()
ans += get_it_models()
... ...