From 5953bc77f9ad0307d74ba86f57d95c9695dbe832 Mon Sep 17 00:00:00 2001 From: KamioRinn Date: Sat, 3 Aug 2024 03:34:54 +0800 Subject: [PATCH] Add Lang Support --- GPT_SoVITS/inference_webui.py | 7 +++++-- GPT_SoVITS/text/cantonese.py | 11 ++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/GPT_SoVITS/inference_webui.py b/GPT_SoVITS/inference_webui.py index 69118b3e..1578732a 100644 --- a/GPT_SoVITS/inference_webui.py +++ b/GPT_SoVITS/inference_webui.py @@ -264,8 +264,11 @@ def get_phones_and_bert(text,language): return get_phones_and_bert(formattext,"zh") else: phones, word2ph, norm_text = clean_text_inf(formattext, language) - - bert = get_bert_feature(norm_text, word2ph).to(device) + bert = get_bert_feature(norm_text, word2ph).to(device) + elif language == "yue" and re.search(r'[A-Za-z]', formattext): + formattext = re.sub(r'[a-z]', lambda x: x.group(0).upper(), formattext) + formattext = chinese.text_normalize(formattext) + return get_phones_and_bert(formattext,"yue") else: phones, word2ph, norm_text = clean_text_inf(formattext, language) bert = torch.zeros( diff --git a/GPT_SoVITS/text/cantonese.py b/GPT_SoVITS/text/cantonese.py index 915be389..b31dbd58 100644 --- a/GPT_SoVITS/text/cantonese.py +++ b/GPT_SoVITS/text/cantonese.py @@ -6,6 +6,7 @@ import cn2an from pyjyutping import jyutping from text.symbols import punctuation +from text.zh_normalization.text_normlization import TextNormalizer normalizer = lambda x: cn2an.transform(x, "an2cn") @@ -106,9 +107,13 @@ def replace_punctuation(text): def text_normalize(text): - text = normalizer(text) - text = replace_punctuation(text) - return text + tx = TextNormalizer() + sentences = tx.normalize(text) + dest_text = "" + for sentence in sentences: + dest_text += replace_punctuation(sentence) + return dest_text + punctuation_set=set(punctuation) def jyuping_to_initials_finals_tones(jyuping_syllables):