音程の物理学

このページでは、主に管楽器について、 音の振動数や音程やピッチなどに関する物理的考察を行い、 究極のチューニング理論を展開する。 チューニングをする上で、この内容が少しでも参考になることを期待する。

ここでは、高校数学、高校物理、 そして一部ではあるが大学の数学を使って考察している。 読者は高校の数学II・物理IBを理解しているものとして、ここでは議論する。 もちろん、音楽の知識もある程度持っていることが前提である。

目次

  1. 振動数とセントの関係を示す重要な公式
  2. 平均律と純正律のピッチのずれ
  3. チューニングB♭の振動数の同定
  4. うなりとピッチの関係
  5. 温度とピッチの関係
  6. 管の抜く長さとピッチの関係
  7. 最小二乗法による、最適な管の抜き方

振動数とセントの関係を示す重要な公式

♪Point♪
基準の音の振動数 f0 [Hz]に対する ある音の振動数 f [Hz]のピッチのずれ p [cent]は、
p = 1200 log2( f / f0 )
で表される。

ここでは、音の振動数と、チューナーで表示される値 (「ピッチのずれ」と呼ぶことにする)との関係を示す公式を導く。

オクターブと振動数の関係

ある音の1オクターブ上の音は、元の音に比べて振動数が2倍になる。 2オクターブ上の音は、 1オクターブ上の音のさらに1オクターブ上の音なので、 振動数が2倍の2倍、すなわち4倍になる。 3オクターブ上の音は、同様に、振動数が2倍の2倍の2倍、 すなわち8倍になる。 また、−1オクターブ上(1オクターブ下)の音は、 振動数が1/2倍になるのも明らかである。

したがって、次のことが分かる。 振動数 f0 の音の、a オクターブ上の音の振動数 f は、

f = 2a f0
と表される(ただし、a は実数)。

ここで、a を実数としているが、これは次のようなことを意味する。 例えば、平均律における「半音」の音程の差は、 1オクターブをちょうど12等分した値、 すなわち(1/12)オクターブである、 というように、オクターブという概念を実数に拡張する。

ちなみに、平均律での半音上の音は振動数が何倍になるかというと、 上の式に a=1/12 を代入すれば分かるように、

21/12 = 1.059463...
倍になる。


オクターブとセントの関係

「セント」とは、 ある音の高さをチューナーで測定したときに表示される (針が指す)値の単位である。 ここでは、この「セント」の単位で表される値を 「ピッチ(のずれ)」と呼ぶことにする。 実際にチューナーを見れば分かるように、 ある音(例えばB♭)に対して -50セントから+50セントまでの値を取れる。 すなわち、「半音」の音程は「100セント」である。

また、上にも書いてあるように、 「半音」が12個で1オクターブであるから、 「半音」の音程は「(1/12)オクターブ」である。

以上より、「1オクターブ」は「1200セント」であることが分かる。 あるいは、ある音の音程 p(セント)を、 a(オクターブ)を用いて表すと、

p = 1200 a
が成り立つ。


以上より、振動数とセントの関係が求まる。

以前求めた式

f = 2a f0
より a について解くと、
a = log2( f / f0 )
となる。これを上で求めた式
p = 1200 a
に代入する。すると、基準の音の振動数 f0 に対する ある音の振動数 f のピッチ p(セント)は、
p = 1200 log2( f / f0 )
で表される
、という重要な公式が導かれる。

また、底の変換公式を用いて、 常用対数表などで数値計算しやすいように常用対数に書きかえると、

p = 3986.314 * log10( f / f0 )
となる。あるいは、 あとで微分等の計算がしやすいように、自然対数に書きかえると、
p = k ln ( f / f0 )
となる(ただし、k = 1200/ln2 = 1731.234)。

戻る

平均律と純正律のピッチのずれ

♪Point♪
純正律できれいな和音を作る方法:
  • 根音の5度上の音は2.0セント上げる
  • 根音の長3度上の音は13.7セント下げる
  • 根音の短3度上の音は15.6セント上げる
  • 根音の短7度上の音は3.9セント下げる
などを計算によって求めることができる。

ここでは、純正律できれいな和音を作ろうとするときに、 ピッチを何セント上げれば(あるいは下げれば)うまくハモるかを、 計算によって求める。

