From a688b88143e97eda6ebb6ecc38a44f8032901192 Mon Sep 17 00:00:00 2001 From: KamioRinn Date: Mon, 26 Feb 2024 11:07:00 +0800 Subject: [PATCH] make merge_fragments great again --- GPT_SoVITS/inference_webui.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/GPT_SoVITS/inference_webui.py b/GPT_SoVITS/inference_webui.py index 05dc3d89..faa0c623 100644 --- a/GPT_SoVITS/inference_webui.py +++ b/GPT_SoVITS/inference_webui.py @@ -487,15 +487,24 @@ def split_language(text,language): # 合并太碎的 def merge_fragments(sentences_list): new_sentences_list = [] + temp_list = [] - prev_list = None - for sublist in sentences_list: - if len(sublist) == 1 and len(sublist[0]['text']) < 2: - if prev_list is not None: - prev_list.extend(sublist) + for sentences in sentences_list: + if sentences[0]['text'].strip() not in {".","。"}: + if temp_list: + temp_list.extend(sentences) + new_sentences_list.append(temp_list) + temp_list = [] + else: + new_sentences_list.append(sentences) else: - new_sentences_list.append(sublist) - prev_list = sublist + temp_list.extend(sentences) + + if temp_list: + if len(new_sentences_list) >1: + new_sentences_list[-1].extend(temp_list) + else: + new_sentences_list.append(temp_list) sentences_list = new_sentences_list new_sentences_list = [] @@ -511,7 +520,7 @@ def merge_fragments(sentences_list): merged_sentences.append(entry) prev_entry = entry - new_sentences_list.append(merged_sentences) + new_sentences_list.append(merged_sentences) return new_sentences_list