mrfakename commited on
Commit
9cb2243
·
verified ·
1 Parent(s): 2584cab

Sync from GitHub repo

Browse files

This Space is synced from the GitHub repo: https://github.com/SWivid/F5-TTS. Please submit contributions to the Space there

Files changed (1) hide show
  1. app.py +6 -4
app.py CHANGED
@@ -80,6 +80,8 @@ def load_custom(ckpt_path: str, vocab_path="", model_cfg=None):
80
  vocab_path = str(cached_path(vocab_path))
81
  if model_cfg is None:
82
  model_cfg = json.loads(DEFAULT_TTS_MODEL_CFG[2])
 
 
83
  return load_model(DiT, model_cfg, ckpt_path, vocab_file=vocab_path)
84
 
85
 
@@ -124,7 +126,7 @@ def load_text_from_file(file):
124
  return gr.update(value=text)
125
 
126
 
127
- @lru_cache(maxsize=100)
128
  @gpu_decorator
129
  def infer(
130
  ref_audio_orig,
@@ -163,7 +165,7 @@ def infer(
163
  show_info("Loading E2-TTS model...")
164
  E2TTS_ema_model = load_e2tts()
165
  ema_model = E2TTS_ema_model
166
- elif isinstance(model, list) and model[0] == "Custom":
167
  assert not USING_SPACES, "Only official checkpoints allowed in Spaces."
168
  global custom_ema_model, pre_custom_path
169
  if pre_custom_path != model[1]:
@@ -959,7 +961,7 @@ If you're having issues, try converting your reference audio to WAV or MP3, clip
959
  global tts_model_choice
960
  if new_choice == "Custom": # override in case webpage is refreshed
961
  custom_ckpt_path, custom_vocab_path, custom_model_cfg = load_last_used_custom()
962
- tts_model_choice = ["Custom", custom_ckpt_path, custom_vocab_path, json.loads(custom_model_cfg)]
963
  return (
964
  gr.update(visible=True, value=custom_ckpt_path),
965
  gr.update(visible=True, value=custom_vocab_path),
@@ -971,7 +973,7 @@ If you're having issues, try converting your reference audio to WAV or MP3, clip
971
 
972
  def set_custom_model(custom_ckpt_path, custom_vocab_path, custom_model_cfg):
973
  global tts_model_choice
974
- tts_model_choice = ["Custom", custom_ckpt_path, custom_vocab_path, json.loads(custom_model_cfg)]
975
  with open(last_used_custom, "w", encoding="utf-8") as f:
976
  f.write(custom_ckpt_path + "\n" + custom_vocab_path + "\n" + custom_model_cfg + "\n")
977
 
 
80
  vocab_path = str(cached_path(vocab_path))
81
  if model_cfg is None:
82
  model_cfg = json.loads(DEFAULT_TTS_MODEL_CFG[2])
83
+ elif isinstance(model_cfg, str):
84
+ model_cfg = json.loads(model_cfg)
85
  return load_model(DiT, model_cfg, ckpt_path, vocab_file=vocab_path)
86
 
87
 
 
126
  return gr.update(value=text)
127
 
128
 
129
+ @lru_cache(maxsize=100) # NOTE. need to ensure params of infer() hashable
130
  @gpu_decorator
131
  def infer(
132
  ref_audio_orig,
 
165
  show_info("Loading E2-TTS model...")
166
  E2TTS_ema_model = load_e2tts()
167
  ema_model = E2TTS_ema_model
168
+ elif isinstance(model, tuple) and model[0] == "Custom":
169
  assert not USING_SPACES, "Only official checkpoints allowed in Spaces."
170
  global custom_ema_model, pre_custom_path
171
  if pre_custom_path != model[1]:
 
961
  global tts_model_choice
962
  if new_choice == "Custom": # override in case webpage is refreshed
963
  custom_ckpt_path, custom_vocab_path, custom_model_cfg = load_last_used_custom()
964
+ tts_model_choice = ("Custom", custom_ckpt_path, custom_vocab_path, custom_model_cfg)
965
  return (
966
  gr.update(visible=True, value=custom_ckpt_path),
967
  gr.update(visible=True, value=custom_vocab_path),
 
973
 
974
  def set_custom_model(custom_ckpt_path, custom_vocab_path, custom_model_cfg):
975
  global tts_model_choice
976
+ tts_model_choice = ("Custom", custom_ckpt_path, custom_vocab_path, custom_model_cfg)
977
  with open(last_used_custom, "w", encoding="utf-8") as f:
978
  f.write(custom_ckpt_path + "\n" + custom_vocab_path + "\n" + custom_model_cfg + "\n")
979