Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

エンジン側でいろいろ設定できるGUIの追加 #531

Merged
merged 17 commits into from
Dec 31, 2022

Conversation

My-MC
Copy link
Contributor

@My-MC My-MC commented Dec 20, 2022

内容

設定GUIを追加を行いました

  • Jinja2の追加
  • setting.ymlからも設定を読み込むように
  • CORS関連を設定できるWebGUIの追加

GUIの動作確認はChrome Firefox Edgeで行い、すべてにおいて正常に動作しました

関連 Issue

ref #522

スクリーンショット・動画など

WebUIのスクリーンショットです

Screenshot 2022-12-24 at 08-24-16 VOICEVOX Engine 設定

その他

- Jinja2の追加

- setting.ymlからも設定を読み込むように

- CORS関連を設定できるWebGUIの追加
@github-actions
Copy link

github-actions bot commented Dec 20, 2022

Coverage Result

Resultを開く
Name Stmts Miss Cover
voicevox_engine/init.py 1 0 coverage-100%
voicevox_engine/acoustic_feature_extractor.py 75 0 coverage-100%
voicevox_engine/dev/synthesis_engine/init.py 2 0 coverage-100%
voicevox_engine/dev/synthesis_engine/mock.py 36 2 coverage-94%
voicevox_engine/full_context_label.py 162 3 coverage-98%
voicevox_engine/kana_parser.py 86 1 coverage-99%
voicevox_engine/model.py 154 7 coverage-95%
voicevox_engine/mora_list.py 4 0 coverage-100%
voicevox_engine/part_of_speech_data.py 5 0 coverage-100%
voicevox_engine/preset/Preset.py 12 0 coverage-100%
voicevox_engine/preset/PresetLoader.py 34 1 coverage-97%
voicevox_engine/preset/init.py 3 0 coverage-100%
voicevox_engine/synthesis_engine/init.py 5 0 coverage-100%
voicevox_engine/synthesis_engine/core_wrapper.py 206 166 coverage-19%
voicevox_engine/synthesis_engine/make_synthesis_engines.py 57 49 coverage-14%
voicevox_engine/synthesis_engine/synthesis_engine.py 133 12 coverage-91%
voicevox_engine/synthesis_engine/synthesis_engine_base.py 67 9 coverage-87%
voicevox_engine/user_dict.py 129 6 coverage-95%
voicevox_engine/utility/init.py 3 0 coverage-100%
voicevox_engine/utility/connect_base64_waves.py 37 0 coverage-100%
voicevox_engine/utility/path_utility.py 26 6 coverage-77%
TOTAL 1237 262 coverage-79%

Copy link
Member

@takana-v takana-v left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

少し気になった点をコメントしました。
また、READMEの方にこの機能について追記していただくと、ユーザーの方が使いやすいかと思います。

run.py Outdated Show resolved Hide resolved
voicevox_engine/setting/Setting.py Outdated Show resolved Hide resolved
voicevox_engine/setting/SettingLoader.py Outdated Show resolved Hide resolved
Copy link
Member

@sevenc-nanashi sevenc-nanashi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

横からですが、いくつか気になったところがあったのでコメントしました。

また、送信時にalertか何かでメッセージを出した方がわかりやすい気がします。

ui_template/ui.html Outdated Show resolved Hide resolved
ui_template/ui.html Outdated Show resolved Hide resolved
ui_template/ui.html Outdated Show resolved Hide resolved
@My-MC
Copy link
Contributor Author

My-MC commented Dec 22, 2022

すみません。今年末で色々と立て込んでて、PRを出すのが遅くなりそうだったので、途中でしたが出した感じでした。週末でご指摘いただいた内容と続きをしていきますのでどうかお願いします。

@Hiroshiba
Copy link
Member

PRありがとうございます!コードは簡潔で読みやすかったです!!
とても素晴らしいPRなのでぜひマージまでできると嬉しいですね・・・!!

@My-MC My-MC changed the title Add setting UI エンジン側でいろいろ設定できるGUIの追加 Dec 23, 2022
@My-MC
Copy link
Contributor Author

My-MC commented Dec 23, 2022

確認を保存する前に行うようにしました。また、selectを使って選ぶ形式に変更しました。

@My-MC
Copy link
Contributor Author

My-MC commented Dec 24, 2022

とりあえず、ご指摘いただいた内容に関して修正を行いました。CorsPolicyMode以外の値も受け入れてしまう問題ですが、selectで選択する形式にしたので、問題ないと思います。

また、一つ質問なのですがBootstrapが通信で取得されるので、ローカルに保存してもいいのかなと思いましたがいかかでしょう。BootstrapはMITライセンスです。

@Hiroshiba
Copy link
Member

一つ質問なのですがBootstrapが通信で取得されるので、ローカルに保存してもいいのかなと思いましたがいかかでしょう。

7MBほどでしょうか。保存したほうが良さそうですね!
が、エンジンはPyInstallerでのパッケージングを行っている関係で、少し大変かもしれません。

もし慣れている、あるいは挑戦したい感じであればお任せしたいです!
そうでもないなら一旦このままマージしたあと、Bootstrapローカル保存部分だけissue化、その後取り組む(かそのままにする)のも良いと思います!

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

実行してみました!!UIいい感じだと思います!
ちょっといくつか実装周りで気になったことが合ったのでコメントしてみました!

run.py Outdated Show resolved Hide resolved
run.py Outdated Show resolved Hide resolved
run.py Outdated Show resolved Hide resolved
run.py Outdated Show resolved Hide resolved
@My-MC
Copy link
Contributor Author

My-MC commented Dec 26, 2022

設定ファイルをユーザー辞書と同じように永続化できるようにし、setting_loaderif __name__ == "__main__"で作り渡すというように変更しました。
また、UIでallow_origin is Noneのときは空白が渡るように変更しました

run.py Outdated Show resolved Hide resolved
run.py Outdated Show resolved Hide resolved
@My-MC
Copy link
Contributor Author

My-MC commented Dec 27, 2022

ご指摘された内容を修正し、README.mdにこれの記述を追加し、ビルドに対応しました。

README.md Outdated Show resolved Hide resolved
@My-MC
Copy link
Contributor Author

My-MC commented Dec 28, 2022

READMEの方を修正しました。これで大丈夫だと思います。

テストの追加やローカルにbootstrapを保存するなどはまたPRを立てて行いたいと思います。

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!

修正ありがとうございます、かなり良い感じになったのではと思いました!!
いくつかコメントしていますがあまり強い意見ではないです!

approveが付いたので、これ以降はレビュー内容の修正のみにして、処理や要素の追加は別PRにしていただけると助かります!

run.py Outdated Show resolved Hide resolved
run.py Outdated Show resolved Hide resolved
voicevox_engine/setting/SettingLoader.py Outdated Show resolved Hide resolved
@My-MC
Copy link
Contributor Author

My-MC commented Dec 29, 2022

プレビューの内容を修正しました。二つは消し忘れでした。

Copy link
Member

@takana-v takana-v left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2点ほどコメントしました。
そこまで強い意見ではないので、変更が難しいようであればこのままでも大丈夫です。

ui_template/ui.html Outdated Show resolved Hide resolved
run.py Outdated Show resolved Hide resolved
@My-MC
Copy link
Contributor Author

My-MC commented Dec 31, 2022

今思ったのですが、設定ファイルの初期化機能あった方がいいですかね。

Copy link
Member

@takana-v takana-v left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
初期化機能、良いと思うので、ぜひPRを送って頂ければと思います。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants