From 9671d17d3162ed61e2d4904c81e3cfde8226eb23 Mon Sep 17 00:00:00 2001 From: litagin02 Date: Sat, 6 Jan 2024 08:32:08 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Fix=20=E3=82=83=20=E3=82=85=20=E3=82=87=20b?= =?UTF-8?q?ug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text/japanese.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/text/japanese.py b/text/japanese.py index af49eac..69301da 100644 --- a/text/japanese.py +++ b/text/japanese.py @@ -20,6 +20,7 @@ def hiragana2p(text: str) -> str: - avoid converting `o u` to `o o` (because the input is already actual `yomi`). - avoid using `N` for `ん` (for compatibility) - use `v` for `ゔ` related text. + - add bare `ゃ` `ゅ` `ょ` to `y a` `y u` `y o` (for compatibility). """ # 3文字以上からなる変換規則 text = text.replace("う゛ぁ", " v a") @@ -321,6 +322,11 @@ def hiragana2p(text: str) -> str: text = text.replace("ゎ", " w a") text = text.replace("ぉ", " o") + # ここまでに処理されていないゅ等もそのまま大文字扱い(追加) + text = text.replace("ゃ", " y a") + text = text.replace("ゅ", " y u") + text = text.replace("ょ", " y o") + # 長音の処理 # for (pattern, replace_str) in JULIUS_LONG_VOWEL: # text = pattern.sub(replace_str, text) @@ -409,6 +415,8 @@ def text2sep_kata(text: str): else: res.append(word) sep.append(word) + logger.debug(f"Text2sep_kata: {text} -> {res}") + logger.debug(f"get_accent: {parsed}") return sep, res, get_accent(parsed) @@ -676,6 +684,9 @@ def rearrange_tones(tones, phones): def g2p(norm_text): sep_text, sep_kata, acc = text2sep_kata(norm_text) + logger.debug(f"Sep_text: {sep_text}") + logger.debug(f"Sep_kata: {sep_kata}") + logger.debug(f"Acc: {acc}") sep_tokenized = [] for i in sep_text: if i not in punctuation: From 896507f2cb1082f903a90595cf31a48cfe05ced7 Mon Sep 17 00:00:00 2001 From: litagin02 Date: Sat, 6 Jan 2024 08:37:06 +0900 Subject: [PATCH 2/2] Fix wrong logger --- text/japanese.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/text/japanese.py b/text/japanese.py index 69301da..df6f59e 100644 --- a/text/japanese.py +++ b/text/japanese.py @@ -415,8 +415,6 @@ def text2sep_kata(text: str): else: res.append(word) sep.append(word) - logger.debug(f"Text2sep_kata: {text} -> {res}") - logger.debug(f"get_accent: {parsed}") return sep, res, get_accent(parsed) @@ -684,9 +682,6 @@ def rearrange_tones(tones, phones): def g2p(norm_text): sep_text, sep_kata, acc = text2sep_kata(norm_text) - logger.debug(f"Sep_text: {sep_text}") - logger.debug(f"Sep_kata: {sep_kata}") - logger.debug(f"Acc: {acc}") sep_tokenized = [] for i in sep_text: if i not in punctuation: