guangyil commited on
Commit
6127bfe
·
verified ·
1 Parent(s): abdc143

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -22
app.py CHANGED
@@ -27,33 +27,32 @@ from huggingface_hub import hf_hub_download
27
  from infer import load_model, eval_model
28
  from spkr import SpeakerEmbedding
29
 
30
- spkr_model = None
31
-
32
  @spaces.GPU
33
  def spkr_model_init():
34
- global spkr_model
35
- if spkr_model is None:
36
- spkr_model = SpeakerEmbedding(device="cuda")
37
  return spkr_model
38
 
39
- model, tokenizer, tokenizer_voila, model_type = load_model("maitrix-org/Voila-chat", "maitrix-org/Voila-Tokenizer")
40
- default_ref_file = "examples/character_ref_emb_demo.pkl"
41
- default_ref_name = "Homer Simpson"
42
- million_voice_ref_file = hf_hub_download(repo_id="maitrix-org/Voila-million-voice", filename="character_ref_emb_chunk0.pkl", repo_type="dataset")
 
 
 
 
 
 
 
43
 
44
  instruction = "You are a smart AI agent created by Maitrix.org."
45
  save_path = os.environ.get("GRADIO_TEMP_DIR", tempfile.gettempdir())
 
46
 
47
  intro = """**Voila**
48
 
49
  For more demos, please goto [https://voila.maitrix.org](https://voila.maitrix.org)."""
50
 
51
- default_ref_emb_mask_list = pickle.load(open(default_ref_file, "rb"))
52
- million_voice_ref_emb_mask_list = pickle.load(open(million_voice_ref_file, "rb"))
53
-
54
  def get_ref_embs(ref_audio):
55
- global spkr_model
56
- spkr_model = spkr_model_init()
57
  wav, sr = torchaudio.load(ref_audio)
58
  ref_embs = spkr_model(wav, sr).cpu()
59
  return ref_embs
@@ -259,14 +258,18 @@ def get_asr_tab():
259
  )
260
  return asr_tab
261
 
262
- with gr.Blocks(fill_height=True) as demo:
263
- with gr.Tab("Chat"):
264
- chat_tab = get_chat_tab()
265
- with gr.Tab("TTS"):
266
- tts_tab = get_tts_tab()
267
- with gr.Tab("ASR"):
268
- asr_tab = get_asr_tab()
269
- demo.unload(delete_directory)
 
 
270
 
271
  if __name__ == "__main__":
 
 
272
  demo.launch()
 
27
  from infer import load_model, eval_model
28
  from spkr import SpeakerEmbedding
29
 
 
 
30
  @spaces.GPU
31
  def spkr_model_init():
32
+ spkr_model = SpeakerEmbedding(device="cuda")
 
 
33
  return spkr_model
34
 
35
+ def init_models():
36
+ global spkr_model, model, tokenizer, tokenizer_voila, model_type
37
+ global default_ref_emb_mask_list, million_voice_ref_emb_mask_list
38
+
39
+ spkr_model = spkr_model_init()
40
+ model, tokenizer, tokenizer_voila, model_type = load_model("maitrix-org/Voila-chat", "maitrix-org/Voila-Tokenizer")
41
+ default_ref_file = "examples/character_ref_emb_demo.pkl"
42
+ million_voice_ref_file = hf_hub_download(repo_id="maitrix-org/Voila-million-voice", filename="character_ref_emb_chunk0.pkl", repo_type="dataset")
43
+
44
+ default_ref_emb_mask_list = pickle.load(open(default_ref_file, "rb"))
45
+ million_voice_ref_emb_mask_list = pickle.load(open(million_voice_ref_file, "rb"))
46
 
47
  instruction = "You are a smart AI agent created by Maitrix.org."
48
  save_path = os.environ.get("GRADIO_TEMP_DIR", tempfile.gettempdir())
49
+ default_ref_name = "Homer Simpson"
50
 
51
  intro = """**Voila**
52
 
53
  For more demos, please goto [https://voila.maitrix.org](https://voila.maitrix.org)."""
54
 
 
 
 
55
  def get_ref_embs(ref_audio):
 
 
56
  wav, sr = torchaudio.load(ref_audio)
57
  ref_embs = spkr_model(wav, sr).cpu()
58
  return ref_embs
 
258
  )
259
  return asr_tab
260
 
261
+ def create_demo():
262
+ with gr.Blocks(fill_height=True) as demo:
263
+ with gr.Tab("Chat"):
264
+ chat_tab = get_chat_tab()
265
+ with gr.Tab("TTS"):
266
+ tts_tab = get_tts_tab()
267
+ with gr.Tab("ASR"):
268
+ asr_tab = get_asr_tab()
269
+ demo.unload(delete_directory)
270
+ return demo
271
 
272
  if __name__ == "__main__":
273
+ init_models()
274
+ demo = create_demo()
275
  demo.launch()