-
Notifications
You must be signed in to change notification settings - Fork 120
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
styleIdとsession.runに渡す数値が異なっているVVMでも音声合成できるようにする #551
The head ref may contain hidden characters: "styleId\u3068session.run\u306B\u6E21\u3059\u6570\u5024\u304C\u7570\u306A\u3063\u3066\u3044\u308BVVM\u3067\u3082\u97F3\u58F0\u5408\u6210\u3067\u304D\u308B\u3088\u3046\u306B\u3059\u308B"
styleIdとsession.runに渡す数値が異なっているVVMでも音声合成できるようにする #551
Conversation
pub fn predict_duration_session_run( | ||
&self, | ||
style_id: StyleId, | ||
model_id: &VoiceModelId, | ||
inputs: Vec<&mut dyn AnyArray>, | ||
) -> Result<Vec<f32>> { |
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.
ここはスタイルIDではなくモデルIDを渡す設計の方が正しそうだったのでそうしました
VOICEVOX_RESULT_INVALID_MODEL_INDEX_ERROR => "無効なmodel_indexです\0", | ||
VOICEVOX_RESULT_INVALID_MODEL_ID_ERROR => "無効なmodel_indexです\0", |
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.
Model IndexではなくModel Idになったけど、このエラーメッセージが1回も使われてなかったのでスルーされてました
今CIが落ちていますが、直しかたは次のようになると思います。
|
mainに追従して、エラーメッセージがおかしかったのと、ドキュメント的にこっちのがちょっといいかなと思って修正しました e7896bb |
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です!
#[derive(Deserialize, Getters, Clone)] | ||
pub struct Manifest { | ||
manifest_version: ManifestVersion, | ||
metas_filename: String, | ||
decode_filename: String, | ||
predict_duration_filename: String, | ||
predict_intonation_filename: String, | ||
#[serde(default)] | ||
style_id_to_model_inner_id: BTreeMap<StyleId, ModelInnerId>, |
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.
今言うのもなんですが、"model_inner_id"という名前に欠点があるとすれば、声(voice)を指すことが少しだけわかりずらくなっているというのがあるかなと思いました。
"speaker_id"という表現はもうcompatible_engine
以外で使っていないので、"true_speaker_id"とかにするというのもアリなんじゃないかと思いました。
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.
確かに言われておっしゃる通りなかなか分かりにくくなっているなと思いました。
大事なのはmodel_inner
の部分だと思っていて、例えば同じ声を作れるものが、別のモデルでは別のIDになっていることもなくはない感じです。
speaker
は声なのか話者なのか一意に定まらないので、やるとしたらmodel_inner_voice_id
あたりなのかな~と思いました。
とりあえずこの値はここでしか使われていないから、一旦このままでも通じるのかなと思いました!
ただ分かりにくいのはおっしゃる通りだと思うので、いつか変更する場合はたぶん賛成できます。
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.
ああ言われてみればモデルごとに違ってもいいんですね。
他にあるとすれば...local_voice_id
とか...?
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.
確かにmodel
含めなくてもいいかもですね! inner_voice_id
とかもありかもです。
レビュー本当にありがとうございます!!! |
内容
の解決です。
manifest.json
にマッピング情報を記載し、id_relations
に格納して値を取り回すようにしました。InferenceCoreとStatusの役割がちょっとごちゃごちゃになっている印象を受けました。
VvmModelの情報をとりあえずStatusに持たせてみています。
ちょっとどういう設計にすればいいのかはパッと思いつけませんでした。
関連 Issue
fix #548
その他