Skip to content

feat!: VoiceSpecという概念を導入し、名前で声を指定できるように#1158

Draft
qryxip wants to merge 7 commits into
VOICEVOX:mainfrom
qryxip:pr/feat-breaking-introduce-voice-spec
Draft

feat!: VoiceSpecという概念を導入し、名前で声を指定できるように#1158
qryxip wants to merge 7 commits into
VOICEVOX:mainfrom
qryxip:pr/feat-breaking-introduce-voice-spec

Conversation

@qryxip
Copy link
Copy Markdown
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
Copy Markdown
Member Author

qryxip commented Sep 20, 2025

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

@codspeed-hq
Copy link
Copy Markdown

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
Copy Markdown
Member Author

qryxip commented Sep 25, 2025

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

@qryxip qryxip mentioned this pull request Jan 29, 2026
20 tasks
@qryxip qryxip mentioned this pull request Mar 26, 2026
10 tasks
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