Skip to content

[vvm] styleIdとsession.runに渡す数値が異なっているVVMでも音声合成できるようにする #548

@Hiroshiba

Description

@Hiroshiba

内容

VVM以前はstyleIdとonnxモデルで推論するのに渡す数値(ややこしいですがspeaker_idと呼んでたりします)が異なる場合もサポートされていました。

pub(crate) speaker_id_map: BTreeMap<u32, (usize, u32)>,

↑のspeaker_id_mapはstyleId -> (modelId, speakerId)のマップです。
VVMではid_relationsと名前が変わり、modelIdへのマップだけになりました。

id_relations: BTreeMap<StyleId, VoiceModelId>,

ここに新たに、onnxモデルに渡す数値を格納できるようにしたいです。

Pros 良くなる点

以前のモデルで音声合成できるようになる

Cons 悪くなる点

VVMの中にマッピングを書かないといけない

実現方法

データ構造は

id_relations: BTreeMap<StyleId, (VoiceModelId, ModelInnerId)>, 

とかにしようかなと思っています。

VVMの中にマッピングを書く必要がありますが、manifest.jsonに書くのが良いだろうと思っています。
VVMには他にもmetas.jsonがありますが、こちらはコア内で使うだけでなく、ユーザーが使うものでもあります。
一方でmanifest.jsonはコアだけが使う情報が書かれているので、書くならこっちかなと思っています。

style_id_map: {styleId: modelInnerId}辺りをオプショナルで持てるようにしようかなと。

その他

ref #545

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions