From 4d5c537f959a18ee978a0ce7cc9ebaea5e754057 Mon Sep 17 00:00:00 2001 From: tsukumi Date: Thu, 7 Mar 2024 19:52:34 +0000 Subject: [PATCH] Refactor: introducing Ruff --- losses.py | 2 -- pyproject.toml | 9 +++++++++ server_fastapi.py | 4 ++-- .../text_processing/english/__init__.py | 1 - .../text_processing/japanese/__init__.py | 4 ++-- train_ms_jp_extra.py | 1 - webui_style_vectors.py | 6 +++--- webui_train.py | 20 +++++++++---------- 8 files changed, 26 insertions(+), 21 deletions(-) create mode 100644 pyproject.toml diff --git a/losses.py b/losses.py index 4a890ba..9bb50af 100644 --- a/losses.py +++ b/losses.py @@ -2,8 +2,6 @@ import torch import torchaudio from transformers import AutoModel -from style_bert_vits2.logging import logger - def feature_loss(fmap_r, fmap_g): loss = 0 diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..0249363 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,9 @@ +[tool.ruff] +# インデント幅を 4 に設定 +indent-width = 4 + +# 行の長さを 100 文字に設定 +line-length = 100 + +# Python 3.10 向けにフォーマット +target-version = "py310" diff --git a/server_fastapi.py b/server_fastapi.py index ca9520c..b7ebb77 100644 --- a/server_fastapi.py +++ b/server_fastapi.py @@ -104,7 +104,7 @@ if __name__ == "__main__": @app.get("/voice", response_class=AudioResponse) async def voice( request: Request, - text: str = Query(..., min_length=1, max_length=limit, description=f"セリフ"), + text: str = Query(..., min_length=1, max_length=limit, description="セリフ"), encoding: str = Query(None, description="textをURLデコードする(ex, `utf-8`)"), model_id: int = Query( 0, description="モデルID。`GET /models/info`のkeyの値を指定ください" @@ -132,7 +132,7 @@ if __name__ == "__main__": DEFAULT_LENGTH, description="話速。基準は1で大きくするほど音声は長くなり読み上げが遅まる", ), - language: Languages = Query(ln, description=f"textの言語"), + language: Languages = Query(ln, description="textの言語"), auto_split: bool = Query(DEFAULT_LINE_SPLIT, description="改行で分けて生成"), split_interval: float = Query( DEFAULT_SPLIT_INTERVAL, description="分けた場合に挟む無音の長さ(秒)" diff --git a/style_bert_vits2/text_processing/english/__init__.py b/style_bert_vits2/text_processing/english/__init__.py index 852431a..b57e250 100644 --- a/style_bert_vits2/text_processing/english/__init__.py +++ b/style_bert_vits2/text_processing/english/__init__.py @@ -234,7 +234,6 @@ def refine_syllables(syllables): return phonemes, tones -import re import inflect _inflect = inflect.engine() diff --git a/style_bert_vits2/text_processing/japanese/__init__.py b/style_bert_vits2/text_processing/japanese/__init__.py index 17e1785..9123377 100644 --- a/style_bert_vits2/text_processing/japanese/__init__.py +++ b/style_bert_vits2/text_processing/japanese/__init__.py @@ -1,2 +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 +from style_bert_vits2.text_processing.japanese.g2p import g2p # noqa: F401 +from style_bert_vits2.text_processing.japanese.normalizer import normalize_text # noqa: F401 diff --git a/train_ms_jp_extra.py b/train_ms_jp_extra.py index 1a287d9..f04d2ae 100644 --- a/train_ms_jp_extra.py +++ b/train_ms_jp_extra.py @@ -1,6 +1,5 @@ import argparse import datetime -import gc import os import platform diff --git a/webui_style_vectors.py b/webui_style_vectors.py index 1cbabbd..b149e2b 100644 --- a/webui_style_vectors.py +++ b/webui_style_vectors.py @@ -153,7 +153,7 @@ def do_dbscan_gradio(eps=2.5, min_samples=15): return [ plt, gr.Slider(maximum=MAX_CLUSTER_NUM), - f"クラスタが数が0です。パラメータを変えてみてください。", + "クラスタが数が0です。パラメータを変えてみてください。", ] + [gr.Audio(visible=False)] * MAX_AUDIO_NUM return [plt, gr.Slider(maximum=n_clusters, value=1), n_clusters] + [ @@ -212,7 +212,7 @@ def save_style_vectors_from_clustering(model_name, style_names_str: str): if len(style_name_list) != len(centroids) + 1: return f"スタイルの数が合いません。`,`で正しく{len(centroids)}個に区切られているか確認してください: {style_names_str}" if len(set(style_names)) != len(style_names): - return f"スタイル名が重複しています。" + return "スタイル名が重複しています。" logger.info(f"Backup {config_path} to {config_path}.bak") shutil.copy(config_path, f"{config_path}.bak") @@ -243,7 +243,7 @@ def save_style_vectors_from_files( return f"音声ファイルとスタイル名の数が合いません。`,`で正しく{len(style_names)}個に区切られているか確認してください: {audio_files_str}と{style_names_str}" style_name_list = [DEFAULT_STYLE] + style_names if len(set(style_names)) != len(style_names): - return f"スタイル名が重複しています。" + return "スタイル名が重複しています。" style_vectors = [mean] wavs_dir = os.path.join(dataset_root, model_name, "wavs") diff --git a/webui_train.py b/webui_train.py index fda31ca..0a7000c 100644 --- a/webui_train.py +++ b/webui_train.py @@ -147,10 +147,10 @@ def resample(model_name, normalize, trim, num_processes): cmd.append("--trim") success, message = run_script_with_log(cmd) if not success: - logger.error(f"Step 2: resampling failed.") + logger.error("Step 2: resampling failed.") return False, f"Step 2, Error: 音声ファイルの前処理に失敗しました:\n{message}" elif message: - logger.warning(f"Step 2: resampling finished with stderr.") + logger.warning("Step 2: resampling finished with stderr.") return True, f"Step 2, Success: 音声ファイルの前処理が完了しました:\n{message}" logger.success("Step 2: resampling finished.") return True, "Step 2, Success: 音声ファイルの前処理が完了しました" @@ -197,13 +197,13 @@ def preprocess_text(model_name, use_jp_extra, val_per_lang, yomi_error): cmd.append("--use_jp_extra") success, message = run_script_with_log(cmd) if not success: - logger.error(f"Step 3: preprocessing text failed.") + logger.error("Step 3: preprocessing text failed.") return ( False, f"Step 3, Error: 書き起こしファイルの前処理に失敗しました:\n{message}", ) elif message: - logger.warning(f"Step 3: preprocessing text finished with stderr.") + logger.warning("Step 3: preprocessing text finished with stderr.") return ( True, f"Step 3, Success: 書き起こしファイルの前処理が完了しました:\n{message}", @@ -225,10 +225,10 @@ def bert_gen(model_name): ] ) if not success: - logger.error(f"Step 4: bert_gen failed.") + logger.error("Step 4: bert_gen failed.") return False, f"Step 4, Error: BERT特徴ファイルの生成に失敗しました:\n{message}" elif message: - logger.warning(f"Step 4: bert_gen finished with stderr.") + logger.warning("Step 4: bert_gen finished with stderr.") return ( True, f"Step 4, Success: BERT特徴ファイルの生成が完了しました:\n{message}", @@ -250,13 +250,13 @@ def style_gen(model_name, num_processes): ] ) if not success: - logger.error(f"Step 5: style_gen failed.") + logger.error("Step 5: style_gen failed.") return ( False, f"Step 5, Error: スタイル特徴ファイルの生成に失敗しました:\n{message}", ) elif message: - logger.warning(f"Step 5: style_gen finished with stderr.") + logger.warning("Step 5: style_gen finished with stderr.") return ( True, f"Step 5, Success: スタイル特徴ファイルの生成が完了しました:\n{message}", @@ -350,10 +350,10 @@ def train(model_name, skip_style=False, use_jp_extra=True, speedup=False): cmd.append("--speedup") success, message = run_script_with_log(cmd, ignore_warning=True) if not success: - logger.error(f"Train failed.") + logger.error("Train failed.") return False, f"Error: 学習に失敗しました:\n{message}" elif message: - logger.warning(f"Train finished with stderr.") + logger.warning("Train finished with stderr.") return True, f"Success: 学習が完了しました:\n{message}" logger.success("Train finished.") return True, "Success: 学習が完了しました"