-
Notifications
You must be signed in to change notification settings - Fork 310
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
CharacterInfoをエンジンから取って来るようにする #450
Conversation
src/openapi/apis/DefaultApi.ts
Outdated
query: queryParameters, | ||
}); | ||
|
||
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(SpeakerInfoFromJSON)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JSONのparseが上手くいかない。
単純に自分がバクに気付いていないだけか、内容が断定できない以下のjsonのparseができないのか検討中。
mainにSpeakerInfoを取得する部分が作られていたので、そこからマージする。
エンジンから取れるスピーカー情報の不一致が起こっている。
不一致部分speakersでは、styleが1つだが、speaker_infoのiconsを見る限りstyleが4つ 解消案UI側でのスピーカー情報の構造はこうなっている。
エンジンでspeakersにstyleを持たせているので、その構造をUIのStyleInfoと合わせる方が良いように感じる。 メリット
懸念点今のUIのStyleInfoがPathになっているので、内部の扱い方をbase64と変える判断をどうするか。 以下のように拡張して、
申し訳ありませんが、エンジン側の修正をご検討お願いしますmm |
文字列でデータを引っ張ってくる必要があるのは確かに手間がかかってしまうと思います!ぜひエンジン側のデータ構造を変更したいです。 ということで、speaker_infoとspeakersを混ぜるとエディタ側のデータ構造に近くなるように、speaker_infoの構造を変えるのはどうでしょう。 |
あ、懸念点の方のpathとbase64で型が違う点は、2つ持ってるとロジックがややこしくなりそうなので、とりあえず片方に寄せるのが良いかなと思います! |
エンジン側の変更が必要な場合は対応したいと思います。 |
@takana-v たしかに、記載した方が良さそうですね!リリースノートに書き加えようと思います。 |
ご検討ありがとうございます。上記をふまえて要件を考えました。 要件定義
再度ご検討いただき、問題なければ、エンジン側の変更をお願いしたいと思いますmm |
speaker情報とstyle情報で仕様が異なる(nameがあったりなかったり)のは混乱を生みそうとちょっと思いました。 |
では、/speaker_infoは/speakerエンドポイント側にない情報を返すようにしましょうか。
※ name突合のため計算量は size(style_infos) * size(speakersでのstyles)になります。 |
はい!そちらの感じで完璧だと思います!! |
ご検討ありがとうございます! @takana-v https://github.com/Hiroshiba/voicevox/pull/450#issuecomment-962551574 |
c9b3565
to
8899936
Compare
すみません、リリースを優先して作業していたらまたコンフリクトが発生してしまいました・・・ |
bdcd8f9
to
638e36d
Compare
こちら実装しました。お手数をおかけしますが、ご確認お願いします。 |
現状エンジン側に2キャラのデータしかないため、これをマージすると2キャラしか表示されなくなります。
といったことが起こっています。 ↓ 仕様ならば問題なし |
@shirowanisan おまたせしてしまって大変申し訳無いです。。 こちらが解決されるまでお待ち頂ければと思います。申し訳ないです。。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
長らくおまたせしてしまいました。良さそうです!!
修正ありがとうございます!
4096pxのbase64のdecodeが毎回実行されるためか、テキスト欄左のキャラクター選択UIの表示が毎回とても時間かかるのが気になりました。
簡単に直せそうならそちらも変更して頂けると嬉しいです。
難しそうならissue化したいと思います。
ac8e189
to
3166476
Compare
こちら、今回の修正でエンジンが起動するまでキャラクター画像が表示されなくなったので、それで遅くなったと感じている可能性はありませんか? |
@Hiroshiba 申し訳ありませんが、再度ご確認お願いしますmm |
恐らくbase64のdecodeよりも画像サイズが大きいファイルを何度もhtmlにinlineで埋め込むことで,DOMのサイズが肥大化しvueのv-nodeの生成,及びhtmlのパース辺りに時間が掛かっているのだと思います.(素人なので間違っていたらすみません) StyleInfoで渡ってきたbase64文字列をデータ構造に持つと描画時はそのまま埋め込むことになるので,fetch時にdecodeしてBlobに変換したものからurlを取得し,データ構造にはurlのみを持つ形にすれば描画が早くなりました. const buffer = Buffer.from(styleInfo.icon, "base64");
const iconBlob = new Blob([buffer.buffer], { type: "image/png" });
const iconBlobUrl = URL.createObjectURL(iconBlob); |
@Segu-g |
90f68fe
to
29e2a4f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
getDefaultStyleIdsに関するコメントを追記しました!
起動してみたのですが、もしかしたら設定ファイルを一度消してから実行するとUIが何も表示されないかもしれません。 |
すみません。こちら私の所持する「Mac」「Windows10」で共に試してみたのですが、自分の場合は問題なく表示されました。 今までの挙動の違いとして、config.jsonがないときに この違いではなく「設定ファイルを一度消してから実行するとUIが何も表示されない」が起こっているのであれば、とても申し訳ないのですが、自分の環境では今のところ再現できず、誰かのお力添えを得られればと思っています... |
あ!! なるほどです、すみません、preview版のエンジンを使えていませんでした! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!
読みやすい良いコードだと感じました!
デフォルトスタイル周りもちょっと変わってくるので、 @MT224244 さん辺りのレビューも頂けると心強いです!
@Hiroshiba |
マージはレビュワーにしか権限がないので、お任せください! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTMです!
内容
題の通り
動作確認には
VOICEVOX ENGINE 0.10.preview.2
以降のpreview版エンジンが必要https://github.com/VOICEVOX/voicevox_engine/releases/tag/0.10.preview.2
関連 Issue
ref #429
close #433