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

ソング:スケール/キーの設定機能 #2373

Open
3 tasks
sevenc-nanashi opened this issue Nov 21, 2024 · 33 comments
Open
3 tasks

ソング:スケール/キーの設定機能 #2373

sevenc-nanashi opened this issue Nov 21, 2024 · 33 comments

Comments

@sevenc-nanashi
Copy link
Member

sevenc-nanashi commented Nov 21, 2024

内容

スケールやキーを設定して、それに沿ってノートを上下できると嬉しいです。

#2303 みたいに途中で変えれるようにしてもいいかも。

Pros 良くなる点

作曲が楽になる

Cons 悪くなる点

ないはず?

実現方法

  • スケール設定/未設定みたいな状態を作る
  • 未設定なら今まで通りの操作
  • 設定されてたらノートがスケールに乗るようにする
    • Altあたりを押すとスケール無視みたいにもする

VOICEVOXのバージョン

0.21.1

OSの種類/ディストリ/バージョン

  • Windows
  • macOS
  • Linux

その他

(なし)

@Hiroshiba
Copy link
Member

Hiroshiba commented Nov 21, 2024

欲しい機能だと感じます!!

音楽理論に少し触れたユーザー向けになりそうですね!
must/should/want/canの、wantから少しshould寄りくらいの気持ちです。

実装面の課題として、どう共通化しつつ実装するかが頭使うポイントかもです。
ノート配置、移動、複数選択しながら移動、ペースト時など、結構考えてから実装した方があとあと楽になるかもです。

UI面の課題として、どこで編集可能にするか、ピアノロールの見た目を変えるか、変える場合どうするか、辺りを考える必要がありそう。
いつも通りこんな流れでどうでしょうか?

  • 既製品のUXどうなっているかまとめる
    • キーをどうやって編集できるか・見た目はどう変えてるか・スケールを無視して配置する方法など
  • 実装と見た目のアイデア出し・議論
  • とりあえず実装
    • もちろん「一旦実装してみる」もあり。設計してから実装できるようになるとかっこいい。

@sevenc-nanashi
Copy link
Member Author

sevenc-nanashi commented Nov 21, 2024

Reaper:

  • ピアノロール窓の下にKey Snapチェックボックスとスケール設定がある
  • 左の鍵盤部分のみグレーアウト、ピアノロール内は変わらない
  • 基本的に全ての移動がスケールに乗るようになる
  • 自分は「スケールを無視して上下移動」をAlt+上下に割り当てている(デフォルト設定は忘れました)
    image

Cakewalk:

  • 右のピアノロール一覧を右クリック

  • 背景全体が動く
    image
    image

  • 未設定時より若干濃い(未設定/Cmaj)
    image
    image

FL Studio:

  • ルーラーを右クリック
  • 背景全体が動く
    (未設定/設定済)
    image
    image

@Hiroshiba
Copy link
Member

Hiroshiba commented Nov 22, 2024

おーーーーありがとうございます!!!
背景色を変えるかどうかも1つ選択肢なんですね!!

背景全体が動く

これどういうことでしたっけ 👀
スケールに関係なくどこにでもノートを置けるということ・・・?


Voisonaもキー設定があったので調べてみました!

  • デフォルトでCキーが割り当たってる
  • キーを変更できるレーンがある
  • キーが変わると背景色が変わる
  • ノートはキーに依らずどこにでも置ける
  • キーによって「ド」の位置が異なる(キーの位置が「ド」になる)

image

@Hiroshiba
Copy link
Member

Hiroshiba commented Nov 22, 2024

面白い調査結果ですね!

  • 背景色を変えるかどうか
  • スケールに沿わない場所に置けなくするかどうか

を考えていくことになりそう。

個人的には、スケールに沿った場所にしか置けないようにするのは結構賛成よりです。
でも多分 デフォルトでCキーが割り当たってる場合だと、スケールのことを理解しないと「なぜか黒鍵に置けない」というバグに見えるので、ここは考えないといけないかも。

