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

キーを変更する機能を追加 #1842

Merged
merged 5 commits into from
Feb 13, 2024
Merged

Conversation

sigprogramming
Copy link
Contributor

@sigprogramming sigprogramming commented Feb 11, 2024

内容

キーを変更する(キーシフトを設定する)機能を追加します。
キーはノートのキーと歌声(f0)のキーの2つがありますが、ひとまず歌声のキーのシフト量をUI(仮)で設定できるようにして、ノートのキーのシフトは処理のみ実装します。

関連 Issue

ref #1838

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

キーシフトUI

その他

  • UIは仮です
    • 数値をクリックで設定UI(テキストボックスなど)が表示される形の方が良いかも…?

@sigprogramming sigprogramming requested a review from a team as a code owner February 11, 2024 04:51
@sigprogramming sigprogramming requested review from Hiroshiba and removed request for a team February 11, 2024 04:51
@sigprogramming sigprogramming changed the title 歌声のキーを変更する機能を追加 キーを変更する機能を追加 Feb 11, 2024
romot-co pushed a commit that referenced this pull request Feb 12, 2024
@romot-co
Copy link
Contributor

ほんのわずかにのみ調整いたしました(よりシンガーのパラメータっぽく見せる)
スクリーンショット 2024-02-12 13 11 52

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なのですが、どういう UX にするべきかでちょっとかなり迷ってます!!

今だとキーシフトしている状態だと、見た目の音と鳴る音がずれるんですよね。
例えばUI上でC4になってるノートが、キーシフト+2だとD4が鳴る、みたいな。
個人的にはもしかしたら分かりにくいと思っていて、見た目と鳴る音は一致させた方がいいのではと思ってます。

悩んでるのはこっからで、それをどうユーザーにわかるようにすればいいかわからず。。。。
実装的には、↓みたいにSET_VOICE_KEY_SHIFTのときに、noteKeyShiftにも-voiceKeyShiftを代入してあげればできるのですが、
image
でもユーザーにとって何が起こっているか全く伝わらないよなぁと・・・・。
(入力されたノートを、キーシフトの値だけずらした状態でピッチ生成し、ピッチ生成した結果をまたキーシフトの値だけずらして元に戻して歌声合成する。これでピッチ生成の得意音域と歌声合成の得意音域のズレを解消する)

であれば今 @sigprogramming さんが実装してくださっている「見た目と鳴る音が異なるけど何が起こってるかはわかりやすい」方が良いのかな~と・・・。
いやーーーーーー難しいですね!!!!!!どうしたら良いんだ!!!!! 😇 😇 😇

Comment on lines 281 to 282
voiceKeyShift <= 18 &&
voiceKeyShift >= -18
Copy link
Member

Choose a reason for hiding this comment

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

ちょっと無茶かもですが、24くらいまでいけると嬉しいかもです!

@romot-co
Copy link
Contributor

romot-co commented Feb 12, 2024

@Hiroshiba @sigprogramming
個人的な意見としては:

ユーザーから見るとたぶん

  • ピアノロール上の見た目と鳴る音は一致している
  • 歌手Aさんの音域はmid1A-hiA(A2-A4)ぐらいってことになってる

ぐらいまでの認識となり、
それ以上はどういう形にしても自然ではなく「そういう機能」としての説明が必要になると思っています…!

男性キャラであれば、

A2は歌えないけど、1オクターブ上の歌い方にすれば歌えます!→なんで…?A2でそのまま歌ってくれん…?

になるかなー、なので、システム上の制限でA2を1オクターブ上で歌わせる必要があるよ!と説明するしかなさそうかと…!

当面はsingerごとにハードコードでキーシフトのデフォルト値を設定するとか…?

@Hiroshiba
Copy link
Member

Hiroshiba commented Feb 12, 2024

@romot-co なるほどです!
たしかにもうそういうもんだと説明するしかないかもですね…。
デフォルト値もありかもですが、使い方だけで説明するなら「男性の場合は、ここのパラメータをこれにして、ノートはこの辺に置けば良い感じになります」みたいな…。

@Hiroshiba
Copy link
Member

まあいろいろ議論はありそうなのですが、とりあえずマージを目指して、devビルドでみんな使えるようにするのが良さそうかも?

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

実装読みやすかったです…!!

@sigprogramming
Copy link
Contributor Author

sigprogramming commented Feb 12, 2024

ありがとうございます!
#1838@Hiroshibaさんがおっしゃっていますが、一旦は「ユーザーにキーを調整してもらう形」で、理想は「エンジンから各キャラクターの音域を取得して自動でnotesKeyShiftvoiceKeyShiftを設定」かなと思います!
そして、「ユーザーにキーを調整してもらう形」ですが、UIでの表示は「キーシフト」ではなく@romot-coさんがおっしゃっていた「トランスポーズ」だと、(DTM的にも)歌声が実際に(半音単位で)シフトするということが分かりやすいかもと思いました!

@Hiroshiba
Copy link
Member

なるほどです!
個人的にも「トランスポーズ」で良さそうに感じました!

ただちょっと「トランスポーズ」だと横幅的に大きいですね・・・!半角カタカナだとこんな感じ 😇
image

一旦マージさせていただいて、名称とUIどうするかは別プルリクエストでもいいかな・・・。
ちょっと仮設置で半角カタカナにさせていただこうと思います!!

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.

すみません、まだ @romot-co さんの認識聞けてないのですがマージさせていただきます!
次のアップデートタイミングは決めてないので、ちょっとどうして行くかは引き続きissueや別PRで進められると・・・! 🙇

@Hiroshiba Hiroshiba merged commit b95c2a0 into VOICEVOX:main Feb 13, 2024
8 checks passed
@Hiroshiba
Copy link
Member

@romot-co あっちょっと認識の確認です!

d116986 でのデザインの調整はこちらのプルリクエストに反映されてません 🙇
後でプルリクエストを送ってくださる感じでしたら認識違いなさそうです。
念のためのご連絡でした! 🙏

@romot-co
Copy link
Contributor

@Hiroshiba
ありがとうございます、その認識で誤りないです!こちら別のプルリクで送らせていただきます!

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