From 715e60a114157bcdbc5bb6ede08a64fb9a7a6bdf Mon Sep 17 00:00:00 2001 From: KamioRinn Date: Thu, 26 Jun 2025 11:44:28 +0800 Subject: [PATCH] add version num2str --- GPT_SoVITS/text/zh_normalization/num.py | 18 ++++++++++++++++++ .../text/zh_normalization/text_normlization.py | 3 +++ 2 files changed, 21 insertions(+) diff --git a/GPT_SoVITS/text/zh_normalization/num.py b/GPT_SoVITS/text/zh_normalization/num.py index c3af4d6a..be266f20 100644 --- a/GPT_SoVITS/text/zh_normalization/num.py +++ b/GPT_SoVITS/text/zh_normalization/num.py @@ -256,6 +256,24 @@ def replace_to_range(match) -> str: return result +RE_VERSION_NUM = re.compile(r"((\d+)(\.\d+)(\.\d+)?(\.\d+)+)") +def replace_vrsion_num(match) -> str: + """ + Args: + match (re.Match) + Returns: + str + """ + result = "" + for c in match.group(1): + if c == ".": + result += "点" + else: + result += num2str(c) + return result + + + def _get_value(value_string: str, use_zero: bool = True) -> List[str]: stripped = value_string.lstrip("0") if len(stripped) == 0: diff --git a/GPT_SoVITS/text/zh_normalization/text_normlization.py b/GPT_SoVITS/text/zh_normalization/text_normlization.py index 099b01bd..1a6cdd0f 100644 --- a/GPT_SoVITS/text/zh_normalization/text_normlization.py +++ b/GPT_SoVITS/text/zh_normalization/text_normlization.py @@ -25,6 +25,7 @@ from .chronology import replace_time from .constants import F2H_ASCII_LETTERS from .constants import F2H_DIGITS from .constants import F2H_SPACE +from .num import RE_VERSION_NUM from .num import RE_DECIMAL_NUM from .num import RE_DEFAULT_NUM from .num import RE_FRAC @@ -36,6 +37,7 @@ from .num import RE_RANGE from .num import RE_TO_RANGE from .num import RE_ASMD from .num import RE_POWER +from .num import replace_vrsion_num from .num import replace_default_num from .num import replace_frac from .num import replace_negative_num @@ -158,6 +160,7 @@ class TextNormalizer: sentence = RE_RANGE.sub(replace_range, sentence) sentence = RE_INTEGER.sub(replace_negative_num, sentence) + sentence = RE_VERSION_NUM.sub(replace_vrsion_num, sentence) sentence = RE_DECIMAL_NUM.sub(replace_number, sentence) sentence = RE_POSITIVE_QUANTIFIERS.sub(replace_positive_quantifier, sentence) sentence = RE_DEFAULT_NUM.sub(replace_default_num, sentence)