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, )