ちなみにReaperは最初からCスケールが割り当たってる感じでしょうか 👀
「キーが割り当たってない」という状態がある・・・?

背景色を変えるかどうかは・・・・・・正直どうすればいいか分からないです・・・・・・。
個人的にはぶっちゃけピアノ鍵盤とかキーとか要らないので、度数(Cスケールのときドが1・レが2、Fスケールのときファが1・ソが2みたいな)で表示してほしい 😇😇😇
(もちろんさすがに音楽理論知らないとわからない・既存ユーザーにわかりづらすぎるので度数表示はダメですが)

@sevenc-nanashi
Copy link
Member Author

背景全体が動く

これどういうことでしたっけ 👀

よく見ればわかると思うんですけど、未設定時だと白鍵/黒鍵で白黒が入れ替わってるのに対してスケール設定時だとスケール上/それ以外で入れ替わってる感じです。

「キーが割り当たってない」という状態がある・・・?

どのDAWもそうでした。

@sevenc-nanashi
Copy link
Member Author

あ、書き忘れてました
全てのDAWで全ての移動がスケールに乗るようになりました

@Hiroshiba
Copy link
Member

Hiroshiba commented Nov 23, 2024

なるほどです!!
背景全体が動く=黒鍵の位置や色が変わるってことですね!

となると考えるべきは

  • スケールに沿わない場所に置けなくするかどうか(その場合はキーのunset状態が必要)
  • ピアノロールの表示をどうするか

ですかねぇ。
個人的にはキーのunset状態を作ってスケールに沿わずに置けるようにするの良さそうに思います。
ただ背景をどう変えればよいかは想像付かない・・・・・・・・・。

@romot-co さんすみません!!もしよかったらデザイン面でアドバイスいただけると・・・!!
@sigprogramming さんもご意見あればぜひ 🙏

@romot-co
Copy link
Contributor

@Hiroshiba @sevenc-nanashi
こちらかんたんに確認しました!
まただいぶ好みや求めるもので分かれそうな気がしているのですが

スケールに置けるかどうか

(こちらは強く個人の好みです)

  • スケール未指定可能・未指定がデフォルト
  • 指定した場合、スケールに沿わない場所には置けないのがデフォルト
  • オプションでデフォルトの挙動を変えたり修飾キーで置くこともできる

ピアノロール表示

  • 途中からルーラーでキーの変更可能
  • 指定キーのルート線(オクターブ線)を移動させる ex: Cmaj → Gmajにしたらオクターブ線がGに移動
  • ピアノロールおよび鍵盤の両方でキー内で有効でないピッチを無効っぽい表示にする
  • キー内で有効でないピッチ上のノートを強調表示する?

あたりでどうでしょうか

ただこれもたぶん正解はないのでまずは叩き台案として
白鍵・黒鍵の移動もふくめ簡単に絵を描いてみようかななどと


その他に考える必要がありそうな点:

  • メジャー・ナチュラルマイナー以外のスケール(メロディックマイナーとかモード系(ex: ドリアン)やブルースとか

@sigprogramming
Copy link
Contributor

sigprogramming commented Nov 23, 2024

スケールに沿わない場所に置けなくするかどうか

曲によりますが、スケール外の音はそこそこ使うと思います。
例えば長調(メジャースケール)でコードがIIIIVmのときによくメロディーで♭VIを使ったりします。
また、マイナースケールは3種類あって、3種類を曲中で使い分けることが多いです。
(3種類の中から選択できるようにしても良いですが、切り替えが面倒&複雑になると思います)

なので、キーが存在してもデフォルトでは置けるようにするのが良いかなと思います。
(入力ガイド的な機能で、どちらかというと初心者向けの機能だと思うので、Reaperのように「キーにスナップする」をオンにすると置けなくなる形が良いと思います)

@romot-co
Copy link
Contributor

@sigprogramming @Hiroshiba @sevenc-nanashi

曲によりますが、スケール外の音はそこそこ使うと思います。

これは確かに
メロディに限定した場合でも普通の曲でもだいぶ出てくる感がありますね…

キーが存在してもデフォルトでは置けるようにするのが良い
Reaperのように「キーにスナップする」をオンにすると置けなくなる形が良いと思います)