平均律とは、任意の音の振動数とその半音上の音の振動数の比が 常に等しい音階のことである (すなわち、半音上の振動数はもとの振動数の21/12 = 1.059463倍となる音階のことである)。 一方、純正律とは、ある調において、 2つの音の振動数の比が簡単な整数比になっている (和音を作るときれいにハモる)音階のことである。 したがって、平均律と純正律では微妙に振動数が異なる。

具体的に、ドを1としたときに、平均律・純正律それぞれで、 主な音の振動数比がどれだけずれているかを表にすると 次のようになる。

平均律の振動数比 純正律の振動数比
1.000 (=20/12) 1.000 (=1/1)
1.122 (=22/12) 1.125 (=9/8)
ミ♭1.189 (=23/12) 1.200 (=6/5)
1.260 (=24/12) 1.250 (=5/4)
ファ1.335 (=25/12) 1.333 (=4/3)
1.498 (=27/12) 1.500 (=3/2)
1.682 (=29/12) 1.667 (=5/3)
シ♭1.782 (=210/12) 1.778 (=16/9)
1.888 (=211/12) 1.875 (=15/8)

ここで、振動数とセントの関係を示す公式

p = 1200 log2( f / f0 )
を用いて、平均律と純正律のピッチのずれを計算する。 上の式で f0 = (平均律の振動数)f = (純正律の振動数) とすると、 平均律の振動数に対する純正律の振動数のピッチのずれが分かる。 すなわち、純正律の振動数が、チューナーでどれだけずれているかが分かる。 たとえば、純正律のミの音が平均律のそれに比べて 何セントずれているかを計算すると、
p = 1200 log2 ( (5/4) / 24/12 ) = -13.686...
より、純正律のミは、13.7セント低いことが分かる。

このように他の音についても 実際に計算すると次の表のようになる。

純正律のピッチのずれ(セント)
0.0
3.9
ミ♭15.6
-13.7
ファ-2.0
2.0
-15.6
シ♭-3.9
-11.7

したがって、例えば ド・ミ・ソの和音(メジャー・コード)を作るとき、 ミを13.7セント下げ、ソを2.0セント上げると、きれいな和音になる。 また、ド・ミ♭・ソの和音(マイナー・コード)を作るとき、 ミ♭は15.6セント上げればよい。 さらに、ド・ミ・ソ・シ♭の和音(セブンス・コード)を作るとき、 シ♭は3.9セント下げればよい。

戻る

チューニングB♭の振動数の同定

♪Point♪
クラリネットのチューニングB♭の振動数は、468.28 [Hz]である。 ただし、a1=442 [Hz]で合わせるものとする。

ここでは、クラリネットのチューニングB♭の振動数が、 a1=442で合わせた時に、理論的には何ヘルツになるかを 計算によって求める。

クラリネットは、 上(マウスピース側)が固定端、下(ベル側)が自由端である。 また、クラリネットのチューニングB♭の音は、3倍音になっている。 したがって、この音の、管の内部での定常波の「節」、「腹」の位置は、 「節」の位置を×、「腹」の位置を○で表すと、次のようになる (○と×との距離が、波長の4分の1になっている)。

+―――――――――――――――――――
|×     ○     ×     ○
+―――――――――――――――――――

チューニングB♭を鳴らしているときの管の長さを L とすると、 この音の波長λは、上の図より、

λ = 4L/3
である。したがって、音速を V とすると、この音の振動数 f は、
f = V/λ = 3V/4L
となる。

ここで、おおまかに、音速 V=340m/s、管の長さ L=0.5m とおくと、 振動数 f は、

f = 3*340/(4*0.5) = 510 Hz
となるが、これを、次に示す振動数の表 (半音上の振動数が21/12=1.059倍であることと、 a1=442 Hz であることを用いて、計算によって求めた) と比較する。

C2C1C cc1c2 c3c4
C16.42632.85165.704131.41 262.81525.631051.22102.5
Des17.40334.80569.611139.22 278.44556.891113.82227.5
D18.43736.87573.750147.50 295.00590.001180.02360.0
Es19.53439.06878.135156.27 312.54625.081250.22500.3
E20.69541.39182.781165.56 331.13662.251324.52649.0
F21.92643.85287.704175.41 350.82701.631403.32806.5
Ges23.23046.46092.919185.84 371.68743.351486.72793.4
G24.61149.22298.444196.89 393.78787.551575.13150.2
As26.07552.149104.30208.60 417.19834.381668.83337.5
A27.62555.250110.50221.00 442.00884.001768.03536.0
B29.26858.535117.07234.14 468.28936.571873.13746.3
H31.00862.016124.03248.06 496.13992.261984.53969.0

