amateur_voice / .ipynb_checkpoints /app-checkpoint.py
cockolo terada
Upload folder using huggingface_hub
2d48e71 verified
import argparse
from pathlib import Path
import gradio as gr
import torch
# --- [変更点1] 必要な関数だけをインポート ---
# 拡張機能タブから必要なものだけをインポート
from gradio_tabs3.single import create_synthesis_app
from gradio_tabs3.merge import create_merge_app
# ---------------------------------------------
from config import get_path_config
from style_bert_vits2.constants import GRADIO_THEME, VERSION
from style_bert_vits2.nlp.japanese import pyopenjtalk_worker
from style_bert_vits2.nlp.japanese.user_dict import update_dict
from style_bert_vits2.tts_model import TTSModelHolder
# このプロセスからはワーカーを起動して辞書を使いたいので、ここで初期化
pyopenjtalk_worker.initialize_worker()
# dict_data/ 以下の辞書データを pyopenjtalk に適用
update_dict()
parser = argparse.ArgumentParser()
parser.add_argument("--device", type=str, default="cuda")
parser.add_argument("--host", type=str, default="127.0.0.1")
parser.add_argument("--port", type=int, default=None)
parser.add_argument("--no_autolaunch", action="store_true")
parser.add_argument("--share", action="store_true")
args = parser.parse_args()
device = args.device
if device == "cuda" and not torch.cuda.is_available():
device = "cpu"
path_config = get_path_config()
model_holder = TTSModelHolder(Path(path_config.assets_root), device)
# 起動時にトップへスクロールさせるjsを追加
with gr.Blocks(theme=GRADIO_THEME, js="() => { window.scrollTo(0, 0); }") as app:
# タイトルを少し変更しても良いかもしれません
gr.Markdown(f"# Style-Bert-VITS2 拡張ツール (version {VERSION})")
# --- [変更点2] 表示したいタブだけを残す ---
with gr.Tabs():
with gr.Tab("拡張音声合成"):
# 拡張ツールの音声合成タブ (single.py)
create_synthesis_app(model_holder=model_holder)
with gr.Tab("モデルマージ"):
create_merge_app(model_holder=model_holder)
# ---------------------------------------------
app.launch(
server_name=args.host,
server_port=args.port,
inbrowser=not args.no_autolaunch,
share=args.share,
)