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

[ソング] ピッチ編集に合わせてボリュームを自動的に更新する #2015

Merged
merged 5 commits into from
Apr 26, 2024

Conversation

y-chan
Copy link
Member

@y-chan y-chan commented Apr 26, 2024

内容

Note

VOICEVOX/voicevox_engine#1187 のマージが必要です

ピッチ編集後のレンダー時に、音量を更新します。
なお、レンダー時の音声合成の直前で音量を更新するため、その音量は現状プロジェクトに保存されません
音量を操作できるようにする前に、保存されるようにする必要があります。

関連 Issue

ref VOICEVOX/voicevox_engine#1187

スクリーンショット・動画など

その他

今最速でできる一番バグが起きにくい形での実装を考えました
本当は色々考えてプロジェクトファイルへ音量を書き出すべきなのですが、UNDO/REDO回りがややこしくなりそうだったので、諦めました...

@y-chan y-chan marked this pull request as ready for review April 26, 2024 14:24
@y-chan y-chan requested a review from a team as a code owner April 26, 2024 14:24
@y-chan y-chan requested review from Hiroshiba, romot-co and sigprogramming and removed request for a team April 26, 2024 14:24
@y-chan
Copy link
Member Author

y-chan commented Apr 26, 2024

(sigさんromotさんをレビュワーにアサインさせていただきました...!見ていただけると大変助かります 🙇 )

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.

今お試し中なのですが、フレーズが2つあるとエラーになるかも・・・・・?

@y-chan
Copy link
Member Author

y-chan commented Apr 26, 2024

volumeを生成するときのnotesの範囲がミスってました...!
これで動くと思います...!

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

@sigprogramming sigprogramming left a comment

Choose a reason for hiding this comment

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

レンダリング周り問題ないと思います!
LGTM!!

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!!

なんか良さそうな感じに動くことを検証しました、ありがとうございます!!

Comment on lines +935 to +942
const notesForRequestToEngine = createNotesForRequestToEngine(
notes,
tempos,
tpqn,
keyRangeAdjustment,
frameRate,
restDurationSeconds,
);
Copy link
Member

Choose a reason for hiding this comment

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

これ2回実行してますが、1回実行してその結果を関数に渡す形でも良い気がしました!
もちろんエンジンに投げるスコアが必ず同じならですが。(今のところ必ず同じはず。)

Comment on lines +1345 to +1347
// ピッチ編集を適用したクエリから音量を作る
// 音量値はAPIを叩く毎に変わるので、calc hashしたあとに音量を取得している
const notesForRequestToEngine = createNotesForRequestToEngine(
Copy link
Member

Choose a reason for hiding this comment

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

これ多分本来は合成直前ではなく、ピッチ編集するたびに実行にした方が良さそうなんですよね。
入力が同じボリュームの計算を2回行っちゃってるので。
ただまぁボリュームの計算は重くないので、一旦毎回2回計算しちゃう形で良さそう。

でもなんか忘れそうなのでissue化しておくと安心なのかなとか思いました!

@Hiroshiba Hiroshiba merged commit 19c27ec into VOICEVOX:main Apr 26, 2024
9 checks passed
@Hiroshiba
Copy link
Member

こちら、声量調整パラメータの最適用を忘れていることに気づきました!!
もともと音量が小さいキャラクターは声量調整を大きくしないと聞こえないので結構致命的そうです。
修正を試みます!

sevenc-nanashi pushed a commit to sevenc-nanashi/voicevox that referenced this pull request Apr 28, 2024
* update openapi

* add volume update process

* fix miss

* update comment

* remove comment
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.

3 participants