「キーの指定」とは分離した「キーにスナップ機能」の一部として扱い
少なくともデフォルトをどうするかとしてはOFFがよさそう…?

@sevenc-nanashi
Copy link
Member Author

sevenc-nanashi commented Nov 23, 2024

3種類の中から選択できるようにしても良いですが、切り替えが面倒&複雑になる

ちなみにですが、自分があげたdawは全てマイナーの中で分かれて選択できましたね。
image

とは言っても複雑なのは同意します。

@sigprogramming
Copy link
Contributor

sigprogramming commented Nov 23, 2024

@romot-co

「キーの指定」とは分離した「キーにスナップ機能」の一部として扱い
少なくともデフォルトをどうするかとしてはOFFがよさそう…?

そうですね、スナップの有無は「キーの指定」と分けて、スナップはデフォルトOFFが良いかなと思います!

指定キーのルート線(オクターブ線)を移動させる ex: Cmaj → Gmajにしたらオクターブ線がGに移動

Cubaseのスケールアシスタントだと、グリッドの背景色のみ変わる(動く)ようになっていました。

オクターブ線も変わると、ド(固定ド)の位置がグリッド上で分かりづらくなるかもと思いましたが、好み&慣れが大きいかも…(背景色やオクターブ線も、キーに合わせるかどうか設定できると良いかも)

@Hiroshiba
Copy link
Member

Hiroshiba commented Nov 23, 2024

スナップはデフォルトOFFが良いかなと思います!

僕はキースナップはデフォルトON派だったのですが、いろいろ聞いてデフォルトOFFのが良さそうに思いました!
スケール無視しておく操作を発見できる経路がなく、「キーを未指定にする」まで戻る発想になっちゃいそうだなと。
あとスナップは完全な初学者向けではなくちょっと音楽理論がわかった人向けだと思ったので。

あとデフォルトをスナップOFFにするなら、最初はCキーが割り当たってる形にするのもアリかもと思いました。(Voisonaがそう)
未割り当て時のUIを考えなくて済み、デザインが結構楽になる気がしたので・・・!

@romot-co
Copy link
Contributor

romot-co commented Nov 23, 2024

いろいろ考えるの明日に回して
とりあえず他のDAWの挙動をみてみましたログ

StudioOne

スケールにスナップOFFだとキーを指定してもなにも変わらない

スケールにスナップONで
・オクターブ位置移動しキー内にないピッチがグレーアウト
・有効な鍵盤が強調表示
・ドラッグだとスケール内にしか置けない
・キーボードだとスケール外にも置ける
スクリーンショット 2024-11-24 2 00 10

ピッチ表示スケール内にするとピッチ外のノートは線として表示される
スクリーンショット 2024-11-24 2 00 36


Ableton Live

キーを指定して

Highlight Scaleで

  • 対象のキーのピッチが強調表示
  • スケール外に置ける
スクリーンショット 2024-11-24 1 40 39

Scaleオンで

  • 対象のキーのピッチのみの表示になる(スケール外は表示しない)
  • 表示されていないのでスケール外には置きようがない
スクリーンショット 2024-11-24 1 41 50

@romot-co
Copy link
Contributor

romot-co commented Nov 24, 2024

かんたんな整理:

ただのラベル

この曲はこのスケールである・ここから転調しているというのがつくっている側にわかればよい

おそらく:

  • ルーラーにラベルがあればよい

指定スケール内で有効なピッチを把握したい

スケール内で有効(もしくは無効)なピッチがわかればよい
上で言うと「背景が変わる」のがこれ

おそらく:

以下を議論すればよさそう

  • ルート音移動する?
  • 背景のスケール内有効の強調表示する?
  • 背景のスケール内無効の無効表示する?
  • 鍵盤のスケール内有効の強調表示する?
  • スケールから外れているノートを強調表示する?

