Google Classroom
GeoGebraGeoGebra Classroom

マイナースケール上の和音

このワークシートはMath by Codeの一部です。 アプレット、背景、実装の順に見ていきましょう。
Image

1.背景

長調は明るくていいですが、アルファベット的にはAをスタートにするスケールの方が わかりやすいかもしれません。 そんな期待?をもちながら、マイナースケールとコードを探っていきましょう。 メジャースケールのときと同じように、 音程の特徴に目をつけることで、スケール(音の階段)とコード(和音)をつなげてみよう。 <白鍵だけで長調と短調ができる> 音と音の間隔の基本は全音と半音でした。 主音(スタート)を1として「ラ」(A)から 白鍵だけを1,2,3,4,5,6,7と数えます。 ラシドレミファソラ(イロハニホヘト=ABCDEFG) イロハもABCも1番目からになっているのでわかりやすいね。 この音のスケールをマイナー(短調)といいました。 だから、このラシドレミファソラの音階をイ短調(Aマイナー)スケールと言えますね。 黒鍵のありなしで21221222で、全半全全半全全全になっています。 Aを1にするとマイナーですが、教会モードをここからはじめてみよう。 A=1はエオリアン(マイナー)全半全半全全 B=1はロクリアン      半全全半 全全全 C=1はイオニアン(メジャー)全全半全全半 D=1はドリアン       全半全全半全 E =1はフリジアン      半全全半全全 F =1はリディアン      全全全全全半 G=1はミクソ・リディアン  全全半全半全 完全5度(全3半1)が大半なこと、 完全4度(全2半1)が大半なこと この2つは変わりませんね。
<ナチュラルマイナースケール上の3和音> 問題は、和音のカラーを決める3度です。 2、4を飛ばして、白鍵の1番と3番と5番を同時に押してみます。 A=1はエオリアン(マイナー)全半全半全全 B=1はロクリアン      半全全半全全全 C=1はイオニアン(メジャー)全全半全全全半  D=1はドリアン       全半全全全半全 E =1はフリジアン      半全全全半全全 F =1はリディアン      全全全半全全半 G=1はミクソ・リディアン  全全半全全半全 全全というのは長3度(メジャー3)、全半か半全短3度(マイナー3)です。 A=1の1,3,5はA-3、つまり、Am B=1の1,3,5はB-3・-5、つまり、Bm-5 C=1の1,3,5はC3、つまり、C D=1の1,3,5はD-3、つまり、Dm E=1の1,3,5はE-3、つまり、Em F=1の1,3,5はF3、つまり、F G=1の1,3,5はG3、つまり、G ここで、絶対的にスケールの1(A)に合わせた、度数で再表示してみましょう。 そして、7を超えた分は7をひき、小さい度数(番号)順に表示します。(つまり、疑似mod7) 1,3,5はAm 2,4,6はBm-5 3,5,7はC 1,,6はDm 2,5,7はEm 1,3,6はF 2,5,7はG ダイアトニックスケールコードは7つありますが、1つおきに見ると、 白鍵の番号が2つずれるだけなので、2音ずつ共通音があります。 Amから見るとCとFは2音共通なので類似度が高いですね。 Dmから見るとBm-5は近いです。 Emから見るとGは近いです。
<ナチュラルマイナースケール上の4和音> 2,4,6を飛ばして、白鍵の1番と3番と5番と7番を同時に押してみます。 A=1はエオリアン(メジャー)全半全全半全全 B=1はロクリアン      半全全半全全全 C=1はイオニアン(メジャー)全全半全全全半  D=1はドリアン       全半全全全半全 E =1はフリジアン      半全全全半全全 F =1はリディアン      全全全半全全半 G=1はミクソ・リディアン  全全半全全半全 1番から7番までの音程は全5半1か全4半2のどちらかです。 半1というのは長7度(メジャー7)、半2短7度(マイナー7)ですが、 マイナー7が普通なのでマイナーをつけずにただの7度といいます。 1つとばしで、白鍵の奇数番号、1,3,5を同時に引いたのが3和音です。 A=1の1,3,5、7はA-3・-7、Am7 B=1の1,3,5、7はB-3・-5・-7、つまり、Bm7-5 C=1の1,3,5、7はC3・7、つまり、Cmaj7 D=1の1,3,5、7はDー3・ー7、つまり、Dm7 E=1の1,3,5、7はEー3・ー7、つまり、Em7 F=1の1,3,5、7はF3・7、つまり、Fmaj7 G=1の1,3,5、7はG3・ー7、つまり、G7 ここで、絶対的にスケールの1(A)に合わせた、度数で再表示してみましょう。 そして、7を超えた分は7をひき、小さい度数(番号)順に表示します。(つまり、疑似mod7) 1,3,5、7はAm7 1,2,4,6はBm7-5 2,3,5、7はCmaj7 1、3,4,6はDm7 2、4,5,7はEm7 1,3、5,6はFmaj7 2,4、6,7はG7 ダイアトニックスケールコードは7つありますが、1つおきに見ると、 白鍵の番号が2つずれるだけなので、3音ずつ共通音があります。 コード名を音の集合ととらえると、積集合の要素が3個ということです。 (例)Am7 ∩ C={1,3,5} 1度のトニックAm={1,3,5,7}からみてCmaj7(3maj7)が近いです。 5度のドミナントEm7={2,4,5,7}は、Am7と共通点が{5,7}で、Am7の5度上なのに不安定さが少ないそのため、ドミナントの役割としてはE7を使うことが多い。 4度のサブドミナントDm7={1,3,4,6}とは、Bm7-5(2m7-5)が{1,4,6}共通, Fmaj7(6maj7)は{1,3,6}共通、G7(7番7)は{6}だけ共通ですが、この音は トニックにもドミナントにもないので、サブドミナントの代理になれます。 す。 トニック1m7の代理は3m7 ドミナント5m7の代理はスケールコードにはない。5番7にして代理。 サブドミナント4m7の代理は6番音をもつ、2m7-5、6maj7、7番7。 これが標準的な考え方になるようです。

