This commit is contained in:
litagin02
2024-01-05 21:26:31 +09:00
parent 193870e192
commit 39667265a4
3 changed files with 28 additions and 6 deletions

View File

@@ -263,7 +263,7 @@ with open(os.path.join("configs", "paths.yml"), "r", encoding="utf-8") as f:
try: try:
config = Config("config.yml", path_config) config = Config("config.yml", path_config)
except TypeError: except (TypeError, KeyError):
logger.warning("Old config.yml found. Replace it with default_config.yml.") logger.warning("Old config.yml found. Replace it with default_config.yml.")
shutil.copy(src="default_config.yml", dst="config.yml") shutil.copy(src="default_config.yml", dst="config.yml")
config = Config("config.yml", path_config) config = Config("config.yml", path_config)

View File

@@ -8,6 +8,7 @@ from transformers import AutoTokenizer
from text import punctuation, symbols from text import punctuation, symbols
from num2words import num2words from num2words import num2words
from common.log import logger
import pyopenjtalk import pyopenjtalk
import jaconv import jaconv
@@ -21,14 +22,24 @@ def hiragana2p(text: str) -> str:
- avoid using `N` for `ん` (for compatibility) - avoid using `N` for `ん` (for compatibility)
""" """
# 3文字以上からなる変換規則 # 3文字以上からなる変換規則
text = text.replace("う゛ぁ", " b a") text = text.replace("う゛ぁ", " v a")
text = text.replace("う゛ぃ", " b i") text = text.replace("う゛ぃ", " v i")
text = text.replace("う゛ぇ", " b e") text = text.replace("う゛ぇ", " v e")
text = text.replace("う゛ぉ", " b o") text = text.replace("う゛ぉ", " v o")
text = text.replace("う゛ゅ", " by u") text = text.replace("う゛ゅ", " by u")
# ゔ等の処理を追加
text = text.replace("ゔぁ", " v a")
text = text.replace("ゔぃ", " v i")
text = text.replace("ゔぇ", " v e")
text = text.replace("ゔぉ", " v o")
text = text.replace("ゔゅ", " by u")
# 2文字からなる変換規則 # 2文字からなる変換規則
text = text.replace("ぅ゛", " b u") text = text.replace("ぅ゛", " v u")
# ゔの処理を追加
text = text.replace("", " v u")
text = text.replace("あぁ", " a a") text = text.replace("あぁ", " a a")
text = text.replace("いぃ", " i i") text = text.replace("いぃ", " i i")
@@ -340,6 +351,7 @@ def hiragana2p(text: str) -> str:
def kata2phoneme(text: str) -> str: def kata2phoneme(text: str) -> str:
"""Convert katakana text to phonemes.""" """Convert katakana text to phonemes."""
logger.debug(f"Kata2phoneme: {text}")
text = text.strip() text = text.strip()
if text == "": if text == "":
return [""] return [""]
@@ -357,6 +369,9 @@ def kata2phoneme(text: str) -> str:
res.append(prev[-1]) res.append(prev[-1])
text = text[1:] text = text[1:]
continue continue
logger.debug(f"text: {text}")
logger.debug(jaconv.kata2hira(text))
logger.debug(hiragana2p(jaconv.kata2hira(text)))
res += hiragana2p(jaconv.kata2hira(text)).split(" ") res += hiragana2p(jaconv.kata2hira(text)).split(" ")
break break
# res = _COLON_RX.sub(":", res) # res = _COLON_RX.sub(":", res)

View File

@@ -219,6 +219,13 @@ def preprocess_all(
def train(model_name): def train(model_name):
dataset_path, _, _, _, config_path = get_path(model_name) dataset_path, _, _, _, config_path = get_path(model_name)
# 学習再開の場合は念のためconfig.ymlの名前等を更新
with open("config.yml", "r", encoding="utf-8") as f:
yml_data = yaml.safe_load(f)
yml_data["model_name"] = model_name
yml_data["dataset_path"] = dataset_path
with open("config.yml", "w", encoding="utf-8") as f:
yaml.dump(yml_data, f, allow_unicode=True)
success, message = run_script_with_log( success, message = run_script_with_log(
["train_ms.py", "--config", config_path, "--model", dataset_path] ["train_ms.py", "--config", config_path, "--model", dataset_path]
) )