指定スケール内で有効なピッチを強制したい

積極的に関係ないピッチを排除して見やすくしたり入力を楽にしたりしたい

おそらく:

  • スケールへのスナップする(機能としては分離・デフォルトOFF)
  • 背景でスケール内無効ピッチを非表示 → これはやらなくてよさそう

@romot-co
Copy link
Contributor

キー・スケール指定で機能の外側ふくめ考えてみたおぼえがきです:

https://xd.adobe.com/view/ff2181e2-a33f-40b1-8700-b9a17f2f5223-aa72/

もしつっこみあればいただけると…!

@Hiroshiba
Copy link
Member

Hiroshiba commented Nov 25, 2024

ラベルによってピッチを把握でき(背景が変わる系)、かつスケールを強制させられるようにもできるのが良さそう!

問題は前者の表示をどうするかですが、個人的な意見としては「強調表示するより無効表示した方が楽そう」くらいです。
ループ範囲の無効表示が縦方向だとしたら、スケール外という横方向の無効表示がこれ、みたいな。
(まあこれはこれで将来、その歌手の得意音域を表示する時に大変になりそうですが。。)

ルート音を移動すべきかどうかはちょっとわかんないので今のとこ意見ないです・・・!!

@romot-co さんの図を見てCmajを初期状態にするかどうか考えた感じ、有効or無効な領域を表示するとなると、最初unsetにすべきかも変わってくるかもと思いました!
仮にもし無効な領域をかなり無効ぽくする場合、黒鍵のとこにノートを置くのを少しためらってしまうかもみたいな。
・・・これどうすればいいんですかね!!


一旦見た目をどうするかはさて、背景などの見た目を一切変えない形で実装するのはありかもと思いました。
例えば開発者のみ機能として実装してみるとかはありかも? cc @sevenc-nanashi

@romot-co
Copy link
Contributor

romot-co commented Nov 25, 2024

補足

以下は直接の機能詳細というよりは他との関連部を考えると最低限どうなるかみたいな感じです
#2373 (comment)

だいたいこんな感じ

  • トラックのルーラーにキー含めたレーンを置く形で良いか(曲全体側にあるべきかもしれない) → 個人的にはトラックに置いてしまっていいと思う
  • レーン内の追加操作: まずは右クリックでメニューから挿入できる(ダブルクリックなどもありうる)
  • レーン内にすでにあるキーのラベル編集と削除: まずは右クリックでメニューから編集と削除できる(ダブルクリックやクリックで詳細表示して編集などもありうる)
  • キーの強調やスナップ: 「表示」メニューからトグルで行える(ボタンなどを置く形もありうる)
  • 強調表示やスナップの仕様: これから試してみる

@romot-co
Copy link
Contributor

@Hiroshiba @sevenc-nanashi
ありがとうございます!

ラベルによってピッチを把握でき(背景が変わる系)、かつスケールを強制させられるようにもできるのが良さそう!
問題は前者の表示をどうするかですが、個人的な意見としては「強調表示するより無効表示した方が楽そう」くらいです。

おおむね賛成です!
Cmajにおける無効=黒鍵(disabled)...現状の背景はCmaj相当で無効ピッチはdisabledになっている...かもなのですが、
物理鍵盤での黒鍵と一致するしのでややこしい感が…
実際どうなるかはまたモック作ってやってみようかな…と思っています

スケールスナップ(強制)はすぐに実装してもいいかも・表示も強調でとりあえず実装してしまっていいかも…!
強調の色変えたら無効にできそうですし

@romot-co
Copy link
Contributor

雑ですがまずは

  • ラベル表示
  • ルート音を強調
  • スケール内のキーを白 / スケール外をグレー

にしてみた結果
スクリーンショット 2024-11-28 5 08 52


  • ルート音を強調なし
  • 白鍵・黒鍵はそのままで有効スケールを強調

の方がよさそうな気もするので別途試してみます

@romot-co
Copy link
Contributor

romot-co commented Nov 30, 2024

