Spaces:
Running
Running
Commit
·
684c796
1
Parent(s):
bea2895
add a min nan model from mms
Browse files
app.py
CHANGED
|
@@ -60,6 +60,10 @@ css = """
|
|
| 60 |
.result_item_error {background-color:#ff7070;color:white;align-self:start}
|
| 61 |
"""
|
| 62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
|
| 64 |
def update_model_dropdown(language: str):
|
| 65 |
if language in language_to_models:
|
|
@@ -176,6 +180,22 @@ with demo:
|
|
| 176 |
|
| 177 |
output_info = gr.HTML(label="Info")
|
| 178 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 179 |
input_button.click(
|
| 180 |
process,
|
| 181 |
inputs=[
|
|
|
|
| 60 |
.result_item_error {background-color:#ff7070;color:white;align-self:start}
|
| 61 |
"""
|
| 62 |
|
| 63 |
+
examples = [
|
| 64 |
+
["Min-nan (闽南话)", "csukuangfj/vits-mms-nan", "ài piaǸ chiah ē iaN̂", 0, 1.0],
|
| 65 |
+
]
|
| 66 |
+
|
| 67 |
|
| 68 |
def update_model_dropdown(language: str):
|
| 69 |
if language in language_to_models:
|
|
|
|
| 180 |
|
| 181 |
output_info = gr.HTML(label="Info")
|
| 182 |
|
| 183 |
+
gr.Examples(
|
| 184 |
+
examples=examples,
|
| 185 |
+
fn=process,
|
| 186 |
+
inputs=[
|
| 187 |
+
language_radio,
|
| 188 |
+
model_dropdown,
|
| 189 |
+
input_text,
|
| 190 |
+
input_sid,
|
| 191 |
+
input_speed,
|
| 192 |
+
],
|
| 193 |
+
outputs=[
|
| 194 |
+
output_audio,
|
| 195 |
+
output_info,
|
| 196 |
+
],
|
| 197 |
+
)
|
| 198 |
+
|
| 199 |
input_button.click(
|
| 200 |
process,
|
| 201 |
inputs=[
|
model.py
CHANGED
|
@@ -116,13 +116,13 @@ def _get_vits_ljs(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
|
|
| 116 |
@lru_cache(maxsize=10)
|
| 117 |
def _get_vits_piper(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
|
| 118 |
data_dir = "/tmp/espeak-ng-data"
|
| 119 |
-
if "coqui" in repo_id:
|
| 120 |
name = "model"
|
| 121 |
else:
|
| 122 |
n = len("vits-piper-")
|
| 123 |
name = repo_id.split("/")[1][n:]
|
| 124 |
|
| 125 |
-
if "vits-coqui-uk-mai" in repo_id:
|
| 126 |
data_dir = ""
|
| 127 |
|
| 128 |
model = get_file(
|
|
@@ -156,6 +156,11 @@ def _get_vits_piper(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
|
|
| 156 |
return tts
|
| 157 |
|
| 158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 159 |
@lru_cache(maxsize=10)
|
| 160 |
def _get_vits_zh_aishell3(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
|
| 161 |
assert repo_id == "csukuangfj/vits-zh-aishell3"
|
|
@@ -337,6 +342,8 @@ def get_pretrained_model(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
|
|
| 337 |
return slovenian_models[repo_id](repo_id, speed)
|
| 338 |
elif repo_id in bangla_models:
|
| 339 |
return bangla_models[repo_id](repo_id, speed)
|
|
|
|
|
|
|
| 340 |
else:
|
| 341 |
raise ValueError(f"Unsupported repo_id: {repo_id}")
|
| 342 |
|
|
@@ -621,11 +628,16 @@ bangla_models = {
|
|
| 621 |
"csukuangfj/vits-coqui-bn-custom_female": _get_vits_piper,
|
| 622 |
}
|
| 623 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 624 |
|
| 625 |
language_to_models = {
|
| 626 |
"English": list(english_models.keys()),
|
| 627 |
"Chinese (Mandarin, 普通话)": list(chinese_models.keys()),
|
| 628 |
"Cantonese (粤语)": list(cantonese_models.keys()),
|
|
|
|
| 629 |
"Arabic": list(arabic_models.keys()),
|
| 630 |
"Bangla": list(bangla_models.keys()),
|
| 631 |
"Bulgarian": list(bulgarian_models.keys()),
|
|
|
|
| 116 |
@lru_cache(maxsize=10)
|
| 117 |
def _get_vits_piper(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
|
| 118 |
data_dir = "/tmp/espeak-ng-data"
|
| 119 |
+
if "coqui" in repo_id or "vits-mms" in repo_id:
|
| 120 |
name = "model"
|
| 121 |
else:
|
| 122 |
n = len("vits-piper-")
|
| 123 |
name = repo_id.split("/")[1][n:]
|
| 124 |
|
| 125 |
+
if "vits-coqui-uk-mai" in repo_id or "vits-mms" in repo_id:
|
| 126 |
data_dir = ""
|
| 127 |
|
| 128 |
model = get_file(
|
|
|
|
| 156 |
return tts
|
| 157 |
|
| 158 |
|
| 159 |
+
@lru_cache(maxsize=10)
|
| 160 |
+
def _get_vits_mms(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
|
| 161 |
+
return _get_vits_piper(repo_id, speed)
|
| 162 |
+
|
| 163 |
+
|
| 164 |
@lru_cache(maxsize=10)
|
| 165 |
def _get_vits_zh_aishell3(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
|
| 166 |
assert repo_id == "csukuangfj/vits-zh-aishell3"
|
|
|
|
| 342 |
return slovenian_models[repo_id](repo_id, speed)
|
| 343 |
elif repo_id in bangla_models:
|
| 344 |
return bangla_models[repo_id](repo_id, speed)
|
| 345 |
+
elif repo_id in min_nan_models:
|
| 346 |
+
return min_nan_models[repo_id](repo_id, speed)
|
| 347 |
else:
|
| 348 |
raise ValueError(f"Unsupported repo_id: {repo_id}")
|
| 349 |
|
|
|
|
| 628 |
"csukuangfj/vits-coqui-bn-custom_female": _get_vits_piper,
|
| 629 |
}
|
| 630 |
|
| 631 |
+
min_nan_models = {
|
| 632 |
+
"csukuangfj/vits-mms-nan": _get_vits_mms,
|
| 633 |
+
}
|
| 634 |
+
|
| 635 |
|
| 636 |
language_to_models = {
|
| 637 |
"English": list(english_models.keys()),
|
| 638 |
"Chinese (Mandarin, 普通话)": list(chinese_models.keys()),
|
| 639 |
"Cantonese (粤语)": list(cantonese_models.keys()),
|
| 640 |
+
"Min-nan (闽南话)": list(min_nan_models.keys()),
|
| 641 |
"Arabic": list(arabic_models.keys()),
|
| 642 |
"Bangla": list(bangla_models.keys()),
|
| 643 |
"Bulgarian": list(bulgarian_models.keys()),
|