上の表で、f = 510 Hz に最も近いB♭の音は、 f = 468.28 Hz である。 以上の考察から、クラリネットのチューニングB♭の振動数は、468.28 Hz であることが分かる。

クラリネットのチューニングB♭の振動数が分かれば、 クラリネットの他の音の振動数も上の表を見れば分かるし、 他の楽器の音の振動数も上の表で分かるだろう。

戻る

うなりとピッチの関係

♪Point♪
振動数 f0 [cent]の基準音に重ねて音を鳴らしたときに聞こえる うなりの振動数 ν [Hz]とピッチのずれの絶対値 |p| [cent]の関係は、
|p| = 1731.234 * ν / f0
で表される。 特に、クラリネットのチューニングB♭(468.28Hz)に対しては、
|p| = 3.7 * ν
である。

ここでは、うなりの回数から、ピッチがどれだけずれているかを 計算によって求める方法を考えてみる。

以前求めたように、 基準の音の振動数 f0 に対してある音の振動数 f が p セント高いとき、ピッチ p は f の関数として

p(f) = k ln ( f / f0 )
と書ける(ただし、k = 1200/ln2 = 1731.234)。 ここで、上の式を、f = f0 のまわりでTailor展開して 1次の項まで求める(f≒f0として p を f の1次関数に 近似する)と、
p(f) ≒ p(f0) + p'(f0)*(f - f0)
= k ( f - f0 ) / f0
となる。

ここで、振動数 f0 の音とそれに近い振動数 f の音が 重なり合ったとき、うなりの振動数 ν は、

ν = | f - f0 |
で表されるから、上で求めた式の両辺の絶対値を取ると、 うなりの振動数 ν とピッチの絶対値 |p| の関係は、
|p| = (k/f0)*|f - f0| = kν/f0
で表される。

具体的に例をあげて計算してみる。 たとえば、クラリネット同士でチューニングB♭を 合わせようとするときを考える。 ある人が、正しくチューニングされたチューニングB♭を吹いていて、 別の人がそれに重ねてチューニングB♭を吹いてうなりが聞こえたとする。 うなりの回数からピッチのずれを推定するにはどうすればいいか。

クラリネットのチューニングB♭の振動数 f0 は、 以前求めたように、 f0 = 468.28 Hz であるから、 うなりの回数が1秒間にν回(νHz)とすると、 ずれたピッチの絶対値 |p| は、

|p| = kν/f0 = 1731.234*ν/468.28 = 3.7ν
セントである。 すなわち、クラリネットのチューニングB♭を吹いて νHzのうなりが聞こえたら、 ピッチは3.7νセント高い、または低いことが分かる。

戻る

温度とピッチの関係

♪Point♪
管楽器の管内の温度が1℃変わると、およそ3セントずれる。

ここでは、管内の温度によってピッチ p [セント] が どのように表せるかを、計算によって求める。

温度が高くなると、管楽器の音程は高くなる。
「温度が高くなると、管楽器が膨張して逆に音程が低くなりそうなものなのに、 どうして音程が高くなるのだろう」
と不思議に思っている人もいるようだが、 なぜ、温度が高くなると、管楽器の音程は高くなるか。

それは、温度が高くなると管内の音速 V が大きくなり、 それに比例して振動数 f も大きくなるからである (振動数 f は、音速 V と波長 λ を用いて表すと f = V / λ となる)。 これに比べて管の膨張による音程の変化は無視できるのである。

理科年表によると、 気体の音速は圧力にはほとんど無関係で、 絶対温度の平方根に比例して増加する。 また、0℃1atm における空気の音速は、331.45 m/s である。 よって、温度 T [K] における空気の音速 V は、

V = 331.45 * (T / 273.15)1/2 = 20.05 * T1/2
と表せる。

