csukuangfj commited on
Commit
3344c9b
1 Parent(s): f364871

add German

Browse files
Files changed (1) hide show
  1. model.py +46 -0
model.py CHANGED
@@ -111,6 +111,45 @@ def _get_vits_ljs(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
111
 
112
  return tts
113
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  @lru_cache(maxsize=10)
115
  def _get_vits_piper_en_US_lessac_medium(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
116
  assert repo_id == "csukuangfj/vits-piper-en_US-lessac-medium"
@@ -197,6 +236,8 @@ def get_pretrained_model(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
197
  return chinese_models[repo_id](repo_id, speed)
198
  elif repo_id in english_models:
199
  return english_models[repo_id](repo_id, speed)
 
 
200
  else:
201
  raise ValueError(f"Unsupported repo_id: {repo_id}")
202
 
@@ -211,8 +252,13 @@ english_models = {
211
  "csukuangfj/vits-ljs": _get_vits_ljs,
212
  }
213
 
 
 
 
 
214
 
215
  language_to_models = {
216
  "Chinese": list(chinese_models.keys()),
217
  "English": list(english_models.keys()),
 
218
  }
 
111
 
112
  return tts
113
 
114
+ @lru_cache(maxsize=10)
115
+ def _get_vits_piper_de_DE_thorsten_medium(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
116
+ assert repo_id == "csukuangfj/vits-piper-de_DE-thorsten-medium"
117
+
118
+ model = get_file(
119
+ repo_id=repo_id,
120
+ filename="de_DE-thorsten-medium.onnx",
121
+ subfolder=".",
122
+ )
123
+
124
+ lexicon = get_file(
125
+ repo_id=repo_id,
126
+ filename="lexicon.txt",
127
+ subfolder=".",
128
+ )
129
+
130
+ tokens = get_file(
131
+ repo_id=repo_id,
132
+ filename="tokens.txt",
133
+ subfolder=".",
134
+ )
135
+
136
+ tts_config = sherpa_onnx.OfflineTtsConfig(
137
+ model=sherpa_onnx.OfflineTtsModelConfig(
138
+ vits=sherpa_onnx.OfflineTtsVitsModelConfig(
139
+ model=model,
140
+ lexicon=lexicon,
141
+ tokens=tokens,
142
+ length_scale=1.0 / speed,
143
+ ),
144
+ provider="cpu",
145
+ debug=True,
146
+ num_threads=2,
147
+ )
148
+ )
149
+ tts = sherpa_onnx.OfflineTts(tts_config)
150
+
151
+ return tts
152
+
153
  @lru_cache(maxsize=10)
154
  def _get_vits_piper_en_US_lessac_medium(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts:
155
  assert repo_id == "csukuangfj/vits-piper-en_US-lessac-medium"
 
236
  return chinese_models[repo_id](repo_id, speed)
237
  elif repo_id in english_models:
238
  return english_models[repo_id](repo_id, speed)
239
+ elif repo_id in german_models:
240
+ return german_models[repo_id](repo_id, speed)
241
  else:
242
  raise ValueError(f"Unsupported repo_id: {repo_id}")
243
 
 
252
  "csukuangfj/vits-ljs": _get_vits_ljs,
253
  }
254
 
255
+ german_models = {
256
+ "csukuangfj/vits-piper-de_DE-thorsten-medium": _get_vits_piper_de_DE_thorsten_medium,
257
+ }
258
+
259
 
260
  language_to_models = {
261
  "Chinese": list(chinese_models.keys()),
262
  "English": list(english_models.keys()),
263
+ "German": list(german_models.keys()),
264
  }