Spaces:
Running
Running
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, | |
) |