したがって、 ある温度 T0 [K] のときに音速が V0 で 振動数が f0 であったとし(このとき音程が合っているものとする)、 別の温度 T [K] のときに音速が V で振動数が f であったとすると、 f0 に対する f のピッチのずれ p は、

p = k ln (f/f0) = k ln (V/V0) = k ln (T1/2/T01/2) = k/2 * ln (T/T0)
となる。

具体的に上の式に値を代入してみる。仮に、 管内の温度が25℃のときに音程が合っているとすると( T0 = 298 )、 それぞれの温度によるピッチのずれは次の表のようになる。

管内の温度 [℃] ピッチのずれ [セント]
5-60.1
10-44.7
15-29.5
20-14.6
250.00
30+14.3
35+28.6
40+42.5

1℃温度が変わると、およそ3セントずれることが分かるだろう。 しかし実際には、管に息を入れることによって、 上の表のようなピッチの大きなずれを多少回避することができるはずである。

戻る

管の抜く長さとピッチの関係

♪Point♪
ある音( n 倍音)の振動数 f [Hz] は、 管の長さ L [m] と音速 V [m/s] を用いて表すと、
f = nV/αL
となる。 ただし、クラリネットでは α=4 、 それ以外の管楽器では α=2 である。

ここでは、ピッチが p [セント] ずれていたときに 管を何ミリ抜けばよいかを、計算によって求める。

まずは、クラリネットとそれ以外の管楽器とに分けて、 振動数 f を、管の長さ L を用いて表す。


クラリネットの場合

クラリネットは、 上(マウスピース側)が固定端、下(ベル側)が自由端であるから、 n 倍音の音が鳴っているとき、管の中の定常波の 「節」と「腹」の位置は次のようになっている (「節」の位置を×、「腹」の位置を○で表す。 ○と×との距離は波長の4分の1になっている)。

  +――――――――――――――――
n=1 |×              ○
  +――――――――――――――――

  +――――――――――――――――
n=3 |×    ○    ×    ○
  +――――――――――――――――

  +――――――――――――――――
n=5 |×  ○  ×  ○  ×  ○
  +――――――――――――――――

  +――――――――――――――――
n=7 |×  ○ × ○ × ○ ×  ○
  +――――――――――――――――

よって、管の長さを L としたとき、 n 倍音の音の波長λを L で表すと、次の表のようになる。

nλ
14L
34L/3
54L/5
74L/7
……
n4L/n

したがって、音速を V としたとき、振動数 f は次のように表される。

f = V/λ = V/(4L/n) = nV/4L


クラリネット以外の木管楽器・金管楽器の場合

一方、クラリネット以外の木管楽器・金管楽器は、 管の両側が自由端になっている。 したがって、 n 倍音の音が鳴っているとき、管の中の定常波の 「節」、「腹」の位置は次のようになっている (「節」の位置を×、「腹」の位置を○で表す。 ○と×との距離は波長の4分の1になっている)。

  ―――――――――――――
n=1 ○     ×     ○
  ―――――――――――――

  ―――――――――――――
n=2 ○  ×  ○  ×  ○
  ―――――――――――――

  ―――――――――――――
n=3 ○ × ○ × ○ × ○
  ―――――――――――――

  ―――――――――――――
n=4 ○ × ○ × ○ × ○ × ○
  ―――――――――――――

よって、管の長さを L としたとき、 n 倍音の音の波長λを L で表すと、次の表のようになる。

nλ
12L
2L
32L/3
41L/2
……
n2L/n

したがって、音速を V としたとき、振動数 f は次のように表される。

f = V/λ = V/(2L/n) = nV/2L


以上より、ある音( n 倍音)の振動数 f は、 管の長さ L と音速 V を用いて表すと、

f = nV/αL
となる。 ただし、クラリネットでは α=4 、 それ以外の管楽器では α=2 である。


♪Point♪
管を抜くべき長さ ΔL [m] は、ピッチのずれ p [cent] を用いて
ΔL = pnV / kαf0
と表せる(k=1731.234)。 特に、クラリネットのチューニングB♭でピッチが p [cent] 高かったときは、 管を 0.32 * p [mm] 抜けばよい。

「ある音が p セント高かったので、 管を ΔL だけ伸ばした」
という状況を考える。 このとき、ΔL はいくらにすればよいか。 ただし、金管楽器のように、 1箇所抜こうとすると必ず2箇所抜いてしまう場合(抜く管がU字型の場合)は、 その2箇所合わせてΔLである。

