Skip to content

同一話者に対してスタイルが複数のVVMにまたがった際にC API「metas」の情報が想定外のものとなる #727

@hmoriz

Description

@hmoriz

不具合の内容

VOICEVOX/voicevox_engine#1021
engine側で不具合報告をしたところ、Core側のAPI「metas」に問題があるとの連絡を受けましたので、改めてこちらでIssueとして立てさせてください。具体的な事象は↑を読んでいただけると幸いです。

現象・ログ

  • C API「metas」にて、同じ話者に対して、スタイル情報が複数のVVMにまたがった際に話者情報が分散してしまう
  • 上記によりVOICEVOX_engineのGET /speakersで同一話者に対して複数の情報が分散し、 GET /speaker_infoで正しい情報が取得できないという問題が発生する (ログはengineのIssueのを参照してください)

再現手順

C APIの「metas」を実行することで、「玄野武宏(uuid: c30dc15a-0992-4f8d-8bb8-ad3b314e6a6f)」のデータが分散してます (スタイルが4.vvmと10.vvmにまたがるため)
おそらく他の話者でもスタイルに対してVVMが複数に分かれていれば発生すると思います

期待動作

4.vvmのスタイル情報と10.vvmのスタイル情報が1つのメタから返ってきてくれると、v0.15のengineで問題が解消されると期待してます

VOICEVOXのバージョン

  • VOICEVOX COREはv0.15.0-preview.16 の各種dllダウンロードして利用
    • COREに非公開のソースコードが含まれているっぽく、今回製品版VVMを利用したかったためreleasesからdllをダウンロードして利用してます
  • VVMはvoicevox_fat_resourceから借用
  • VOICEVOX Engine v0.15.X (mainブランチの1/21現在の最新コミット)経由でCOREを実行

OSの種類/ディストリ/バージョン

  • Windows
  • macOS
  • Linux

その他

let metas: Vec<_> = all_vvms.iter().flat_map(|vvm| vvm.metas()).collect();

ここのflat_map後、speaker_uuidに対してuniqueにしてstylesをAppendする処理が必要、という気がしてます

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