oh-my-dear-ai commited on
Commit
072586d
·
verified ·
1 Parent(s): b73a978

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -16
app.py CHANGED
@@ -342,6 +342,34 @@ def get_bert_final(phones, word2ph, norm_text,language,device):
342
  bert = torch.zeros((1024, len(phones))).to(device)
343
  return bert
344
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
345
  def get_tts_wav(ref_wav_path, prompt_text, prompt_language, text, text_language, how_to_cut=i18n("不切")):
346
  t0 = ttime()
347
  prompt_text = prompt_text.strip("\n")
@@ -566,23 +594,7 @@ def get_weights_names():
566
  SoVITS_names, GPT_names = get_weights_names()
567
 
568
 
569
- def load_audio_text_mappings(folder_path, list_file_name):
570
- """ 用于hg部署,扫描指定文件夹获取音频文件列表 """
571
- text_to_audio_mappings = {}
572
- audio_to_text_mappings = {}
573
- with open(os.path.join(folder_path, list_file_name), 'r', encoding='utf-8') as file:
574
- for line in file:
575
- parts = line.strip().split('|')
576
- if len(parts) >= 4:
577
- audio_file_name = parts[0]
578
- text = parts[3]
579
- audio_file_path = os.path.join(folder_path, audio_file_name)
580
- text_to_audio_mappings[text] = audio_file_path
581
- audio_to_text_mappings[audio_file_path] = text
582
- return text_to_audio_mappings, audio_to_text_mappings
583
 
584
- audio_folder_path = 'audio'
585
- text_to_audio_mappings, audio_to_text_mappings = load_audio_text_mappings(audio_folder_path, 'slicer_opt.list')
586
 
587
  with gr.Blocks(title=f"GPT-SoVITS WebUI") as app:
588
  gr.Markdown(
 
342
  bert = torch.zeros((1024, len(phones))).to(device)
343
  return bert
344
 
345
+ def get_ref_path_decor(func):
346
+ # 为了hg部署添加的装饰函数,将参考文本的内容改为路径
347
+ def inner(*args):
348
+ ref_wav_path = text_to_audio_mappings.get(args[0], "")
349
+ if not ref_wav_path:
350
+ logger.warn("Audio file not found for the selected text.")
351
+ return
352
+ func(ref_wav_path, *args[1,])
353
+
354
+ def load_audio_text_mappings(folder_path, list_file_name):
355
+ """ 用于hg部署,扫描指定文件夹获取音频文件列表 """
356
+ text_to_audio_mappings = {}
357
+ audio_to_text_mappings = {}
358
+ with open(os.path.join(folder_path, list_file_name), 'r', encoding='utf-8') as file:
359
+ for line in file:
360
+ parts = line.strip().split('|')
361
+ if len(parts) >= 4:
362
+ audio_file_name = parts[0]
363
+ text = parts[3]
364
+ audio_file_path = os.path.join(folder_path, audio_file_name)
365
+ text_to_audio_mappings[text] = audio_file_path
366
+ audio_to_text_mappings[audio_file_path] = text
367
+ return text_to_audio_mappings, audio_to_text_mappings
368
+
369
+ audio_folder_path = 'audio'
370
+ text_to_audio_mappings, audio_to_text_mappings = load_audio_text_mappings(audio_folder_path, 'slicer_opt.list')
371
+
372
+ @get_ref_path_decor
373
  def get_tts_wav(ref_wav_path, prompt_text, prompt_language, text, text_language, how_to_cut=i18n("不切")):
374
  t0 = ttime()
375
  prompt_text = prompt_text.strip("\n")
 
594
  SoVITS_names, GPT_names = get_weights_names()
595
 
596
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
597
 
 
 
598
 
599
  with gr.Blocks(title=f"GPT-SoVITS WebUI") as app:
600
  gr.Markdown(