domino/要望001/37

Last-modified: 2007-12-31 (月) 19:29:24

コード表示の順番について

  • ページ: domino/要望
  • 投稿者: 48kHz?
  • 優先順位: 低
  • 状態: 完了
  • 投稿日: 2007-05-03 (木) 10:01:55

メッセージ

現状の仕様では、ある和音に対して複数のコードが存在する場合、Cに近いコードから順に表示されるようですが、これを以下の優先順位で表示させて頂きたく思います。

1. 判定する音のに対して、構成音の割合が大きい物

(わかりやすくするために、CM7を使ったため、実際にはDominoで問題が起こりません。)
たとえば、ドミソシという和音に対して、
CM7は4/4音の100%含まれていますが、
Em は3/4音の75%となるので、
この場合は、CM7 Emと表示されます。

2. 同じ割合になったもののなかで、最低音がルートになっているもの

わかりやすい例でいうと、ディミニッシュセブン・オーギュメントなど、
転回しても形の変わらない物があります。
たとえば、
Bdim7 / B  D  F  Ab /
Ddim7 / D  F  Ab B  /
Fdim7 / F  Ab B  D  /
Abdim7/ Ab B  D  F  /
のように、構成音が同じなのに、コード名が違う物に対応するために、
入力されている和音の最低音を、ルートにもつコードを優先表示するようにして頂きたいです。
上の例だと、低い方からシレファラbの時には、Bdim7を、
同様に低い方からレファラbシの時にはDdim7を優先して表示して頂きたいです。

3. それ以外


実際に問題の起こるケースでさらに説明します。

たとえば、GM9(B2 G3 D4 F#4 A4)という和音があったとすると、
現在のdominoでは、ルートがCからBに向けて順番に
D6 D6sus4 GM9 Bm7 のように判別されますが、
より構成音の割合が大きい物の順に並べると、

GM9 / G3 B2 D4 F#4 A4 / 100% (マッチの割合)
D6 / D4 F#4 A4 B2 / 80%
D6 sus4 / D4 G3 A4 B2 / 80%
Bm7 / B2 D4 F#4 A4 / 80%

となり、続いて2の条件を適用すると、
この場合B2が最低音となりますから、
Bをルートとして持つBm7が優先され、

GM9 / G3 B2 D4 F#4 A4 / 100%
Bm7 / B2 D4 F#4 A4 / 80%
D6 / D4 F#4 A4 B2 / 80%
D6 sus4 / D4 G3 A4 B2 / 80%

という順番になるかと思います。

細かいことですが、ご検討お願いします。


  • ちょっと説明を補足させていただきました。 -- るふと? 2007-05-03 (木) 10:54:33
  • 高速化のために、128音階を1オクターブ(12音階)に合成し、それがどのコードになるかを(あらかじめ)判別していますので、①の割合による順序は大丈夫だと思いますが、②につきましてはどれがルートなのか判別できませんので、今の組み方ではムリかなぁとは思います。1だけでもいいですか? -- たかぼー? 2007-05-03 (木) 16:40:21
  • 2はオマケみたいなものなので1だけでもいいです。よろしくお願いします。 -- 48kHz? 2007-05-03 (木) 17:15:34
  • やってみました→http://www.tkb-soft.hmcbest.com/Domino115_dev001.ZIP -- たかぼー? 2007-05-03 (木) 18:05:15
  • 試用してみましたが今のところ問題ありません。対応ありがとうございました。 -- 48kHz? 2007-05-04 (金) 10:00:50