File size: 2,227 Bytes
2d48e71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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,
)