-
Notifications
You must be signed in to change notification settings - Fork 119
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
feat!: liberate VOICEVOX CORE #825
Conversation
"type": "vv-bin", |
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.
draft状態ですけどちょっと見させていただきました!
コードは良さそう!!
製品版周りの扱いに関して相談があります!
VOICEVOXエンジンやエディタは、OSSリポジトリのreleasesで製品版をリリースしています。
コアも同じ感じにしていたのですが、このプルリクエストでis_production
フラグが消えて、一部製品版ではないものをビルドする方に倒されてるかもと感じました!
そのため製品版のonnxruntimeであるvoicevox_onnxruntime
を使っているけど、READMEは製品版のものに変えず、製品版のVVMのサポートが外れ、代わりにOSSサンプルのVVMがビルドされる形になっていそうです。
is_producrion
フラグを消すのは賛成で、更に全部製品版に寄せるのが手っ取り早い気がしました。
この辺りは考え方いろいろあると思います!
とりあえずエンジンとエディターに合わせる感じとかどうかなと思い、その前提でちょっと色々コメントしてみました。
.or_else(|err| { | ||
warn!("{err}"); | ||
warn!("falling back to `{alt_onnxruntime_filename}`"); | ||
voicevox_core::blocking::Onnxruntime::load_once() | ||
.filename(alt_onnxruntime_filename) | ||
.exec() | ||
}) |
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.
(ただのコメントです)
ここのフォールバックは将来必要なくなるかもですね!
まあまだ色々わからないけど。
|
voicevox_onnxruntime自体の用意ができていませんが、多分時間がかかりそうであることを考えるとこのPRはさっさとマージした方がよいですかね? |
@qryxip ちょっと迷いどころですが、 @qryxip さんの都合に合わせてマージしてもいいと思います! というのも、多分このプルリクエストをマージすると、製品版をビルドしてもVVMがロードできなくなるんですよね~~ ただこのプルリクエストがマージされていないと進められないタスクもあると思うので、マージするのに反対ではないです。 まあもしmainブランチで製品版ビルドしたものが動かない状態が微妙というところでしたら、一旦projectブランチを作ってそちらにマージするとかはありかもです。 ということで、ちょっと問題は生じそうです+とはいえ進めやすい方法でいいと思います、って感じです! |
そうですね… このPRによってブロックされるというタスクは多分そんなに無い気がするので、draftのままでいいのかなと思ってます。ダウンローダーもVVMについては別で進められるかと。 (projectブランチも作らなくていいのではと思ってます。結局コンフリクト解消の手間をいつ取るのかという話になりそう。) |
`voicevox_core` (Rust API)以外のクレートの`package.license`を設定する。 今後crates.ioに上げる可能性のある`voicevox_core_macros`については VOICEVOX/open_jtalk-rs#32 のようにLICENSEファイルへのシンボリックリンク を置く。 `voicevox_core` (Rust API)についてだけは #825 の中で行う。 Refs: #332
a4b78e8
to
770654b
Compare
@Hiroshiba これで試せるはず? voicevox_onnxruntimeは: /~https://github.com/VOICEVOX/onnxruntime-builder/releases/tag/voicevox_onnxruntime-999.999.999 |
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_onnxruntimeを使うようになる、という理解でいます!
話として後回しになってそうなものを列挙してみました:
README周り(たぶんcore.zip内のreadmeは削除で良さそう?)
#825 (comment)
downloader周り(一旦壊れることになる・・・?いやならなさそうな気がする!)
#825 (comment)
is_productionフラグを失くす?
#825 (comment)
必要とあらば↓に書き足しておくと忘れないかも!
お疲れ様でした!!!
あ、一応ですが私の手元のLinux CUDA版でも動いているっぽいです。 |
内容
manifest.jsonの"…_filename"部分を変更し、.binを認識できるようにします。.binの場合、change: liberate VOICEVOX CORE ort#8で追加される
SessionBuilder::commit_from_vv_bin
を用います。Onnxruntime::LIB_NAME
を"onnxruntime"
から"voicevox_onnxruntime"
にします。compatible_engineの場合だけ、
"voicevox_onnxruntime"
で失敗すると"onnxruntime"
にフォールバックするようにしています。(モック目的で使えるように)
change: liberate VOICEVOX CORE ort#8でログのフィルタリングをやめる代わりに、C APIのログフィルタの
ort=info
をort=warn
にします。(現行のONNX Runtime v1.17.3とsample.vvmだとログが大量に出てしまいました)
build_and_deployの
is_production
周りを吹き飛ばします。関連 Issue
Resolves VOICEVOX/voicevox_project#24.
Resolves #388.
Resolves #722.
その他