ピアノを使って2の6乗根を推定する。
ピアノの鍵盤を利用して、2の6乗根が数値にすると大体どれくらいなのかを推定します。2の6乗根がどれくらいなのか知りたいが、手元にピアノしかない。そんな時に便利です。
実際には、2の(Y/12)乗を概算します。ただしYは1~11の整数です。
まずは、Y=2の場合を例にやっていきます。今回求めるのは、2の(2/12)乗=2の6乗根です。
ステップ1
ドからY回、右向きに半音移動して、たどり着く音が何か求めます。
今回はY=2なので、ド(=0)から始めて、ド♯(=1)、レ(=2)。つまり今回求めた音はレですね。
ステップ2
ドから完全5度移動(右に7半音移動)を繰り返して、ステップ1で求めた音に何回でたどり着くか数えます。
今回はレだったので、ドーソーレで2回!これをXと置きます。(X=2)
(今回の例、XもYもも同じ値になっちゃって、例として最悪ですね)
ステップ3
最後に、3のX(ステップ2で出た数字)乗を2より小さくなるまで2で割り続けます。
今回はX=2だったので、3の2乗=3x3=9
この9を2より小さくなるまで2で割り続けます。3回割ると、
((9/2)/2)/2 = 9/8 = 1.125と出ました!
2の(2/12)乗(=2の6乗根)は大体1.125くらいなのではないかという推定結果が出たわけです。
さて、実際の2の6乗根は、1.122462・・・・
なんだか微妙ですが、0.0025くらいの誤差でもとまりました。しかしながら、累乗根を実際の数値にするのって難しいと思うのでこのくらいの誤差なら上出来かなと思います。
もう一つ、例をとってやってみます。
つぎはY=3の場合を例にやっていきましょう。今回求めるのは、2の(3/12)乗=2の4乗根です。
ステップ1
ドからY回、右向きに半音移動して、たどり着く音が何か求めます。
今回はY=3なので、ド(=0)から始めて、ド♯(=1)、レ(=2)、レ#(=3)つまり今回求めた音はレ#ですね。
ステップ2
ドから完全5度移動(右に7半音移動する)を繰り返して、ステップ1で求めた音に何回でたどり着くか数えます。
今回はレ#だったので、ドーソーレーラーミーシーファ#ード#ーソ#ーレ#
で9回!これをXと置きます。(X=9)
ステップ3
3のX(ステップ2で出た数)乗を2より小さくなるまで2で割り続けます。
今回はX=9だったので、3の9乗=3x3x3x3x3x3x3x3x3=19683
この19683を2より小さくなるまで2で割り続けます。2の14乗が16384なので、19683を2で14回割ると、19683/16384=1.20135498047と出ます。
2の(3/12)乗(=2の4乗根)は1.20135498047なのではないかという推定結果が出たわけです。
さて、実際の2の4乗根は1.189207115・・・
ということで、ちょっとこれは外れ気味ですね。誤差は0.012くらい。
Yが1~11の整数ならどれでも、2の(Y/12)乗をこうしてある程度数値にできると思います。
一体何を計算しているのかというと、これらは、ドから各音の周波数比です。3のべき乗を2のべき乗で割って出した方がピタゴラス音律。2の12乗根を計算する方が平均律です。
第3倍音(この3という数字がステップ3でいきなり出てきた3という数字)と完全5度の周波数を一致させるのがピタゴラス音律ですが、どうしても12個ある完全5度の関係すべてを綺麗に一致させることができないため、生じるズレを12等分することで和音の響きを犠牲にし、全ての調での演奏を可能にしたのが平均律です。
大抵の曲は平均律だと思うので、私たちの耳はさきほどの計算の結果出てきた誤差を許容していることになると思います。
おわり
ちなみに・・・
このアルゴリズムを鍵盤を使わずに数式化すると、
(7*x)mod12≡y、ただし、x,yは11以下0以上で成り立つ整数とする。このとき
2^(y/12)は(3^x)/(2^n)とほとんど等しい。ただし、nには1<=(3^x)/(2^n)<2となる整数が入る。
<例>
y=9のときx=3
3の(3=x)乗は27、(3^x)/(2^n)=27/16=1.6875
2^(9/12)=2^(3/4)=1.681792...
この場合、誤差は0.006くらい。
って感じだと思います。