音楽理論をデータ化するExcelデータベース構築術

音楽理論をデータ化するExcelデータベース構築術 Excel

山本式和音番号の「キー」を定義し、和音の設計図を具現化する

前回の記事では、山本式和音番号システムの基盤となる、全33調の「音階表データベース」を作成しました。

あの緻密な作業は、複雑な音楽理論をExcelというデジタルなフィールドに落とし込み、論理的に扱えるようにするための、非常に重要な準備工程でした。

山本式和音番号における「調(キー)」の表記ルール

さて、今回はそのデータベースと連携する、システムの「頭脳」部分の構築に入ります。

しかしその前に、このシステムにおける最も基本的な「入力ルール」である、調(キー)の表現方法について、改めてここで明確に定義しておきましょう。

長調(Dur)の表記:調号数による数値化

山本式和音番号では、長調(Major Key)を、そのキーが持つシャープ()またはフラット()の数、すなわち「調号数」に対応する数値で表現します。

C durを基準の0とし、シャープが1つ増えるごとに数値が1つ増加し、フラットが1つ増えるごとに数値が1つ減少します。

  • 7 : Cis dur
  • 6 : Fis dur
  • 5 : H dur
  • 4 : E dur
  • 3 : A dur
  • 2 : D dur
  • 1 : G dur
  • 0 : C dur
  • 1 : F dur
  • 2 : B dur
  • 3 : Es dur
  • 4 : As dur
  • 5 : Des dur
  • 6 : Ges dur
  • 7 : Ces dur

短調(moll)の表記:「m」を付加するルール

短調(minor Key)の場合は、対応する調号数の数値の末尾に、小文字の「m」を付け加えて表現します。

このシステムでは、各長調に対する同主短調などを網羅的に扱うため、以下の通り定義します。

  • 7m : ais moll
  • 6m : dis moll
  • 5m : gis moll
  • 4m : cis moll
  • 3m : fis moll
  • 2m : h moll
  • 1m : e moll
  • 0m : a moll
  • 1m : d moll
  • 2m : g moll
  • 3m : c moll
  • 4m : f moll
  • 5m : b moll
  • 6m : es moll
  • 7m : as moll
  • 8m : des moll
  • 9m : ges moll
  • 10m : ces moll

いよいよ設計図の作成へ

この明確なキーの定義を基に、いよいよ和音の各要素を「」として定義し、その全貌を明らかにする「設計図」の作成に取り掛かります。

この作業を通じて、複雑な和音の構造をExcelの表で体系的に整理できるようになり、将来の音楽分析ツールの土台が築かれます。

STEP1:山本式和音番号の「入力構造」を設計する!〜データベースの列定義〜

はじめに、和音の情報を格納するデータベースの全体構造を設計します。

ここでは、なぜ各要素を「」に分けて管理するのか、その論理的なアプローチから解説します。

和音の要素を「列」で表現する論理的アプローチ

データベースの全体像と「列」に分ける利点

和音の情報を、例えば「2571」のような単一の文字列で管理するのではなく、「調」「度数」「種類」といった要素ごとにExcelの「」へ細かく割り当てるのには、明確な理由があります。

この構造を採用することで、まず、データの可読性が向上し、入力や修正が容易になります。

さらに重要なのは、将来的に新しいルールを追加したり、修正したりする際の拡張性が格段に向上することです。

そして、後の工程で用いる数式(例えばINDIRECT関数やINDEX/MATCH関数)の参照ロジックが格段にシンプルになり、より効率的でミスの少ないデータ処理が可能になるのです。

具体的な列見出しの入力手順

それでは、新しいシート(例: DB_山本式和音)を作成し、その1行目に、これから解説する列見出しをA列からAL列まで順番に入力してください。

これが、私たちの壮大なデータベースの骨格となります。

  • A列: 調号数
  • B列: m
  • C列: C
  • D列: moll
  • E列: 調
  • F列: 度
  • G列: 7/9
  • H列: 転
  • I列: 根省
  • J列: 借用
  • K列: +
  • L列: その他
  • M列: 予備1
  • N列: 予備2
  • O列: 予備3
  • P列: 連結
  • Q列: C
  • R列: M
  • S列: m
  • T列: dim
  • U列: aug
  • V列: 7
  • W列: 9
  • X列: sus4
  • Y列: (
  • Z列: ♯♭
  • AA列: 5
  • AB列: 7
  • AC列: 9
  • AD列: )
  • AE列: /
  • AF列: C
  • AG列: その他
  • AH列: 予備1
  • AI列: 予備2
  • AJ列: 予備3
  • AK列: 直接入力
  • AL列: コード

STEP2:データベースの各列が持つ「意味」を徹底解説!〜和音の構造を読み解く〜

データベースの骨格が完成しました。

ここからは、今しがた作成した全38列が、それぞれ何を意味し、どのような役割を担うのかを、グループに分けて徹底的に解説します。

A〜E列:和音の「調(キー)」を特定する情報

この最初のグループは、分析対象の和音が、どの調に属しているのかを定義するための列です。

手入力で定義するキー情報

[調号数] (A列): ここには、調号の数を手入力します。シャープ系の調は正の整数(例: G durなら1)、フラット系の調は負の整数(例: F durなら-1)、C durは0とします。