音程を調節する前の振動数 f が、管の長さ L を用いて

f = nV/αL
と表され、管の長さを L+ΔL (ΔL≪L)に伸ばしたとき、 音程がぴったり合い、振動数が
f0 = nV / α(L+ΔL)
となったとする。 ここで、 f0 に対する f のピッチのずれ p は、
p = k ln ( f / f0 )
と表されるので、この式に f と f0 の値を代入して
p = k ln [ (L+ΔL) / L ]
= k ln ( 1 + ΔL/L)
≒ k ΔL / L
となる。 したがって、この式を ΔL について解くと、
ΔL = pL / k
と求まる。

しかし、実際には、開口端補正などもあり、 L の値を正確に求めるのは難しく、 上のように ΔL を求めるのはあまりよくない。 そこで、 L を、 正確に値がわかる f0 を用いて表すことを考える。

まず、上で出てきた式 f = nV/αL より、 L について解くと、

L = nV / αf
となる。これを、先ほど求めた式 ΔL = pL/k に代入すると、
ΔL = pnV / kαf
となる。 ここで、 f ≒ f0 より、 この式の f を f0 で代用すると、 管を抜く長さ ΔL が、ピッチのずれ p [セント] を用いて
ΔL = pnV / kαf0
と表せる。

具体的に計算してみる。 クラリネットのチューニングB♭の場合、 n=3, α=4, f0=468.28 であるから、 音速を V=350 [m/s] とすると、 ΔL [m] は

ΔL = p*3*350/(1731.234*4*468.28) = 0.00032*p [m]
となる。 したがって、 クラリネットのチューニングB♭でピッチが p [セント] 高かったときは、 管を 0.32*p [mm] 抜けばよいということになる (ただし、「樽と上管の間」と「上管と下管の間」の2箇所合わせて 0.32*p [mm] )。 10セント高かったら 3.2mm 抜けばよい。


さらに、うなりが ν [Hz] で鳴っていたときのピッチのずれ |p| は、 以前求めたように、

|p| = kν/f0
であった。 したがって、 うなりがν [Hz] で聞こえたときの 管の抜く(または入れる)長さ |ΔL| は、
|ΔL| = nVν/αf02
となる。

クラリネットのチューニングB♭の場合で計算すると、

|p| = 3.7ν
であったから、 |ΔL| を mm の単位で計算して、
|ΔL| = 0.32*|p| = 0.32*3.7ν = 1.2ν
となる。 したがって、クラリネットのチューニングB♭でうなりが ν [Hz] 聞こえたとき、管を 1.2ν [mm] 抜けば(あるいは入れれば)よい。

戻る

最小二乗法による、最適な管の抜き方

♪Point♪
複数の音に対してピッチのずれ pi [cent] を測定したとき、 それらの2乗の和 S = Σi |pi|2 が最小となるような 管の抜き方は、最も適した管の抜き方のひとつであるといえる。

チューニングしたい管楽器の複数の音について ピッチのずれ p が分かっているとき、 ピッチのずれ(の2乗)の和が最小になるような管の抜き方を考える。

i 番目の音について考える。 i 番目の音がぴったり合ったときの振動数の値を f0i とする。 管を抜く前の振動数を fi 、 そのピッチのずれを pi 、 管を ΔLi だけ抜いたときの振動数を fi' 、 そのピッチのずれを pi' とすると、