ざっくりとした
レーンの挙動の動作デモ:

挙動不審な点は多いのでイメージだけ…

2024-12-01.7.07.10.mp4

いろいろやってみたものの

白鍵・黒鍵はそのままで有効スケールを強調

だと視覚的にわかりづらそう

@romot-co
Copy link
Contributor

romot-co commented Dec 1, 2024

グリッドまとめ

主キー下線はいずれにも追加してみている

1. スケール内有効と無効で塗り分ける

スクリーンショット 2024-12-01 17 04 07

2. スケール内有効・無効で塗り分ける(スケールスナップを強調)

スクリーンショット 2024-12-01 16 52 55

3. 物理鍵盤を優先し主キーのみ強調

スクリーンショット 2024-12-01 16 47 19

4. 物理鍵盤とスケール内有効・無効のミックス

スクリーンショット 2024-12-01 16 23 23

個人的には1.をベースにスケールスナップONで強調が必要になった場合は2.にするのがよさそうに見える

@romot-co
Copy link
Contributor

romot-co commented Dec 1, 2024

レーンとモーダル or ポップオーバー(案)
レーンについてはラベルが長くてもそこまで問題は出なさそう
他の拍子やBPMなどと同様にすれば問題は出なさそう

スクリーンショット 2024-12-01 17 49 49

@Hiroshiba
Copy link
Member

個人的には1.をベースにスケールスナップONで強調が必要になった場合は2.にするのがよさそうに見える

同感です!
表示を強くすると逆に見づらくなってるように感じますね!面白い。
あとレーンのラベル表記、すごいわかりやすいように感じました!!

@romot-co
Copy link
Contributor

romot-co commented Dec 3, 2024

@Hiroshiba
ありがとうございます…!
いったん上記方針でよさそうかなと

@sevenc-nanashi @sigprogramming
なにか懸念点・違うかもなーな点などありましたらおしらせください…!


2日ぐらい時間取れなさそうかもなので
関連する操作パターンで決めておいた方がよさそうな点をざっくり箇条書きメモ...

単機能で収束しないのがつらい感じですが
ルーラー全体およびアプリ全体との整合性をそろそろ考える必要ありそうかなーぐらいです

あとでAIにまとめてもらうか絵に描きます…

レーン上のラベル操作 ## レーン上のラベル操作

ダブルクリックは右クリックのショートカット扱いとします

追加のパターン

右クリックコンテキストメニュー「キーの挿入」を選択後:

推奨: 該当位置にキーのラベルが追加されポップオーバーで設定を選択・選択中に背景がプレビューで切り替わる
代替: モーダルダイアログで設定を選択し「追加」ボタンで該当位置にラベル追加・背景変更

個人的には1.ですが実装が大変そう

変更のパターン

選択→コマンドのパターンがよさそう

  1. 選択 → コマンド: ラベルを選択し右クリックコンテキストメニューでポップオーバー or モーダルを呼び出す
  2. 選択 → コマンド: ラベルをクリックしたらポップオーバー or モーダルを呼び出す
  3. インライン: ラベルクリックで値を直接編集(選択しない)

複数選択などもありえるため、1.がよいかと思っています

削除のパターン

  1. ラベルを選択して右クリックから「削除」
  2. ラベルを選択してDeleteキー

アンドゥが効くためどっちも可能でよさそう


レーン

表示と非表示

必要のないレーンを閉じられるようにする

  1. 「表示」メニューでトグル
  2. レーン左端スペースに表示非表示を切り替えられるメニューを置く

まずはなくてもよさそう
やるにしても1.のみ

デフォルトの表示

  1. デフォルトではキーや拍子レーンなどを表示しない
  2. デフォルトではキーや拍子レーンなどを表示する

面倒そうなので2.からはじめる

ChatGPTくんに雑にまとめてもらった # レーンとキーの操作パターン定義

1. キーラベルの操作パターン

追加操作