この数値が、調を識別するための最も基本的な情報となります。

[m] (B列): 短調(moll)の場合にのみ、手入力で小文字の「m」を記入します。

この一文字が、長調短調を区別する重要なフラグとして機能します。

[調] (E列): 山本式和音番号の「セカンダリードミナント」などを表現するために、基準となる度数を手入力します。

例えば「V/II」であれば、ここには2(II度)が入力されます。

山本式和音番号の257に対する芸大和声の画像

ダイアトニックコードの場合は空白で構いません。

数式で自動表示されるキー情報

[C] (C列): A列とB列の入力に基づき、ドイツ式のキー名(例: G, c)を数式で自動表示させるための列です。詳細な数式は、今後の記事で解説します。

[moll] (D列): B列にmが入力されていればmoll、なければdurと、調のタイプを数式で自動表示させるための列です。

F〜O列:山本式和音番号の「要素」を入力する中核部分

このグループは、和音の具体的な構造を示す「山本式和音番号」の各要素を、手入力で定義していく、データベースの中核部分です。

和音の「番号」を構成する最小単位

[度] (F列): 和音の主要な度数Ⅰ〜Ⅵ)を、アラビア数字の1から6で手入力します。

[7/9] (G列): 和音の種類(テンション)を定義します。7 (7th)や9 (9th)などを手入力します。

山本式和音番号の559180に対する芸大和声の画像

[転] (H列): 転回形1 (第1転回形), 2, 3で手入力します。
(第4転回形は山本式和音番号では扱いません。)

[根省] (I列): 根音省略を示すフラグとして8を手入力します。
(すでに度数の1から67thと9thで79を使用しており、余った数字が80のため、ここでは8を使います。)

山本式和音番号の559180に対する芸大和声の画像

[借用] (J列): 借用和音を示すフラグとして0を手入力します。
(通称:芸大和声では左側に○を表記するため、山本式和音番号では「0」を採用します。)

山本式和音番号の559180に対する芸大和声の画像

[+] (K列): 上方変位(例: #5)を示す+記号を手入力します。(下方変位は基本的には使用しません)

山本式和音番号の571+に対する芸大和声の画像

[その他] (L列): n (ナポリ)やg (ドイツの増6)など、特定の機能を持つ和音の記号を手入力します。
(以下の画像:ドイツの増6和音)

山本式和音番号のgに対する芸大和声の画像

[予備1], [予備2], [予備3] (M, N, O列): 将来的な機能拡張に備えて用意する、ユーザー定義用の予備列です。

P〜AL列:自動導出される「和音情報」と「最終コードネーム」

この最後のグループは、手入力された情報と、裏側で稼働する数式や参照テーブルを基に、最終的なコードネームを組み立て、表示するための領域です。

Excelが和音の情報を統合し、最終形へと表現する領域

[連結] (P列): E列からO列までの手入力された各要素を連結し、データベースの「参照キー」となる一意の「山本式和音番号」の文字列を、数式で自動生成します。

例えば、=TEXTJOIN(“”,TRUE,E2:O2) といった数式を使用します。

数式=TEXTJOIN("",TRUE,E2:O2)

Q列〜AG列: これらの列は、E列からL列に入力されたデータと、C列とD列の調を元に、最終的なコードネームを構成する各パーツ(ルート音メジャー/マイナーの別、テンションの数字、変化記号オンコードのベース音など)を、数式によって細かく分解・導出する作業領域です。

これらの列に組み込まれる複雑なロジックこそが、このシステムの心臓部であり、次回以降の記事で徹底的に解説していきます。

[予備1]〜[予備3] (AH, AI, AJ列): 自動計算用の将来的な拡張領域です。

[直接入力] (AK列): 数式での自動生成が困難、あるいは非効率な例外的なコードネーム(例: ドイツの増6和音をA♭7と表記する場合など)を、手入力で直接指定するための「上書き(オーバーライド)」列です。

この列に入力された内容は、他のどの計算結果よりも優先されます。

上書き(オーバーライド)の説明

[コード] (AL列): Q列からAJ列までで自動導出された各パーツと、AK列の直接入力を最終的に統合し、完成形となるコードネームを表示する、このデータベースの「最終出力列」です。

まとめ:Excelで和音の「全て」をデータ化!これが「山本式和音番号」の体系だ!

今回は、山本式和音番号を構成する多岐にわたる要素を、Excelの各列に整理して定義する方法と、その壮大なデータベースの全体構造を設計しました。

今回の記事を通じて、和音という複雑な概念を、いかにして構造化し、Excelで扱えるデータ形式に落とし込むか、その設計思想をご理解いただけたかと思います。

特に、手入力する「要素」と、それに基づいて自動計算される「結果」を明確に分離したこのデータベース構造が、将来の精緻な音楽分析ツールの、いかに重要な土台となるかを強調しておきます。

これで、Excelに和音の「設計図」が完全に入力できる状態となりました。

次はいよいよ、この設計図を元に、和音の構成音を導出し、最終的なコードネームを自動生成する、論理的な数式の構築に着手します。

タイトルとURLをコピーしました