音楽理論を多少数学を使って

2012/09/19


音楽理論は、実に分かりにくい。門外漢には分かりにくいように、あえて変な用語を使っているのかとすら思う。というわけで、もう少し数学を使って分かりやすくしてみようと思った記録。

1オクターブは12音からなる

ここでは正弦波のみを考える。周波数440Hzの音を、 A4(ラ)と名づける。その倍の周波数を持つ音(880Hz)はA5、さらに1760HzはA6、のように名づけていこう。

A3からA4の間の区間は1オクターブである。1オクターブから12の音を選ぶ。 なぜ12なのか、は私には分からないが、西洋音楽とはそういうものらしい。 選び方は、周波数が等比数列となるようにする。公比は 2^(1/12)である。 この選び方によって、A3からA4の間には、 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 の音が存在する。A3とA4は、0と12にそれぞれ対応する。1オクターブは {0,1,2,...,11} という集合で現される。A4からA5の間などにも同様に拡張すると、結局 ある特定の周波数の音に、整数でラベルをつけることができる。

実際MIDIのノートナンバーは、上のように整数で名前がつけられている。たとえばA4の音(440Hz)は69である。当然、A5の音(880Hz)は、69+12=81となる。

音楽理論では、1オクターブ離れた音は同じものとみなすようだ。 よって、 0 ~= 12 であり、3~=15 である。 つまり、12で割った余りで作る剰余類を考えることになる。

音名

440Hzの音を0とするとき、
{0,2,3,5,7,8,10}
に対応する音に
{A,B,C,D,E,F,G}
と名づける。(日本語だとイロハニホヘトを使う。本サイトではなるべく数字表記で統一し、英字表記を併用する)

さて、これは音名であり、周波数を指定する。
アルファベットは、音名にも音階にも使われて大混乱だが、音名は周波数を指定する。
絶対音名とでも名づければよかろうか。

