Skip to content

Conversation

@qryxip
Copy link
Member

@qryxip qryxip commented Sep 20, 2025

内容

[後で書く]

今のとこ考えていること

こういうVoiceInfo型を考え、VoiceSpecFnMut(VoiceInfo<'_>) -> impl Ordおよびそのショートハンドから構成されるということにする。

#[derive(Clone, Copy, Debug, derive_more::Display)]
#[display("{}({})", character.name, style.name)]
#[non_exhaustive]
pub struct VoiceInfo<'metas> {
    pub style: &'metas StyleMeta,
    pub character: &'metas CharacterMeta,
}

VoiceSpec自体の定義はこう。Python APIでは合併型で、Java APIではデータ構造体にする。

pub trait VoiceSpec {
    type Priority: Ord;
    fn display(&self) -> impl Display;
    fn priority(&mut self, voice: VoiceInfo<'_>) -> Self::Priority;
}

関連 Issue

Resolves: #1156

その他

@qryxip
Copy link
Member Author

qryxip commented Sep 20, 2025

139b0fa (#1158): Rust APIを実装。ストリーミングAPIを実装したときのTALK/EXPERIMENTAL_TALKの切り替え機構がちょっと邪魔になってきたので、別PRでなんとかしたい。

@codspeed-hq
Copy link

codspeed-hq bot commented Sep 20, 2025

CodSpeed Performance Report

Merging #1158 will not alter performance

Comparing qryxip:pr/feat-breaking-introduce-voice-spec (0736378) with main (868289d)

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

Summary

✅ 16 untouched
⏩ 8 skipped1

Footnotes

  1. 8 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@qryxip
Copy link
Member Author

qryxip commented Sep 25, 2025

とりあえず実装を再開予定。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

音声合成系のメソッドに対し、StyleId以外の指定をできるようにする

1 participant