第1章 — 音階とキー
第0章では音高を mod 12 の整数としてモデル化しました。スケールとは、その12クラスを一定の間隔パターンで選んだ 部分集合 にすぎません。半音階の語彙へのビットマスクのようなものです。そしてキーは、その部分集合を絶対的な開始オフセットに固定します。この2つを掴めば、第2章のコード進行はただの座標変換になります。
スケールは選ばれた部分集合
利用できる12のピッチクラスのうち、ほとんどの音楽は一度に7つしか使いません。どの7つか、そしてそれらの 隙間の並び がスケールです。
音階(スケール)
スケール は12のピッチクラスから選んだ順序付きの部分集合で、オクターブごとに繰り返す間隔パターンで定義されます。スケールを選ぶことは、メロディに使える正規の記号を選ぶことに似ています。スケール内の音は「合って」聞こえ、外の音は「外れて」聞こえます。ポップスで最も一般的なのはメジャースケールです。
メジャー / マイナー
メジャー と マイナー はポップスを支配する2つのスケールの性格(モード)です。メジャーは 2-2-1-2-2-2-1 半音のステップで明るく、マイナーは隙間を並べ替えて暗く聞こえます。別々の音の集合というより、選んだ中心音からの 隙間の並び方 が違うのです。
ドレミの音節は音高そのものではなく、位置を表すラベルです。「ド」はスケールが始まる場所であり、全音と半音の並びこそが、開始音に関わらず耳が「メジャー」と認識するものです。
マイナー:同じ音、違う中心
部分集合モデルの印象的な帰結があります。2つのスケールが同一の7つのピッチクラスを含んでいても、どの音を中心とみなすかが違うだけで、まったく異なる響きになり得るのです。
平行調(レラティブマイナー)
メジャースケールの 平行調(レラティブマイナー) は、同じ7音から第6音を起点に作るマイナースケールです。CメジャーとAマイナーはすべての白鍵を共有し、違うのは 調的中心 だけです。同じ集合の、際立った要素が違うだけなのです。
計算上、CメジャーからAマイナーへの切り替えはピッチクラスを1つも変えません。どのクラスを「第1音」と呼ぶかをラベル付け直すだけです。感情の変化は、音楽がどこへ解決するかだけから生まれます。
度数:相対座標
音を絶対的に名付ける(C、D、E…)と、メロディが1つのキーに結びついてしまいます。音楽理論はスケール音に番号を振ることでその結合を避けます。
度数(スケールディグリー)
度数 はスケール内の音のインデックスで、1 から 7 で書きます(度数 1 が中心音)。度数は 相対座標 です。「第5音」はキーに関わらず5番目のスケール音を意味します。これは、コードや進行の表記がすべて乗っているキー非依存のアドレス空間です。
度数を論理アドレス、実際のMIDI番号を物理アドレスだと考えてください。第2章で出会うローマ数字(I、IV、V)は度数ベースであり、だからこそ進行はオフセットを1つ変えるだけで任意のキーへ移調できます。
キー:開始オフセット
スケールは形を与え、キーはその形が12ステップの数直線のどこから始まるかを選びます。
調(キー)と主音(トニック)
キー はスケールと、その帰る場所である 主音(トニック)(度数 1 の音)を指定します。キーを選ぶことは加算オフセットを選ぶことです。同じ度数パターンをCから始めるかGから始めるかで、同じ曲が移調された形になります。MidiSketchの key フィールドがそのオフセットで、0〜11 です。
これは純粋な移調です。すべての音高が同じ半音数だけずれ(C → G は +7)、メロディの形は度数空間で完全に同一です。key を変えても曲の構造は何も変わらず、絶対的な高さだけが変わります。
音程:音と音の距離
コードの前の最後のプリミティブは、2音間の隙間で、スケールのステップ数で測ります。
音程(インターバル)
音程 は2つの音高の距離です。スケールのステップ数で数えると 2度・3度・5度 といった名前になり、半音で数えると正確な整数になります。3度(スケール音を1つ飛ばす)はポップスの和声の構成要素です。
各ペアがそれ自体ですでに協和して聞こえることに注目してください。3度を積み重ねるのがコードのレシピです。第2章では、トライアドはルートの上に3度を2つ積んだだけのもので、和声のプリミティブはこの音程からそのまま導かれます。
よくある落とし穴 — mood には moodExplicit が必要
mood だけを設定しても効かないように見えることがあります。既定ではエンジンはこれをヒントとして扱い、上書きすることがあるからです。mood の値を正確に適用するには moodExplicit: true も併せて設定してください。(一方 key は常に適用されます。)
MidiSketchとの対応
| 概念 | 設定フィールド | 範囲・備考 |
|---|---|---|
| スケールと主音 | key | 0〜11、どのピッチクラスを度数 1 にするかを選ぶ(0 = Cメジャーの中心、7 = G) |
| 度数による番号付け | (記譜) | ローマ数字による進行表記の土台 — 第2章 と ハーモニー を参照 |
第2章 — コードとトライアド に進みましょう。