From f8f798d10a63739c9329d386e49657715b26c7b3 Mon Sep 17 00:00:00 2001 From: tsukumi Date: Thu, 7 Mar 2024 04:48:11 +0000 Subject: [PATCH] Refactor: moved text/ to style_bert_vits2/text_processing/(language)/ --- app.py | 2 +- server_editor.py | 2 +- style_bert_vits2/text_processing/__init__.py | 15 +++++++-------- .../text_processing/chinese/__init__.py | 4 ++-- .../text_processing/chinese}/tone_sandhi.py | 0 .../text_processing/english/__init__.py | 4 ++-- .../text_processing/english}/cmudict.rep | 0 .../english}/cmudict_cache.pickle | Bin .../text_processing/english}/opencpop-strict.txt | 0 .../text_processing/japanese/__init__.py | 2 ++ 10 files changed, 15 insertions(+), 14 deletions(-) rename text/chinese.py => style_bert_vits2/text_processing/chinese/__init__.py (98%) rename {text => style_bert_vits2/text_processing/chinese}/tone_sandhi.py (100%) rename text/english.py => style_bert_vits2/text_processing/english/__init__.py (99%) rename {text => style_bert_vits2/text_processing/english}/cmudict.rep (100%) rename {text => style_bert_vits2/text_processing/english}/cmudict_cache.pickle (100%) rename {text => style_bert_vits2/text_processing/english}/opencpop-strict.txt (100%) create mode 100644 style_bert_vits2/text_processing/japanese/__init__.py diff --git a/app.py b/app.py index 02c01cd..f03e91b 100644 --- a/app.py +++ b/app.py @@ -27,8 +27,8 @@ from style_bert_vits2.constants import ( ) from style_bert_vits2.logging import logger from style_bert_vits2.models.infer import InvalidToneError +from style_bert_vits2.text_processing.japanese import normalize_text from style_bert_vits2.text_processing.japanese.g2p_utils import g2kata_tone, kata_tone2phone_tone -from style_bert_vits2.text_processing.japanese.normalizer import normalize_text # Get path settings diff --git a/server_editor.py b/server_editor.py index eb1cffd..a1e249d 100644 --- a/server_editor.py +++ b/server_editor.py @@ -42,8 +42,8 @@ from style_bert_vits2.constants import ( ) from style_bert_vits2.logging import logger from style_bert_vits2.text_processing import bert_models +from style_bert_vits2.text_processing.japanese import normalize_text from style_bert_vits2.text_processing.japanese.g2p_utils import g2kata_tone, kata_tone2phone_tone -from style_bert_vits2.text_processing.japanese.normalizer import normalize_text from style_bert_vits2.text_processing.japanese.user_dict import ( apply_word, update_dict, diff --git a/style_bert_vits2/text_processing/__init__.py b/style_bert_vits2/text_processing/__init__.py index cd56ee7..5e77df6 100644 --- a/style_bert_vits2/text_processing/__init__.py +++ b/style_bert_vits2/text_processing/__init__.py @@ -67,18 +67,17 @@ def clean_text( # Changed to import inside if condition to avoid unnecessary import if language == Languages.JP: - from style_bert_vits2.text_processing.japanese.g2p import g2p - from style_bert_vits2.text_processing.japanese.normalizer import normalize_text + from style_bert_vits2.text_processing.japanese import g2p, normalize_text norm_text = normalize_text(text) phones, tones, word2ph = g2p(norm_text, use_jp_extra, raise_yomi_error) elif language == Languages.EN: - from ...text import english as language_module - norm_text = language_module.normalize_text(text) - phones, tones, word2ph = language_module.g2p(norm_text) + from style_bert_vits2.text_processing.english import g2p, normalize_text + norm_text = normalize_text(text) + phones, tones, word2ph = g2p(norm_text) elif language == Languages.ZH: - from ...text import chinese as language_module - norm_text = language_module.normalize_text(text) - phones, tones, word2ph = language_module.g2p(norm_text) + from style_bert_vits2.text_processing.chinese import g2p, normalize_text + norm_text = normalize_text(text) + phones, tones, word2ph = g2p(norm_text) else: raise ValueError(f"Language {language} not supported") diff --git a/text/chinese.py b/style_bert_vits2/text_processing/chinese/__init__.py similarity index 98% rename from text/chinese.py rename to style_bert_vits2/text_processing/chinese/__init__.py index 94266c2..92c8214 100644 --- a/text/chinese.py +++ b/style_bert_vits2/text_processing/chinese/__init__.py @@ -66,7 +66,7 @@ def replace_punctuation(text): return replaced_text -def g2p(text): +def g2p(text: str) -> tuple[list[str], list[int], list[int]]: pattern = r"(?<=[{0}])\s*".format("".join(PUNCTUATIONS)) sentences = [i for i in re.split(pattern, text) if i.strip() != ""] phones, tones, word2ph = _g2p(sentences) @@ -168,7 +168,7 @@ def _g2p(segments): return phones_list, tones_list, word2ph -def normalize_text(text): +def normalize_text(text: str) -> str: numbers = re.findall(r"\d+(?:\.?\d+)?", text) for number in numbers: text = text.replace(number, cn2an.an2cn(number), 1) diff --git a/text/tone_sandhi.py b/style_bert_vits2/text_processing/chinese/tone_sandhi.py similarity index 100% rename from text/tone_sandhi.py rename to style_bert_vits2/text_processing/chinese/tone_sandhi.py diff --git a/text/english.py b/style_bert_vits2/text_processing/english/__init__.py similarity index 99% rename from text/english.py rename to style_bert_vits2/text_processing/english/__init__.py index 419be3b..852431a 100644 --- a/text/english.py +++ b/style_bert_vits2/text_processing/english/__init__.py @@ -369,7 +369,7 @@ def normalize_numbers(text): return text -def normalize_text(text): +def normalize_text(text: str) -> str: text = normalize_numbers(text) text = replace_punctuation(text) text = re.sub(r"([,;.\?\!])([\w])", r"\1 \2", text) @@ -419,7 +419,7 @@ def text_to_words(text): return words -def g2p(text): +def g2p(text: str) -> tuple[list[str], list[int], list[int]]: phones = [] tones = [] phone_len = [] diff --git a/text/cmudict.rep b/style_bert_vits2/text_processing/english/cmudict.rep similarity index 100% rename from text/cmudict.rep rename to style_bert_vits2/text_processing/english/cmudict.rep diff --git a/text/cmudict_cache.pickle b/style_bert_vits2/text_processing/english/cmudict_cache.pickle similarity index 100% rename from text/cmudict_cache.pickle rename to style_bert_vits2/text_processing/english/cmudict_cache.pickle diff --git a/text/opencpop-strict.txt b/style_bert_vits2/text_processing/english/opencpop-strict.txt similarity index 100% rename from text/opencpop-strict.txt rename to style_bert_vits2/text_processing/english/opencpop-strict.txt diff --git a/style_bert_vits2/text_processing/japanese/__init__.py b/style_bert_vits2/text_processing/japanese/__init__.py new file mode 100644 index 0000000..17e1785 --- /dev/null +++ b/style_bert_vits2/text_processing/japanese/__init__.py @@ -0,0 +1,2 @@ +from style_bert_vits2.text_processing.japanese.g2p import g2p # type: ignore +from style_bert_vits2.text_processing.japanese.normalizer import normalize_text # type: ignore