Refactor: introducing Ruff
This commit is contained in:
@@ -2,8 +2,6 @@ import torch
|
|||||||
import torchaudio
|
import torchaudio
|
||||||
from transformers import AutoModel
|
from transformers import AutoModel
|
||||||
|
|
||||||
from style_bert_vits2.logging import logger
|
|
||||||
|
|
||||||
|
|
||||||
def feature_loss(fmap_r, fmap_g):
|
def feature_loss(fmap_r, fmap_g):
|
||||||
loss = 0
|
loss = 0
|
||||||
|
|||||||
9
pyproject.toml
Normal file
9
pyproject.toml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[tool.ruff]
|
||||||
|
# インデント幅を 4 に設定
|
||||||
|
indent-width = 4
|
||||||
|
|
||||||
|
# 行の長さを 100 文字に設定
|
||||||
|
line-length = 100
|
||||||
|
|
||||||
|
# Python 3.10 向けにフォーマット
|
||||||
|
target-version = "py310"
|
||||||
@@ -104,7 +104,7 @@ if __name__ == "__main__":
|
|||||||
@app.get("/voice", response_class=AudioResponse)
|
@app.get("/voice", response_class=AudioResponse)
|
||||||
async def voice(
|
async def voice(
|
||||||
request: Request,
|
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`)"),
|
encoding: str = Query(None, description="textをURLデコードする(ex, `utf-8`)"),
|
||||||
model_id: int = Query(
|
model_id: int = Query(
|
||||||
0, description="モデルID。`GET /models/info`のkeyの値を指定ください"
|
0, description="モデルID。`GET /models/info`のkeyの値を指定ください"
|
||||||
@@ -132,7 +132,7 @@ if __name__ == "__main__":
|
|||||||
DEFAULT_LENGTH,
|
DEFAULT_LENGTH,
|
||||||
description="話速。基準は1で大きくするほど音声は長くなり読み上げが遅まる",
|
description="話速。基準は1で大きくするほど音声は長くなり読み上げが遅まる",
|
||||||
),
|
),
|
||||||
language: Languages = Query(ln, description=f"textの言語"),
|
language: Languages = Query(ln, description="textの言語"),
|
||||||
auto_split: bool = Query(DEFAULT_LINE_SPLIT, description="改行で分けて生成"),
|
auto_split: bool = Query(DEFAULT_LINE_SPLIT, description="改行で分けて生成"),
|
||||||
split_interval: float = Query(
|
split_interval: float = Query(
|
||||||
DEFAULT_SPLIT_INTERVAL, description="分けた場合に挟む無音の長さ(秒)"
|
DEFAULT_SPLIT_INTERVAL, description="分けた場合に挟む無音の長さ(秒)"
|
||||||
|
|||||||
@@ -234,7 +234,6 @@ def refine_syllables(syllables):
|
|||||||
return phonemes, tones
|
return phonemes, tones
|
||||||
|
|
||||||
|
|
||||||
import re
|
|
||||||
import inflect
|
import inflect
|
||||||
|
|
||||||
_inflect = inflect.engine()
|
_inflect = inflect.engine()
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
from style_bert_vits2.text_processing.japanese.g2p import g2p # 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 # type: ignore
|
from style_bert_vits2.text_processing.japanese.normalizer import normalize_text # noqa: F401
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import datetime
|
import datetime
|
||||||
import gc
|
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
|
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ def do_dbscan_gradio(eps=2.5, min_samples=15):
|
|||||||
return [
|
return [
|
||||||
plt,
|
plt,
|
||||||
gr.Slider(maximum=MAX_CLUSTER_NUM),
|
gr.Slider(maximum=MAX_CLUSTER_NUM),
|
||||||
f"クラスタが数が0です。パラメータを変えてみてください。",
|
"クラスタが数が0です。パラメータを変えてみてください。",
|
||||||
] + [gr.Audio(visible=False)] * MAX_AUDIO_NUM
|
] + [gr.Audio(visible=False)] * MAX_AUDIO_NUM
|
||||||
|
|
||||||
return [plt, gr.Slider(maximum=n_clusters, value=1), n_clusters] + [
|
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:
|
if len(style_name_list) != len(centroids) + 1:
|
||||||
return f"スタイルの数が合いません。`,`で正しく{len(centroids)}個に区切られているか確認してください: {style_names_str}"
|
return f"スタイルの数が合いません。`,`で正しく{len(centroids)}個に区切られているか確認してください: {style_names_str}"
|
||||||
if len(set(style_names)) != len(style_names):
|
if len(set(style_names)) != len(style_names):
|
||||||
return f"スタイル名が重複しています。"
|
return "スタイル名が重複しています。"
|
||||||
|
|
||||||
logger.info(f"Backup {config_path} to {config_path}.bak")
|
logger.info(f"Backup {config_path} to {config_path}.bak")
|
||||||
shutil.copy(config_path, f"{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}"
|
return f"音声ファイルとスタイル名の数が合いません。`,`で正しく{len(style_names)}個に区切られているか確認してください: {audio_files_str}と{style_names_str}"
|
||||||
style_name_list = [DEFAULT_STYLE] + style_names
|
style_name_list = [DEFAULT_STYLE] + style_names
|
||||||
if len(set(style_names)) != len(style_names):
|
if len(set(style_names)) != len(style_names):
|
||||||
return f"スタイル名が重複しています。"
|
return "スタイル名が重複しています。"
|
||||||
style_vectors = [mean]
|
style_vectors = [mean]
|
||||||
|
|
||||||
wavs_dir = os.path.join(dataset_root, model_name, "wavs")
|
wavs_dir = os.path.join(dataset_root, model_name, "wavs")
|
||||||
|
|||||||
@@ -147,10 +147,10 @@ def resample(model_name, normalize, trim, num_processes):
|
|||||||
cmd.append("--trim")
|
cmd.append("--trim")
|
||||||
success, message = run_script_with_log(cmd)
|
success, message = run_script_with_log(cmd)
|
||||||
if not success:
|
if not success:
|
||||||
logger.error(f"Step 2: resampling failed.")
|
logger.error("Step 2: resampling failed.")
|
||||||
return False, f"Step 2, Error: 音声ファイルの前処理に失敗しました:\n{message}"
|
return False, f"Step 2, Error: 音声ファイルの前処理に失敗しました:\n{message}"
|
||||||
elif 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}"
|
return True, f"Step 2, Success: 音声ファイルの前処理が完了しました:\n{message}"
|
||||||
logger.success("Step 2: resampling finished.")
|
logger.success("Step 2: resampling finished.")
|
||||||
return True, "Step 2, Success: 音声ファイルの前処理が完了しました"
|
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")
|
cmd.append("--use_jp_extra")
|
||||||
success, message = run_script_with_log(cmd)
|
success, message = run_script_with_log(cmd)
|
||||||
if not success:
|
if not success:
|
||||||
logger.error(f"Step 3: preprocessing text failed.")
|
logger.error("Step 3: preprocessing text failed.")
|
||||||
return (
|
return (
|
||||||
False,
|
False,
|
||||||
f"Step 3, Error: 書き起こしファイルの前処理に失敗しました:\n{message}",
|
f"Step 3, Error: 書き起こしファイルの前処理に失敗しました:\n{message}",
|
||||||
)
|
)
|
||||||
elif message:
|
elif message:
|
||||||
logger.warning(f"Step 3: preprocessing text finished with stderr.")
|
logger.warning("Step 3: preprocessing text finished with stderr.")
|
||||||
return (
|
return (
|
||||||
True,
|
True,
|
||||||
f"Step 3, Success: 書き起こしファイルの前処理が完了しました:\n{message}",
|
f"Step 3, Success: 書き起こしファイルの前処理が完了しました:\n{message}",
|
||||||
@@ -225,10 +225,10 @@ def bert_gen(model_name):
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
if not success:
|
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}"
|
return False, f"Step 4, Error: BERT特徴ファイルの生成に失敗しました:\n{message}"
|
||||||
elif message:
|
elif message:
|
||||||
logger.warning(f"Step 4: bert_gen finished with stderr.")
|
logger.warning("Step 4: bert_gen finished with stderr.")
|
||||||
return (
|
return (
|
||||||
True,
|
True,
|
||||||
f"Step 4, Success: BERT特徴ファイルの生成が完了しました:\n{message}",
|
f"Step 4, Success: BERT特徴ファイルの生成が完了しました:\n{message}",
|
||||||
@@ -250,13 +250,13 @@ def style_gen(model_name, num_processes):
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
if not success:
|
if not success:
|
||||||
logger.error(f"Step 5: style_gen failed.")
|
logger.error("Step 5: style_gen failed.")
|
||||||
return (
|
return (
|
||||||
False,
|
False,
|
||||||
f"Step 5, Error: スタイル特徴ファイルの生成に失敗しました:\n{message}",
|
f"Step 5, Error: スタイル特徴ファイルの生成に失敗しました:\n{message}",
|
||||||
)
|
)
|
||||||
elif message:
|
elif message:
|
||||||
logger.warning(f"Step 5: style_gen finished with stderr.")
|
logger.warning("Step 5: style_gen finished with stderr.")
|
||||||
return (
|
return (
|
||||||
True,
|
True,
|
||||||
f"Step 5, Success: スタイル特徴ファイルの生成が完了しました:\n{message}",
|
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")
|
cmd.append("--speedup")
|
||||||
success, message = run_script_with_log(cmd, ignore_warning=True)
|
success, message = run_script_with_log(cmd, ignore_warning=True)
|
||||||
if not success:
|
if not success:
|
||||||
logger.error(f"Train failed.")
|
logger.error("Train failed.")
|
||||||
return False, f"Error: 学習に失敗しました:\n{message}"
|
return False, f"Error: 学習に失敗しました:\n{message}"
|
||||||
elif message:
|
elif message:
|
||||||
logger.warning(f"Train finished with stderr.")
|
logger.warning("Train finished with stderr.")
|
||||||
return True, f"Success: 学習が完了しました:\n{message}"
|
return True, f"Success: 学習が完了しました:\n{message}"
|
||||||
logger.success("Train finished.")
|
logger.success("Train finished.")
|
||||||
return True, "Success: 学習が完了しました"
|
return True, "Success: 学習が完了しました"
|
||||||
|
|||||||
Reference in New Issue
Block a user