Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ソング:ピッチ生成ステージを追加 #2341

Merged
merged 3 commits into from
Nov 5, 2024

Conversation

sigprogramming
Copy link
Contributor

内容

まだ音素タイミング編集機能の設計はできていませんが、ピッチ生成ステージは必要になるので、ひとまず実装します。

関連 Issue

その他

@sigprogramming sigprogramming requested a review from a team as a code owner November 4, 2024 15:27
@sigprogramming sigprogramming requested review from Hiroshiba and removed request for a team November 4, 2024 15:27
Comment on lines +1977 to +1982
const generateSingingPitch = async (
singingPitchSource: SingingPitchSource,
) => {
// TODO: ピッチ生成APIに対応する
return singingPitchSource.queryForPitchGeneration.f0;
};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ひとまずクエリ生成ステージで生成済みのピッチを返すようにしています。

Copy link
Member

@Hiroshiba Hiroshiba Nov 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

あっ ピッチ生成APIがまだないですね!!!!!

見てみたのですが、すでにコアにはピッチ生成機能があり、エンジンもコアのその機能の接続まではできてたのですが、WEB APIとして実装されてない雰囲気でした!!
実装までの道を確認しつつ、流れを書いてみたのでとりあえずメモまで!!


たぶん手順4つで実装が可能そう!

  1. tts_engine.py内のcreate_sing_volume_from_phoneme_and_f0のようにcreate_sing_f0_from_phonemeを作る。
    create_sing_volume_from_phoneme_and_f0
    https://github.com/VOICEVOX/voicevox_engine/blob/9506de28639a067cf0540aa1725586d15c9bcf2c/voicevox_engine/tts_pipeline/tts_engine.py#L657
    (ファイル名がtts_engine.pyですが、sing APIのための関数もここに含まれてます。。)

  2. sing_frame_volume WEB APIのようにsing_frame_f0 WEB APIを作る。
    sing_frame_volume
    https://github.com/VOICEVOX/voicevox_engine/blob/9506de28639a067cf0540aa1725586d15c9bcf2c/voicevox_engine/app/routers/tts_pipeline.py#L419

  3. いい感じにテストも作る。(たぶん結構コピペで作れる・・・はず)
    テストによってはスナップショットの更新も必要なはず。
    CONTRIBUTING.mdの↓のとこに書いてます!
    https://github.com/VOICEVOX/voicevox_engine/blob/9506de28639a067cf0540aa1725586d15c9bcf2c/CONTRIBUTING.md#L316-L317

  4. エディタ側のOpenAPI更新。

  5. (オプション)プレビュー版リリース作成(エディタ側のNightlyビルドに必要)
    これはヒホのタスク。Github Actions回すだけなはず。

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!

一部確認のためにコメントしたので、一旦そちらお待ちしたいと思います!

ピッチ生成APIが未実装なので、ちょっと実装方法を調べてみました 🙇

src/store/singing.ts Outdated Show resolved Hide resolved
src/store/singing.ts Show resolved Hide resolved
Comment on lines +1977 to +1982
const generateSingingPitch = async (
singingPitchSource: SingingPitchSource,
) => {
// TODO: ピッチ生成APIに対応する
return singingPitchSource.queryForPitchGeneration.f0;
};
Copy link
Member

@Hiroshiba Hiroshiba Nov 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

あっ ピッチ生成APIがまだないですね!!!!!

見てみたのですが、すでにコアにはピッチ生成機能があり、エンジンもコアのその機能の接続まではできてたのですが、WEB APIとして実装されてない雰囲気でした!!
実装までの道を確認しつつ、流れを書いてみたのでとりあえずメモまで!!


たぶん手順4つで実装が可能そう!

  1. tts_engine.py内のcreate_sing_volume_from_phoneme_and_f0のようにcreate_sing_f0_from_phonemeを作る。
    create_sing_volume_from_phoneme_and_f0
    https://github.com/VOICEVOX/voicevox_engine/blob/9506de28639a067cf0540aa1725586d15c9bcf2c/voicevox_engine/tts_pipeline/tts_engine.py#L657
    (ファイル名がtts_engine.pyですが、sing APIのための関数もここに含まれてます。。)

  2. sing_frame_volume WEB APIのようにsing_frame_f0 WEB APIを作る。
    sing_frame_volume
    https://github.com/VOICEVOX/voicevox_engine/blob/9506de28639a067cf0540aa1725586d15c9bcf2c/voicevox_engine/app/routers/tts_pipeline.py#L419

  3. いい感じにテストも作る。(たぶん結構コピペで作れる・・・はず)
    テストによってはスナップショットの更新も必要なはず。
    CONTRIBUTING.mdの↓のとこに書いてます!
    https://github.com/VOICEVOX/voicevox_engine/blob/9506de28639a067cf0540aa1725586d15c9bcf2c/CONTRIBUTING.md#L316-L317

  4. エディタ側のOpenAPI更新。

  5. (オプション)プレビュー版リリース作成(エディタ側のNightlyビルドに必要)
    これはヒホのタスク。Github Actions回すだけなはず。

src/store/singing.ts Outdated Show resolved Hide resolved
Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

マージします!!

@Hiroshiba Hiroshiba merged commit fb33907 into VOICEVOX:main Nov 5, 2024
8 checks passed
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.

2 participants