推奨パターン: コンテキストメニュー → ポップオーバー

  • トリガー: 右クリック → 「キーの挿入」
  • 操作フロー:
    1. ポップオーバーで設定選択
    2. 選択結果をプレビュー
    3. 確定もしくはアウトサイドクリックで追加 / キャンセルでなにもしない

代替パターン: コンテキストメニュー → モーダルダイアログ

  • 直接的なフィードバック性は低下

編集操作

推奨パターン: Select-And-Command

  1. 選択方法:
    • 単一クリック: 選択
    • ダブルクリック: 右クリックのショートカット
  2. 編集トリガー:
    • 右クリック → コンテキストメニュー
    • 選択 → ポップオーバー/モーダル

対応する操作:

  • 単一アイテム編集
  • 複数アイテム一括編集

削除操作

複数パターンの併用:

  1. コンテキストメニュー
    • 選択 → 右クリック → 「削除」
  2. キーボードショートカット
    • 選択 → Deleteキー

2. レーン管理パターン

表示制御

推奨パターン: メニューバー操作

  • 「表示」メニューでのトグル制御
  • シンプルで一貫性のある操作

初期表示

推奨設定: すべてのレーンを表示

  • キーレーン: 表示
  • 拍子レーン: 表示
  • その他基本レーン: 表示

操作の一貫性ガイドライン

1. 選択操作の統一

  • シングルクリック: 選択
  • ダブルクリック: ドリルダウンまたはコンテキストメニュー代替
  • 右クリック: コンテキストメニュー

2. 編集フロー

  • Select-And-Command パターンの一貫した使用
  • 複数選択時の一括操作サポート
  • プレビュー機能の提供

3. 操作の取り消し

  • すべての操作でUndo/Redoをサポート
  • 一貫した取り消し動作

4. フィードバック

  • 視覚的なプレビュー
  • 選択状態の明確な表示
  • 操作結果の即時反映

@Hiroshiba
Copy link
Member

Hiroshiba commented Dec 4, 2024

全体的に良さそうに思いました!! コメントのある点だけコメントまで 🙏

popover

一応Radix vueにはありそうでした! https://www.radix-vue.com/components/popover
もし採用する場合、細かい値を変更するときはこの形になっていきそうですね!
実装はどれくらい大変になるか現段階で見通しが立ってないけど、UX的には分かりやすい気がしています。
(そういえばキャラ変更UIがポップオーバーに結構近いかも。親和性ありそう。)

ダブルクリックは右クリックのショートカット扱いとします

Popoverを出すショートカットでもいいかも?
「右クリック→編集」と「ダブルクリック」が同じ動作、みたいな・・・。
(なんなら「右クリック→編集」無しでも良いかも?ノートの歌詞入力が近そう。)

ただダブルクリックでPopoverが出てくるUIは珍しいかもしれない。。。。

レーン

よりリッチな提案として、レーンの開閉をガチャガチャやるの大変そうなので、デフォルトで全部まとめたレーンを一つ表示するのはありかも・・・・?
それぞれの種類のレーンの開閉はできるようにしつつ、開いていないレーンのまとめレーンみたいな・・・。

同じタイミングで複数種の変更をしている場合の UI が思いつけてないですが。。
例えば「(複数)」と書いたラベルを表示するとか。。(雑な案)

ちょっと微妙な要素もまだまだありそうなので、強い意見じゃないです! 🙇

@romot-co
Copy link
Contributor

romot-co commented Dec 5, 2024

