From 746cb536c68b1fe6ce3ca7e882235375b8a8dd89 Mon Sep 17 00:00:00 2001 From: KamioRinn Date: Tue, 10 Jun 2025 19:18:05 +0800 Subject: [PATCH] Fix LangSegmenter --- GPT_SoVITS/TTS_infer_pack/TextPreprocessor.py | 4 ++++ GPT_SoVITS/inference_webui.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/GPT_SoVITS/TTS_infer_pack/TextPreprocessor.py b/GPT_SoVITS/TTS_infer_pack/TextPreprocessor.py index 426929f..f03183a 100644 --- a/GPT_SoVITS/TTS_infer_pack/TextPreprocessor.py +++ b/GPT_SoVITS/TTS_infer_pack/TextPreprocessor.py @@ -159,6 +159,10 @@ class TextPreprocessor: textlist.append(tmp["text"]) else: for tmp in LangSegmenter.getTexts(text): + if langlist: + if (tmp["lang"] == "en" and langlist[-1] == "en") or (tmp["lang"] != "en" and langlist[-1] != "en"): + textlist[-1] += tmp["text"] + continue if tmp["lang"] == "en": langlist.append(tmp["lang"]) else: diff --git a/GPT_SoVITS/inference_webui.py b/GPT_SoVITS/inference_webui.py index 53f4610..8701261 100644 --- a/GPT_SoVITS/inference_webui.py +++ b/GPT_SoVITS/inference_webui.py @@ -623,6 +623,10 @@ def get_phones_and_bert(text, language, version, final=False): textlist.append(tmp["text"]) else: for tmp in LangSegmenter.getTexts(text): + if langlist: + if (tmp["lang"] == "en" and langlist[-1] == "en") or (tmp["lang"] != "en" and langlist[-1] != "en"): + textlist[-1] += tmp["text"] + continue if tmp["lang"] == "en": langlist.append(tmp["lang"]) else: