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が複数に分かれていれば発生すると思います
不具合の内容
https://github.com/VOICEVOX/voicevox_engine/issues/1021 engine側で不具合報告をしたところ、Core側のAPI「metas」に問題があるとの連絡を受けましたので、改めてこちらでIssueとして立てさせてください。具体的な事象は↑を読んでいただけると幸いです。
現象・ログ
再現手順
C APIの「metas」を実行することで、「玄野武宏(uuid: c30dc15a-0992-4f8d-8bb8-ad3b314e6a6f)」のデータが分散してます (スタイルが4.vvmと10.vvmにまたがるため) おそらく他の話者でもスタイルに対してVVMが複数に分かれていれば発生すると思います
期待動作
4.vvmのスタイル情報と10.vvmのスタイル情報が1つのメタから返ってきてくれると、v0.15のengineで問題が解消されると期待してます
VOICEVOXのバージョン
OSの種類/ディストリ/バージョン
その他
https://github.com/VOICEVOX/voicevox_core/blob/4e13bca5a55a08d7aea08af4f949462bd284b1c1/crates/voicevox_core_c_api/src/compatible_engine.rs#L44 ここのflat_map後、speaker_uuidに対してuniqueにしてstylesをAppendする処理が必要、という気がしてます