litagin02 / Style-Bert-VITS2

Style-Bert-VITS2: Bert-VITS2 with more controllable voice styles.
GNU Affero General Public License v3.0
775 stars 100 forks source link

Gradio WebUIの統一 #87

Closed litagin02 closed 8 months ago

litagin02 commented 9 months ago

現状は各機能ごとに対応するpythonコードとbatファイルがある。 単一のWebUIでタブで分ける方式にしたほうがごちゃつかなくていいかも知れない。

ただ自分がGradio UIを組み上げる方法を、単純なwithブロック積み重ねしか知らないので、 単一のWebUIにする場合は、うまくいろいろ分けたりするリファクタリングをしたほうがよさそう。 (だけど自分ができるかは分からない……)

OzoneAsai commented 9 months ago

https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/infer-web.py 見てください↑。最後の方でめっちゃwithしてます。また、多言語化の方法として、辞書での置き換え?をしているように見える 参考になることを祈って...

kale4eat commented 9 months ago

withブロックを使う中で タブなどのまとまりや再利用性のある構造は、 適宜、関数にしていくのが基本かと思われます。

サンプルコード:


def create_tab1():
    with gr.Tab() as t:
        # タブ1を定義
        pass
    return t

def create_tab2():
    with gr.Tab() as t:
        # タブ2を定義
        pass
    return t

if __name__ == "__main__":
    with gr.Blocks() as app:
        create_tab1()
        create_tab2()

    app.launch(inbrowser=True)
'''
litagin02 commented 8 months ago

https://github.com/litagin02/Style-Bert-VITS2/pull/93 タブを作る関数をタブごとに分けてwebui/フォルダにまとめて、app.pyからそれらをimportするやり方で、webuiを一つ(エディターは別)にする方針でやっています

litagin02 commented 8 months ago

2.4.0にて統一しました