diff --git a/GPT_SoVITS/TTS_infer_pack/TTS.py b/GPT_SoVITS/TTS_infer_pack/TTS.py index 566e998..2aede2b 100644 --- a/GPT_SoVITS/TTS_infer_pack/TTS.py +++ b/GPT_SoVITS/TTS_infer_pack/TTS.py @@ -615,7 +615,7 @@ class TTS: fragment_interval = inputs.get("fragment_interval", 0.3) seed = inputs.get("seed", -1) seed = -1 if seed in ["", None] else seed - set_seed(seed) + actual_seed = set_seed(seed) if return_fragment: # split_bucket = False @@ -824,13 +824,17 @@ class TTS: if not return_fragment: print("%.3f\t%.3f\t%.3f\t%.3f" % (t1 - t0, t2 - t1, t_34, t_45)) - yield self.audio_postprocess(audio, + yield [ + self.audio_postprocess(audio, self.configs.sampling_rate, batch_index_list, speed_factor, split_bucket, fragment_interval - ) + ), + f"text: {text} text_lang: {text_lang} prompt_text: {prompt_text} prompt_lang: {prompt_lang} top_k: {top_k} top_p: {top_p} temperature: {temperature} batch_size: {batch_size} batch_threshold: {batch_threshold} split_bucket: {split_bucket} return_fragment: {return_fragment} speed_factor: {speed_factor} fragment_interval: {fragment_interval} seed: {actual_seed}" + ] + except Exception as e: traceback.print_exc() # 必须返回一个空音频, 否则会导致显存不释放。 diff --git a/GPT_SoVITS/TTS_infer_pack/text_segmentation_method.py b/GPT_SoVITS/TTS_infer_pack/text_segmentation_method.py index 2a182b2..eb25610 100644 --- a/GPT_SoVITS/TTS_infer_pack/text_segmentation_method.py +++ b/GPT_SoVITS/TTS_infer_pack/text_segmentation_method.py @@ -82,7 +82,8 @@ def cut1(inp): inp = inp.strip("\n") inps = split(inp) split_idx = list(range(0, len(inps), 4)) - split_idx[-1] = None + # split_idx[-1] = None + split_idx.append(None) if len(split_idx) > 1: opts = [] for idx in range(len(split_idx) - 1): @@ -135,7 +136,8 @@ def cut5(inp): # if not re.search(r'[^\w\s]', inp[-1]): # inp += '。' inp = inp.strip("\n") - punds = r'[,.;?!、,。?!;:…]' + # punds = r'[,.;?!、,。?!;:…]' + punds = r'[,.;?!、,。?!;::…]' items = re.split(f'({punds})', inp) mergeitems = ["".join(group) for group in zip(items[::2], items[1::2])] # 在句子不存在符号或句尾无符号的时候保证文本完整 @@ -149,4 +151,4 @@ def cut5(inp): if __name__ == '__main__': method = get_method("cut5") print(method("你好,我是小明。你好,我是小红。你好,我是小刚。你好,我是小张。")) - \ No newline at end of file + diff --git a/GPT_SoVITS/inference_webui.py b/GPT_SoVITS/inference_webui.py index 505b665..3355e91 100644 --- a/GPT_SoVITS/inference_webui.py +++ b/GPT_SoVITS/inference_webui.py @@ -211,6 +211,8 @@ with gr.Blocks(title="GPT-SoVITS WebUI") as app: with gr.Row(): inference_button = gr.Button(i18n("合成语音"), variant="primary") stop_infer = gr.Button(i18n("终止合成"), variant="primary") + with gr.Row(): + inference_details = gr.Markdown() inference_button.click( @@ -224,7 +226,7 @@ with gr.Blocks(title="GPT-SoVITS WebUI") as app: split_bucket,fragment_interval, seed ], - [output], + [output, inference_details], ) stop_infer.click(tts_pipline.stop, [], [])