@Hiroshiba
ありがとうございます、こちら検討・検証できればと思います…!
(スケールのとこでやらないで別途Issueの方がよさそう…?

Popoverを出すショートカットでもいいかも?

こちらこの意図でした…!

ただダブルクリックでPopoverが出てくるUIは珍しいかもしれない。。。。

DAW界隈という辺境ではよくあるのですが、一般的にはダブルクリックはドリルダウンというか詳細表示かと思います
ノートなんかがダブルクリックで歌詞変更状態になるのはすでにあるかも・それの変形ぐらいのイメージで
右クリックのショートカット扱いかなーと

別のパターンとして:

  1. 操作ボタンを用意する: ラベル横にボタン置くとかホバーでボタンを出すとか
  2. 編集部と選択部をわける: 外側の枠側クリックで選択・内側のテキストあたりクリックでポップオーバー表示
  3. 選択操作が必要ない(単体で独立しており複数選択やドラッグ移動しなくていい)ものについては直接のインライン編集

…ただ問題もそれぞれあるので、面積など厳しめの条件で検証後がいいかと思います

よりリッチな提案として、レーンの開閉をガチャガチャやるの大変そうなので、デフォルトで全部まとめたレーンを一つ表示するのはありかも・・・・?

こちらよさそうです…!せっかくなんでstorybookでやってみようかなと

@Hiroshiba
Copy link
Member

良さそう!!

ここ数コメントで話したこと、レーン上のChangeValueボタンの話が主になってますね!
このissueのスケール・キー設定と結構話が分けられる気もするので、もしかしたら新しくissue建ててまとめてっても良いかも?
(個人的にはどちらでも問題ないです!)

@sigprogramming
Copy link
Contributor

sigprogramming commented Dec 6, 2024

@Hiroshiba @sevenc-nanashi @romot-co
コメントが遅くなりすみません…!

こちらの機能ですが、

  • どういうときに使われるか(使いたくなるか)
    • 作曲する(メロディーを作る)とき?
    • すでにあるメロディーを打ち込むとき?
      • 耳コピするとき?
  • 使われ方
    • 入力支援?
    • 作曲支援?
    • ノンダイアトニックコードのときに、それに合うスケールを毎回設定する?
  • どの程度支援するか
    • キーのメジャースケール/マイナースケールに合う音を表示・スナップ
      • スケール外の音も入力可能
    • 曲中に設定されているスケール(ハーモニックマイナー、ペンタトニックなど)に合う音を表示・スナップ
      • スケール外の音も入力可能
    • 不協和音にならない(スケール+コードに合う)音を表示・スナップ
      • コード進行を考慮する必要がある
  • ターゲットユーザー
    • 初学者(スケールを知らない人)向け?
    • スケールを知っている人向け?
    • キーのスケールとコード進行が分かる人向け?(コード進行に合うスケールが分からない人含む)
    • コード進行に合うスケールが分かる人向け?

などがまだはっきりイメージできていません。
ニーズに合った機能&分かりやすいUIにするために、この辺りをある程度明確にした方が良さそうな気がします。

ちなみに、Cubaseのスケールアシスタントはスケールだけではなくコードも考慮して表示・スナップを行うようになっています。
(コードが考慮されるので、コード進行に合うスケールが分からなくても、不協和音にならないように音を入力できます)
Cubaseのスケールアシスタントについては、以下の動画(配信)が分かりやすいです。
https://www.youtube.com/live/J-F88cCPNNs?si=AJnT5HIkFgPRWsQb&t=1681

@romot-co
Copy link
Contributor

romot-co commented Dec 6, 2024

@sigprogramming
個人的な認識です!

対象ユーザー

  • スケールを知っている人以上向け

逆に初心者は除外
持っているメンタルモデルが音が高い低い・楽譜・物理鍵盤あたりだと思うため

※ ここらへん想像でしかないです!ガチるならユーザーリサーチからはじめる必要ありそう

どういうときに使われるか(使いたくなるか)

  • 作曲する時
  • すでにある曲を入力する時

使われ方

ここらへんの解像度がたしかにあまり高くないかも…?
しっかり考えた方がよさそう

  • 入力支援
  • 現在のスケール内で使える音階がわかる・スケール内の入力するのを楽にする程度

以下によって実現する

  • 特定位置のキーがわかる
  • キー内のスケールまたはスケール外ノートが把握できる
  • スケール外に外れた音を入力しないようにできる(スナップ)

逆にコード支援は考えない想定でした!

  • VOICEVOX単体ではメロディのみであまり和音自体を扱わなそう(やるならDAW側か和音楽器を扱うようになったとき)
  • コードトラックはただのキーとは別もしくは追加がよいと思われる
  • コード支援は幅が広すぎて決めるのがきつそう&実装がきつそう

※ 個人的には作曲するならほしいけれどDAWでやったほうがいい


その他思っていること

しっかりやるならUXリサーチというか
ペルソナの策定・ユーザーテスト・諸々をやったほうがいいのかもですが

製品開発ではないし面白くはないので
各人のアイデアややりたいことを持ち寄ってつくれるってのを大事にしたい感
ガチガチにするとみんなのモチベなくなる気がしている

@sevenc-nanashi
Copy link
Member Author

自分の個人的な認識です:

どういうときに使われるか(使いたくなるか)

どれも使ってます(基本的に常時スナップオン)

使われ方

メロディの調整はもちろんですが、例えば3度上のハモを作る時とかに結構重宝します。

どの程度支援するか

スケールに合わせた表示とオプションでスナップ、で十分だと思います。

@Hiroshiba
Copy link
Member

僕も、オリジナル曲・カバーどちらでも使われ、目的は入力支援が主、音楽理論少しわかってる人向けだと感じました!
コード進行はまずDAW側に入力になると思うので、ソング側で用意しても設定が二重になって大変であまり使われない機能になりそうと感じています。

個人的にはスケールは一般的なメジャースケールとマイナースケールだけで十分かなと思ってます。
↑さえあればペンタトニックとかは結構わかりやすい(2つ並ぶ全音の下の方を使わない)のと、他はレア(使うのは相当慣れてる人)かな?みたいな。

使われ方は、ルートからの相対位置の把握と、あとノートを一括で3度上げるとか、あとはついでに転調の場所がわかるとかかなぁ。

@sigprogramming
Copy link
Contributor

@Hiroshiba @romot-co @sevenc-nanashi
ありがとうございます!
使われ方等、なるほどです。

しっかりやるならUXリサーチというか
ペルソナの策定・ユーザーテスト・諸々をやったほうがいいのかもですが

製品開発ではないし面白くはないので
各人のアイデアややりたいことを持ち寄ってつくれるってのを大事にしたい感
ガチガチにするとみんなのモチベなくなる気がしている

こちらは私も同じ考えです。ガチガチにやっても面白くないと思いますし、これからどんどん機能追加・変更されていくと思うので、とりあえずこの機能が欲しい!で実装していって良いと思っています。

今回は、どういう使われ方を想定するか、具体的には「キーのスケール外の音が出てきたときにどうするか」が機能・UIに関わってきそうだったので(私の中で答えが出なかったので)コメントしました。

スケール外の音が出てきたときに、スケールへのスナップをオフにしてスケール外の音を打ち込む形を想定するのであれば、
チャーチモードは無しで(使用頻度も低いと思うので)、基本のスケール(メジャー+マイナー3種)+ペンタトニックで良いかもです。

コード進行はまずDAW側に入力になると思うので、ソング側で用意しても設定が二重になって大変であまり使われない機能になりそうと感じています。

同感です。
コードが設定できるとスケール外の音がコードの構成音かどうかが分かるので、スケール外の音を入力しやすくなりますが、
作曲支援寄りになるのと、歌エディタの機能としては少し過剰かもです。キー/スケールの設定のみで良さそう。

使われ方は、ルートからの相対位置の把握と、あとノートを一括で3度上げるとか、あとはついでに転調の場所がわかるとかかなぁ。

ノートを一括で3度上げるですが、キー/スケールの設定のみだと、コードによっては(セカンダリードミナントや借用和音など)音が外れてしまいます。
音が外れないようにハモリを入力するには、その辺り(コードの構成音かどうか)も考慮して入力する必要があり、そういう意味では上級者向けの機能かもと少し思いました。
(この辺り考慮しだすとキリがないので、キー/スケールの設定のみと割り切っても全然良いと思います、大事なのはスケール外の音も使って良いというのが分かることかなと)

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

No branches or pull requests

4 participants