いきなり仲間外れにされてしまった
{1,4,6,9,11}
の5個には
{A#, C#, D#, F#,G#}
というやや強引な名前が付いている。
これらの音はあまり使われない、というわけでは決してない。

国際表記では、オクターブ表記の方法として A3,B3,C4,D4,E4,F4,G4,A4,B4,C5,D5 のように表記するらしい。つまり、CからBまでを1オクターブの区切りとしている。 なんでそんなことになっているのかは、下のドレミと関係しそうだが、何にせよ複雑なことになっている、という感はぬぐえない。

半音・全音・1度、3度、5度

半音の差とは、差が1であること
全音の差とは、差が2であること
間隔が1度とは、間隔がないこと(すごい定義です・・・)
間隔が3度とは、間隔が+4または+3のこと(それぞれ、長3度と短3度というらしい)
間隔が完全5度とは、間隔が+7のこと。
	完全5度の差は、周波数の比が2^(7/12)=1.498..となる。この値は2:3に近いため、協和音程などと呼ばれる。

音階 (Scale)

上で定義した0から11までの12個の音を全部使えば単純でよいのだが、この中からさらに7個を選ぶ。 なぜ7個なのか、は私にはやはり答えられないが、そういうものである。

ドレミファソラシドは、ドの重複を除くと全部で7個だ、という説明で納得してくれれば嬉しい。

12個の音から7個を選ぶ選び方を、音階と呼ぶ。ざっくり考えると、12C7通りの選び方があるが、実際に使われるのはごく小数である。大きく分けて2つあるようだ。

長音階 (Major scale)

{0,2,4,5,7,9,11} の7個を選ぶやり方を、長音階という。 より一般には、ある音を基準に、

+2, +2, +1, +2, +2, +2 (,+1)

のように音を選ぶのが長音階である。

短音階 (minor scale)

{0,2,3,5,7,8,10} の7個を選ぶやり方を、短音階という。 ただし、派生バージョンがいろいろあるようだ。 より一般には、ある音を基準に、

+2, +1, +2, +2, +1, +2 (,+2)

のように音を選ぶのが短音階である。

階段でたとえると

12段の階段を、7回で登ると決めてしまったのだから、5回は1段飛ばして登らざるを得ない。つまり
	+12 = (+2) x 5 + (+1) x 2
である。

+1が連続しないように、+2と+1を並べると、並べ方にそんなに自由度はない。

「音階」というのは素晴らしい訳語だと思う。

「要するに、+2を2回やって、+1をやって、+2を3回やって、+1をやって、それで+12になるから、あとはそのリピートでしょ」と思った方:その通りだと思います。

「長音階も短音階も、登り方としては結局同じじゃないか」と思った方:これもその通り。

キー(調)

基準となる音(中心音・主音)があって、そこから音階を作り、そこに現れる音しか使わない曲は多い。たとえば、{0,2,4,5,7,9,11}しか使わない曲があったとすると、これは0を中心音とする長音階である。0の音名はAなので、この曲は A Major (イ長調)という調を持つ、という。

C Major

{3, 5, 7, 8, 10, 12, 14}しか使わない曲は、何調だろうか。 3の音名はCなので、これは C Major (ハ長調)である。 C Major の曲をピアノで弾くと、黒鍵を使わないことになる。

ドレミファソラシド

基準音から順にそれぞれ、ドレミファソラシと名づける。これを階名と呼ぶ。 C Majorの ド,レ,ミ は、音名だと C, D, E である。
ドレミファソラシの代わりに、CDEFGABを使う書き方もあるらしく、これが大混乱の一因となっている気がしてならない。

D Major

{5, 7, 9, 10, 12, 14, 16}しか使わない曲は、何調だろうか。 5の音名はDなので、これは D Major (ニ長調)である。 D Majorの ド,レ,ミ は、音名だと D, E, F#である。(9=8+1=F#)

C Major に、+2すれば(全音上げれば) D Major になるが、音の集合としては C Major と D Major は異なる。7つの音のうち、{5,7,10,12,14}の5つの音だけが、両方に含まれている。

平行調

C Major
{3, 5, 7, 8, 10, 12, 14}
は、12の剰余類としては
{0, 2, 3, 5, 7, 8, 10}
と同値である。
{3, 5, 7, 8, 10, 12, 14}
は、3を中心音として
{0, +2, +2, +1, +2, +2, +2}
だから長音階だが
{0, 2, 3, 5, 7, 8, 10}
は、0を中心音として
{0, +2, +1, +2, +2, +1, +2}
だから短音階である。実際これは、A minor である。

つまり、音の集合としては、C Major = A minor である。
このように、音の集合として一致する調を、平行調と呼ぶ。

中心音

では、C Major の曲と、A minorの曲は同じ調なのか?

そんなことはまったくない、らしい。

音の集合としては同じだが、中心音が違うと、聞こえ方が大きく変わる。 音楽理論によると、中心音(主音)にはたとえば「メロディーの終わり」や「その音に戻ろうとする力」があるらしい。この辺は、もはや理論には聞こえないが。

長調は明るい曲? 短調はくらい曲?

「長調は明るい曲、短調はくらい曲が多い」

とよく言われる。上のような長調、短調の定義を理解した方なら、

「なんとオカルトチックな」

という反応をしていただきたいが、意外と実際その通りなのだから恐ろしい。

つまり本当に、長調は明るい曲、短調はくらい曲が多いのである。もちろん例外も多いが、例をいろいろ聞いてみると、私にもそう思える。

階段を急いで登るとき、2,2,1,2,2,2,1 と登るのは「明るい階段登り」であり、 2,1,2,2,1,2,2と登るのは「くらい階段登り」なのである。

和音 (chord)

ここまでくれば、和音は楽勝である。
調を選んで、その7つの音の中から、1つ飛ばしに3つの音を同時に鳴らせば、それが和音である。たとえば

C Major {3, 5, 7, 8, 10, 12, 14}

には、{3,7,10}という和音がある。関係が、+4,+3 の和音はMajorと呼ばれる。
また、コード名には根音(いちばん下の音)の音名がつく。
つまり和音{3,7,10}は C Major というコードネームを持つ。Cと略記される。

C Majorにおける{7,10,14}は、関係が、+3,+4 であり、minorと呼ばれる。
和音{7,10,14}は E minor である。Emと略記される。

C Majorにおける{14,5,8}~={2,5,8}は、関係が、+3,+3 であり、diminishedと呼ばれる。
和音{2,5,8}は Bdim と略記される。

ということで、C Majorには和音として C/Dm/Em/F/G/Am/Bdimの7つだけ
が存在することがわかる。
これらを順に、Ⅰ/Ⅱ/Ⅲ/Ⅳ/Ⅴ/Ⅵ/Ⅶと記述したりするらしい。

A minor と C Major は平行調なので、存在する7つの和音は当然同一である
・・と思いきや、Wikipediaでイ短調を調べてみると、そうはなっていない。

和声的短音階・旋律的短音階

A minor と C Major の和音が同じでないのは、
A minorとして {0, 2, 3, 5, 7, 8, 10} のほかに、

和声的短音階 {0, 2, 3, 5, 7, 8, 11}

やら、

旋律的短音階 {0, 2, 3, 5, 7, 9, 11}

やらが存在するかららしい。なんでも、

音を高くしていくとき、
主音(この場合は0)の直前の音(この場合は10)から、2上がるのは嫌

なんだそうだ。なので、10の代わりに11を使っちまえ、という発想である。

でも、8と11が+3も違うのは嫌だ、つうことで、

旋律的短音階 +2, +1, +2, +2, +2, +2, (+1)

があるらしい。
ついに階段の登り方が変更されました

いきなりちゃぶ台をひっくり返されて、

「じゃあ、A minor って何なの?」

と叫びたくなる気分である。

なぜ12音(12平均律)なのか?

ここらで気分を変えて、「なぜ12なのか」を考えてみる。
実はこれは、次のことを認めれば必然の結果なのである。

	2つの音の周波数の比が、なるべく簡単な整数の比であることが望ましい

もっとも簡単な整数の比は、 1:2 である。

すべての音(正弦波)の集合は、その周波数を考えれば、
正の実数全体の集合
	R+ = (0, infinity)
と同一視できる。
R+から、基準音440Hzをもとに、..., A2, A3, A4, ... という音を選んだ。
これは周波数だと、等比数列である。公比を2として1オクターブを決めたことが
これで説明できた。

次に簡単な整数の比は、1:3 か 2:3 であろう。
2は1の倍なので、どちらで考えても同じことだが、
後々の都合で、2:3で考えることにする。
基準音の周波数をf0として、1オクターブの区間
	[ f0, 2 f0 ]
の中で両端 f0, 2f0 と (3/2)f0 を含むように、等比数列を取りたい。
両端を含む為には、公比は2のN乗根でなくてはならない。
(3/2)f0 を含むためには

	2 ^ (M/N) = (3/2)

となるような、自然数 M,N が欲しい。
しかし残念ながら、そのような自然数 M,N は存在しない。
なぜなら、上の式は

	2 ^ (M+1) = 3 ^ N

となるが、2のべき乗は偶数であり、3のべき乗は奇数だから、
絶対に一致しない。

一般に、比 A:B を実現したいとき、
logを2を底とする対数と決めると、最初の式は

	(M/N) = log(A/B) = log A - log B

とかけるが、これをみたすような自然数 A,B,M,N は(自明な例を除いて) 存在しないことが証明できる。
要するに、対数は無理数になるのである。
無理数と有理数は決して一致しないということが、音楽においても大きな役割を果たす。
ということで、

	んじゃ、なるべく 2:3 に近いので我慢する

という

	人間らしさ

を認めるのが音楽理論のおおらかなところである。
(が数学的には、話はややこしくなる。)

公比 2^(1/N) を決めると、(3/2)=1.5 に
なるべく近い比を実現する M は

	M = N log 3 - 1

から自動的に決定する。N=1 から N=14までの範囲で、
N log 3 が、それを四捨五入した整数からどれだけずれているかを
図示すると
N=12のときに、ずれが非常に小さいことがわかる。
(12 log 3 = 7.01955)

比の値でみると

	2^(7/12) = 1.49831

であり、1.5にかなり近い。
	余談だが、上の図は Mathematica で
	Table[ 2^(Round[N[(i Log[2, 3])]]/i - 1), {i, 14}]
	で作成した。

N=5の場合

	2^(3/5) = 1.51572

もそれなりに 1.5 に近いので、5平均律というものも考えることができる。

その他の平均律

N=12よりもさらに精度良く1.5を実現するためには、
N=24, 36, ... などの12の倍数を除くと、
N=1からN=53の範囲では

	2^(17/29) = 1.50129
	2^(24/41) = 1.50042
	2^(31/53) = 1.49994

と、かなり限られてくる。
N=29にとっても、N=12の場合から大して改善されない
(0.00169 → 0.00129)

ということで、周波数比 2:3 の精度を、12平均律よりも上げるには、

	41平均律
	53平均律

くらいしかないのである。

1オクターブを41個やら53個に分けたい
とは、普通の人は思わないだろう。

なので、1オクターブを12個に分けるのが標準なのである。

1オクターブを周波数3倍に選んだら?

世界標準に立ち向かう精神は重要である。ということで、

	[ f0, 3 f0 ]

を1オクターブに選んでみることを考える。
この世界は、logで考えると、
上で 2 を底としていたのを、3 を底にすればよいだけである。

そしてこの世界では、周波数比 1:2 を実現するために苦労することになる。
(1:2さえ実現できれば、2:3 は自動的に作れる。)

この世界も、通常の世界と同じく、無理数の壁にぶち当たる。

実際のところ、1オクターブを何倍に選ぼうとも、
この問題は解決しない。
よって、いずれにしても 近似値 で我慢するしかない。

ちょっと計算してみると、この世界では

	3 ^ (12/19) = 2.00143

を用いて、19平均律が標準となりそうだ。

なお、8平均律
	3 ^ (5/8) = 1.98701
65平均律
	3 ^ (41/65) = 1.99965
84平均律
	3 ^ (53/84) = 2.00005
などが存在しえる。


2と3で作れるような周波数の比は実現できる

かなり脱線したが、周波数の比が1:2になるように1オクターブを定義し、周波数の比が2:3に近くなるような音を含むように (非可算集合である R+ から、可算集合を) 選んだ結果、 12平均律が導かれた。
基準音に対して、 +7 すれば、周波数は 約(3/2)倍 される。

+12 +7 すれば、周波数は 2*(3/2)倍 = 3 倍される。
よって、周波数が3倍3倍になっていくような音列は、
我々の記法では
{0, 19, 38, 57, ...}
となる。

-12 +7 すれば、周波数は (1/2)*(3/2)倍 = (3/4) 倍される。
-5 すれば、周波数は (3/4) 倍されるということは、
+5 すれば周波数は (4/3) 倍されるということである。

+7 +7 -12 すれば、、周波数は (3/2)*(3/2)*(1/2)倍される。
つまり、+2 すれば(全音あげれば)周波数は (9/8)倍になる。

ただしこれらの計算は、すべて近似値であることに注意。
12平均律では、厳密に 2:3 は実現できない。