VOICEVOX / voicevox

無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXのエディター
https://voicevox.hiroshiba.jp/
Other
2.51k stars 305 forks source link

ソング:Speakerの初期化を`SET_SINGER`で行わないようにする #2359

Open sigprogramming opened 2 hours ago

sigprogramming commented 2 hours ago

内容

現在、SET_SINGERでSpeakerの初期化(INITIALIZE_ENGINE_SPEAKERの実行)を行っていますが、Speakerの初期化中はUIがロックされます。 これが結構UXを下げているように感じました。(特にエディタ起動直後) また、ソングエディタでSpeakerの初期化を前もって行う必要はない気がします。(レンダリングに時間がかかることを前提とした設計・UIになっている) なので、Speakerの初期化をSET_SINGERで行わないようにするのが良いかなと思います。

Pros 良くなる点

Cons 悪くなる点

実現方法

SET_SINGER

void actions.SETUP_SINGER({ singer: { engineId, styleId } });

を削除する。

その他

Hiroshiba commented 2 hours ago

確かに不要そうだと感じました!!

INITIALIZE_ENGINE_SPEAKER側にUI_LOCKするかどうかのフラグを持たせて、トーク側からはロックし、ソング側からはロックしないようにするのが UX 的には最高かもです。

エンジン側には初期化をリクエストしておきつつUI は触れるようにしておく感じになるかなと。 ちなみにエンジン側はセマフォ?してるので、続けてリクエストを送っても送らなくても大丈夫なようになっています。

(ついでにINITIALIZE_ENGINE_SPEAKERspeaker部分をcharacterに名前変更しておきたいかも 😇 )