2、実装

質問:12個の主音に対するナチュラルマイナースケール上の7つのコードを表示するアプレットを作るにはどうしたらよいでしょう。 クロマチック音名を文字列にします。 NameS={"B","C","C#","D","D#","E","F","F#","G","G#","A","A#"} //音名の#系です。 C4={"m7","m7-5","maj7","m7","m7","maj7","7"} //4和音の順番がメジャーより6スライドします。 C3={"m","m-5","","m","m","",""} //3和音の順番がメジャーより6スライドします。 名前リストを2オクターブ分とります。 NS2=join(NameS,NameS) インデックスはgeogebraなら1から24番になります。 これは、白鍵の番号ではなく、クロマチックな音階なので、区別しよう。 たとえば、Bを主音にしたときにナチュラルマイナースケールのインデックスは 全半全全半全全から、M={1,3,4、6、8,9,11}です。これがメジャーとのちがいです。 k=NameS2(n)を主音にするスケールのドレミファソラシド名は doremi=sequence(NS2(k-1+M(i)), i, 1,7) doremi+C3で3和音、 doremi+C4で4和音の和音名になります。 キーを選ぶスライダーをn(1以上12以下)とすると、 選んだキーはNameS(n)のテキストになります。 質問:スケールの音程とコードの音程が視覚化できるアプレットはどうやって作りますか? 12種類の音名があるので、12角形の点にします。 たとえば、e^(i 2π/k) k=1...12として、12個の複素数z1からz12を設定しましょう。 12音名のリストNameS={"B", "C",......., "A#"}にたいして、 NameS(1), NameS(2),....,NameS(12)を1つ1つのテキストオブジェクトとして、 txt1, txt2,.....txt12と名前をつけなおします。 そうして、それぞれのテキストオブジェクトtxt kの「設定」の「位置」のリストから対応するzk を選ぶべば、12個の頂点に、音名を表示できるようになるでしょう。 1つ1つの複素数の他に、複素数のリストpt=sequence(e^(i 2π/k), k, 1, 12)を設定しておけば、 pt(x)のxを適当に選ぶことで、スケールに関係のある点を強調できます。 (そして、選ばれた番号の頂点kに対して、mod(k-1,12)+1をすることで、12のときに12にする 変則mod12を作ることで、kの変化に対して、1,2、…、12、1,2、…。12と返します。) 選ばれたスケールの番号M={1,3,4、6、8,9,11}です。これがメジャーとの違いです。 キーをn=2としたばあい、M+n-1={2, 4, 5, 7, 9,10,12}と、リストをシフトして、MNという名前をつけます。そして、Sequence(Mod(MN(k)-1, 12)+1,k,1,7)として複素数の番号を12個に納めます。 ここで、zip(pt(k),k,MN2)とするとMN2番目の頂点、つまりキーが2のスケール音名を強調できますね。 最後に和音がサイクリックな音名の関係、つまり円環構造なので、 スケール上の3和音、4和音の点を多角形の頂点として選びだしましょう。 3和音ならば、その和音がキーのi 番目なら、Cp3={MN2(i),MN2(i+2),MN2(i+4)}と番号リストを作ります。すると、12等分の点からpolygon(pt(Cp3(1)),pt(Cp3(2)),pt(Cp3(3))) とするだけで三角形が指定できます。 4和音場合は、スケール上の位置MN2で、さらに偶数番増やせばよいですね。 くわしくは、かくれた「数式」を広げて、グラフィックビューを一時的にせまくして、観察しましょう。