pi = k ln ( fi / f0i )
pi' = k ln ( fi' / f0i )
となるから、
pi' - pi = k ln(fi'/f0i) - k ln(fi/f0i) = k ln(fi'/fi)
である。 ここで、管を抜く前の管の長さを Li 、 音速を V 、倍音は ni 倍音とすると、
fi = niV / αLi
fi' = niV / α(Li+ΔLi)
であるから、
pi' - pi = k ln [Li / (Li+ΔLi)]
= -k ln (1 + ΔLi/Li)
≒ -kΔLi/Li
となる。 fi = niV/αLi より Li を消去し、 fi を f0i で代用すると、 pi' が ΔLi の関数として
pi' = pi - kαf0iΔLi/niV
と求まる。

管を抜いてチューニングし終えたときの i 番目の音のピッチのずれは pi' であるが、 pi' をすべての i で足し合わせた値が 最も小さくなる(ゼロに近づく)ように管を抜くことは、 最もうまいチューニング法のひとつであるといえる。 ただし、 pi' をそのまま足し合わせると プラスマイナスでキャンセルしてしまうので、 それを防ぐために、 pi' を2乗してから足し合わせることを考える。 すなわち、 チューニング後の i 番目の音のピッチのずれ pi' の2乗の総和

S = Σi|pi'|2 = Σi ( pi - kαf0iΔLi/niV )2
が最小になるように管を抜く方法を考える。

まずは最も簡単な例 ΔLi = x (抜く箇所が1箇所の場合)を考える。 このとき、

S = Σi ( pi - kαf0ix/niV )2
であるから、 S が極値を取る条件( ∂S/∂x = 0 )より S を最小にする x の値を求めると (式が煩雑になるため、 ∂/∂x≡∂x とする)、
xS = ∂xΣi (pi - kαf0ix/niV)2
= Σi[∂x (pi - kαf0ix/niV)2]
= 2Σi [(pi - kαf0ix/niV) * (-kαf0i/niV)]
= -2(kα/V) [ Σi(pif0i/ni) - (kαx/V) Σi(f0i/ni)2 ]
= 0
より、抜く箇所が1箇所の管楽器の、管の伸ばす長さ x は、
x = [ V Σi(pif0i/ni) ] / [ kα Σi(f0i/ni)2 ]
と求まる。


♪Point♪
クラリネットの場合において、 「樽と上管の間」、「上管と下管の間」、「下管とベルの間」 の3箇所それぞれの抜く長さの最適値を計算する式を導いた。

次の例として、B♭クラリネットを考える。

B♭クラリネットは、抜く箇所が 「樽と上管の間」、「上管と下管の間」、「下管とベルの間」 の3箇所あり、 それぞれの抜く長さを x, y, z と置く。 音の高さが x のみに依存する音についての総和を Σi上 、 x と y のみに依存する音についての総和を Σi中 、 x, y, z すべてに依存する音についての総和を Σi下 と書くことにする。すると、 チューニング後の i 番目の音のピッチのずれ pi' の2乗の総和 S は、

S = Σi ( pi - kαf0iΔLi/niV )2
= Σi上 [ pi - kαf0ix/niV ]2 + Σi中 [ pi - kαf0i(x+y)/niV ]2 + Σi下 [ pi - kαf0i(x+y+z)/niV ]2
= Σi上pi2 - 2xΣi上(kαpif0i/niV) + x2 Σi上(kαf0i/niV)2
+ Σi中pi2 - 2(x+y) Σi中(kαpif0i/niV) + (x+y)2 Σi中(kαf0i/niV)2
+ Σi下pi2 - 2(x+y+z) Σi下(kαpif0i/niV) + (x+y+z)2 Σi下(kαf0i/niV)2
A - 2Bx + Cx2 - 2D(x+y) + E(x+y)2 - 2F(x+y+z) + G(x+y+z)2
という形に書ける。

これより、 S が最小になる x, y, z を求める。 S が極値を取る条件より、

∂S/∂x = -2B + 2Cx - 2D + 2E(x+y) - 2F + 2G(x+y+z) = 0
∂S/∂y = -2D + 2E(x+y) - 2F + 2G(x+y+z) = 0
∂S/∂z = -2F + 2G(x+y+z) = 0
となるから、
x = B/C
x + y = D/E
x + y + z = F/G
となり、
x = B/C
y = D/E - B/C
z = F/G - D/E
が導かれる。

すなわち、クラリネットの場合、「樽と上管の間」の抜く長さ x を

x = [V Σi上(pif0i/ni)] / [kα Σi上(f0i/ni)2]
とし、「上管と下管の間」の抜く長さ y を
y = [V Σi中(pif0i/ni)] / [kα Σi中(f0i/ni)2] - [V Σi上(pif0i/ni)] / [kα Σi上(f0i/ni)2]
とし、「下管とベルの間」の抜く長さ z を
z = [V Σi下(pif0i/ni)] / [kα Σi下(f0i/ni)2] - [V Σi中(pif0i/ni)] / [kα Σi中(f0i/ni)2]
とすれば、最もずれを小さくチューニングすることができる。

戻る