雑記帳 (Notebook)


数値計算について (その8)

49A(440[Hz])の前後の短2度音程の周波数差を見ると

48: 415.3047 
49: 440.0000 -> 24.6953[Hz]
50: 466.1638 -> 26.1638[Hz]

それを 100[cent]とすると 1[Hz]はだいたい 4[cent]ぐらいになります。
πを3.14ではなく3とする時代にあって,平均律半音の比率(12√2 = 1.0594631) も省略したらどうでしょう?
以下は 220[Hz]に比率 xを変えて順次掛けて行った値です。

 x = 1.0   :   1.05  :   1.059 :   1.0594:  1.05946: 1.059463: 1.0594631
------------------------------------------------------------------------
 0 220.0000: 220.0000: 220.0000: 220.0000: 220.0000: 220.0000: 220.0000
 1 220.0000: 231.0000: 232.9800: 233.0680: 233.0812: 233.0819: 233.0819
 2 220.0000: 242.5500: 246.7258: 246.9122: 246.9402: 246.9416: 246.9417
 3 220.0000: 254.6775: 261.2826: 261.5788: 261.6233: 261.6255: 261.6256
 4 220.0000: 267.4114: 276.6983: 277.1166: 277.1794: 277.1825: 277.1826
 5 220.0000: 280.7819: 293.0235: 293.5773: 293.6605: 293.6646: 293.6648
 6 220.0000: 294.8210: 310.3119: 311.0158: 311.1215: 311.1268: 311.1270
 7 220.0000: 309.5621: 328.6203: 329.4902: 329.6208: 329.6274: 329.6276
 8 220.0000: 325.0402: 348.0089: 349.0619: 349.2201: 349.2280: 349.2282
 9 220.0000: 341.2922: 368.5414: 369.7962: 369.9847: 369.9941: 369.9944
10 220.0000: 358.3568: 390.2854: 391.7621: 391.9840: 391.9951: 391.9955
11 220.0000: 376.2747: 413.3122: 415.0327: 415.2914: 415.3043: 415.3047
12 220.0000: 395.0884: 437.6976: 439.6857: 439.9846: 439.9995: 440.0000
-----------------------------------------------------------------------
A -220.0000: -44.9116:  -2.3024:  -0.3143:  -0.0154:  -0.0005:   0.0

A は 12回目(オクターブ)と 440[Hz]との差の値です。
1.0では周波数は 2倍にはなりませんが 1.0594の小数点以下第4桁ぐらいなら 何とか使えそうな値になります。

しかしそれから2倍・3倍・10倍音などを計算しようとすると それでは誤差が 出てしまいます。

それは表示桁数を小数点以下第4桁から第6桁までとすると 1.0594631でも完全な 0にはならなず,出来るだけ正確な計算には以下の 2^(1/12)の様な精度のある値 が必要な事が分かります。(^ は自乗の記号)

x = 1.0594631: 2^(1/12) (1.059463094359...)
-------------------------
 0 220.000000: 220.000000
 1 233.081882: 233.081881
 2 246.941653: 246.941651
 3 261.625569: 261.625565
 4 277.182637: 277.182631
 5 293.664776: 293.664768
 6 311.126994: 311.126984
 7 329.627569: 329.627557
 8 349.228246: 349.228231
 9 369.994440: 369.994423
10 391.995457: 391.995436
11 415.304722: 415.304698
12 440.000028: 440.000000
-------------------------
A    0.000028:   0.0

それは12回だけではなく87鍵分の計算を行うとその誤差も大きくなります。

   x = 1.059463:   1.0594631:  2^(1/12)
-----------------------------------------
 0:   27.5     :   27.5     :   27.5
      〜           〜             〜
87: 4185.976610: 4186.010984: 4186.009045
-----------------------------------------
A     -0.032435:    0.001944:    0.0

細かい事かも知れませんが(その4[cent]以下でうなりをどうこうしようと する身にとっては)...