From 8d25353835937e920dbf323e4af880b7aa9734bc Mon Sep 17 00:00:00 2001 From: KamioRinn Date: Sat, 24 Feb 2024 02:16:34 +0800 Subject: [PATCH] make cut3 cut4 great again --- GPT_SoVITS/inference_webui.py | 55 ++++++++++++----------------------- 1 file changed, 18 insertions(+), 37 deletions(-) diff --git a/GPT_SoVITS/inference_webui.py b/GPT_SoVITS/inference_webui.py index 5d1cd1fb..dfd6354b 100644 --- a/GPT_SoVITS/inference_webui.py +++ b/GPT_SoVITS/inference_webui.py @@ -399,58 +399,39 @@ def cut2(language_splits): # 按中文句号。切 def cut3(language_splits): sentences_list = [] - sentences = [] for lang_block in language_splits: text_parts = lang_block['text'].split('。') - if len(text_parts) == 1: - sentences.append({'lang': lang_block['lang'], 'text': lang_block['text']}) - else : - for i, part in enumerate(text_parts): - if i == 0: - sentences.append({'lang': lang_block['lang'], 'text': part + "。"}) - sentences_list.append(sentences) - sentences = [] - elif i < len(text_parts) - 1: - sentences.append({'lang': lang_block['lang'], 'text': part + "。"}) - sentences_list.append(sentences) - sentences = [] - elif part and not part.isspace(): - sentences.append({'lang': lang_block['lang'], 'text': part}) - - if sentences: - sentences_list.append(sentences) + if len(text_parts) <= 1: + sentences_list.append([{'lang': lang_block['lang'], 'text': lang_block['text']}]) + else: + for i, part in enumerate(text_parts[:-1]): + sentences_list.append([{'lang': lang_block['lang'], 'text': part.strip() + "。"}]) + + last_part = text_parts[-1].strip() + if last_part: + sentences_list.append([{'lang': lang_block['lang'], 'text': last_part}]) return sentences_list - # cut4 # 按英文句号.切 def cut4(language_splits): sentences_list = [] - sentences = [] for lang_block in language_splits: text_parts = lang_block['text'].split('.') - if len(text_parts) == 1: - sentences.append({'lang': lang_block['lang'], 'text': lang_block['text']}) - else : - for i, part in enumerate(text_parts): - if i == 0: - sentences.append({'lang': lang_block['lang'], 'text': part + "."}) - sentences_list.append(sentences) - sentences = [] - elif i < len(text_parts) - 1: - sentences.append({'lang': lang_block['lang'], 'text': part + "."}) - sentences_list.append(sentences) - sentences = [] - elif part and not part.isspace(): - sentences.append({'lang': lang_block['lang'], 'text': part}) - - if sentences: - sentences_list.append(sentences) + if len(text_parts) <= 1: + sentences_list.append([{'lang': lang_block['lang'], 'text': lang_block['text']}]) + else: + for i, part in enumerate(text_parts[:-1]): + sentences_list.append([{'lang': lang_block['lang'], 'text': part.strip() + "."}]) + + last_part = text_parts[-1].strip() + if last_part: + sentences_list.append([{'lang': lang_block['lang'], 'text': last_part}]) return sentences_list