Closed litagin02 closed 8 months ago
https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/infer-web.py 見てください↑。最後の方でめっちゃwithしてます。また、多言語化の方法として、辞書での置き換え?をしているように見える 参考になることを祈って...
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)
'''
https://github.com/litagin02/Style-Bert-VITS2/pull/93 タブを作る関数をタブごとに分けてwebui/フォルダにまとめて、app.pyからそれらをimportするやり方で、webuiを一つ(エディターは別)にする方針でやっています
2.4.0にて統一しました
現状は各機能ごとに対応するpythonコードとbatファイルがある。 単一のWebUIでタブで分ける方式にしたほうがごちゃつかなくていいかも知れない。
ただ自分がGradio UIを組み上げる方法を、単純なwithブロック積み重ねしか知らないので、 単一のWebUIにする場合は、うまくいろいろ分けたりするリファクタリングをしたほうがよさそう。 (だけど自分ができるかは分からない……)