Wednesday, 14th June, 2000.
我々は違う楽器の音は (その楽器が何であるかが分からなくても) 違う音であると分かる。違う人の発する声は (それが誰かは分からなくても) 大体違う声だと分かる。そればかりか, 同じ楽器, 同じ人の声でも違って聞こえることがあり, それでその楽器, 人の調子が分かったりする。それは音色 (人なら声色) が違うからである。訓練すればオーケストラの渾然一体となった楽器群の中から, どの楽器がどの音を鳴らしているかも区別がつくようになる。
音色は何故違うのだろうか ? これはかなり難しい話であるがものすごく簡単に言うと音波の波形が違うからである。オシロスコープ oscilloscope という波を目で見える形にする機械があるが, 博物館などに行くとそういうものが見られるのではないだろうか。これで見てみると同じラの音 (A 440 Hz) でも例えば violin と flute では全然違うことが分かる。
簡単の為に弦に限って話をすることにする (管でも同じだが説明が難しくなる)。弦をはじく (guitar 等) にせよ, 擦る (vn 等) にせよ, 叩く (pianoforte 等) にせよ, 弦を元の位置からずらすと, 弦は張力によってもとの位置に戻ろうとする。元に戻ってもそれまでの勢い (運動エネルギー) があるので, すぐには止まらず, 更に逆方向に向かって運動する。やがて止まるが, やっぱり元に戻ろうとする...。という過程が弦の振動である。弦の振動が空気を振動させ音となる。
弦は両端が固定されているため, 弦が好き勝手な運動をしようと思っても出来ない (数学では境界条件という)。自ずと振動は両端を固定して, 中央が最も大きく運動する場合 (基音 keynote) とその整数倍の振動 (倍音 harmonic overtone) に限定されてしまう。[この過程は偏微分方程式を用いて厳密に議論することもできるが, 少々退屈である。この基音と倍音の組が物理や数学でいうところの spectra なのである。]
同じ音 (例えば A) ならば基音と倍音は同じはずであるが, 音色が違うのはその大きさの配分が違うからである。
ところで音に限らず周期的な変化をするものは総て正弦函数 sine function と余弦函数 cosine function の和で書けるという有名な定理がある (簡単に述べたために大分いいかげんではあるが)。これで表したものがフーリエ級数展開 (Fourier series expansion) と呼ばれるものである。そのときの正弦函数と余弦函数の頭についている係数をフーリエ係数 (Fourier coefficient) と呼ぶ。言わずと知れた Jean-Baptiste-Joseph Fourier (21st March, 1768--16th May, 1830) が熱伝導方程式に関連して研究したことに始まる。
一寸調べてみると正弦函数と余弦函数とは周期的変化を起こす函数全体の作る無限次元の函数空間の中の直交基底を作っているということが分かる。
言っている意味は
∫-ππcos nx sin mx dx = 0,
∫-ππcos nx cos mx dx = 0 (m≠n),
∫-ππsin nx sin mx dx = 0 (m≠n),
∫-ππcos2 nx dx =
∫-ππsin2 nx dx = π
という事と完備であるということなのだが「完備」ということは説明も難しいので省略
(^_^;。完備ということで内積でもって Fourier
係数を復元できる。即ち元の函数 (周期が 2π。それ以外のときは一寸正弦函数余弦函数の
x の係数に細工をする) f(x) に関し
an = ∫-ππ f(x)cos nx dx, bn =
∫-ππ f(x)sin nx dx, n = 0, 1, 2, 3, ...
とすると, f(x) = a0 / 2 + Σn = 1∞(ancos
nx + bnsin nx) となる。これが f(x) の Fourier
展開である。(うるさいことを言えば積分は総て Lebesgue
積分。空間は L2 空間であるが素人にはこの区別は煩わしいだけであろう。) 一寸余計なことを話せば,
これが無限次元空間とか函数空間とかをまじめに研究することになった初めとも言える。Cantor
が超限基数等を考えたのはこの Fourier
級数が上手くもとの函数を復元できないときの研究が元になっているらしい。
話を元に戻すと, (例えば) sin nx というものの n が n 倍音の n である。その係数 bn が倍音の音の強さを示しているといえるのである。四の五の言わずに, 適当に Fourier 係数を与えたときの波形を見てもらおう。
下記の何れも, y1 が基音 y2 が 2 倍音 y3 が 3 倍音 &c で y が合成された波形である。最初のものは Fourier 係数が bn = (-1)n /n (an = 0 以下同様) である。(これは弦楽器系の音の波形に近い)
二番目のものは奇数倍音だけで bn = 1 / n である。
三番目のものは bn = a0 = 0 (以下略), an = (-1)n /n (n = 1, 2, 3, ...)
最後のは, a2n-1 = 1/(2n-1)2. (これはトランペットやオーボエの音の波形に似ているそうである)
もしもこの波形を自分でいろいろ試してみたいと思われる方がいらっしゃったら, Microsoft Excel® で係数を入力すれば自動的に波形を描くようにした sheet を作っているので Excel の version を示してご請求下さい (Excel 2000 のある環境では ここを click すると file が開きます。それ以外の環境では未確認。又, Excel を load するので時間がかかります)。
というわけで音色の違いは倍音の強度の違い。倍音の強度の違いは Fourier 係数の大きさの違い。というわけなのでした。そこで極論を言う人がいて, 我々の耳は Fourier 係数を聞いているのだ ! (或いは本当かもしれない)
さて, ついでだから, 最初の方に書いた偏微分方程式の話を書こう。
時刻 t に於ける, 位置 x での弦のずれ (上の図を見よ) を y(t, x)
とする。Newton の運動方程式によって定数 k
(弦の線密度と張力によって決まる) を用いて
∂2y/∂t2 = k ∂2y/∂x2
(1)
と書ける (∂は他の変数を定数と思って微分したという偏微分の記号)。これを波動方程式という。
境界条件は弦の長さを
l とするとき y(t, 0) = y(t, l) = 0 (総ての t に関して)。
簡単の為に変数分離が出来るとして y(t, x) = g(t)h(x)
と仮定すると, (1) によって g''h = kgh''. 従って g''/g = kh''/h.
この左辺は t のみの函数, 右辺は x のみの函数だから,
これらは或定数 -λに等しい。即ち
g'' +λg = 0, h'' + (λ/k)h = 0.
先ず h の方の解は (細かい理論は省略して) h = c1sin(λ/k)1/2
x + c2cos(λ/k)1/2 x であるが,
境界条件によって h(0) = c2 = 0, h(l) = c1sin(λ/k)1/2
l = 0. あとの方から (λ/k)1/2 l = nπ (n は整数), 従って λ
= k(nπ/l)2 (これが固有値 spectra)。結局 h(x) = c sin(nπ/l)x
を得る。同様にして g(t) = b1sin k1/2(nπ/l)t + b2cos
k1/2(nπ/l)t と表されるが, g(t)
の方は時間的変化を表しているだけなので,
一寸無視しておくと結局 y = cg(t)sin(nπ/l)x
つまり振動は倍音しか得られないことが分かった。
尚, 太鼓などの振動では正弦函数, 余弦函数の代わりにベッセル函数 (Bessel function) の活躍する場になるので, 周波数 (即ち音程) が一定しない。
付記:
参考文献のところに挙げてある, Charles Taylor 氏の本に,
実際の楽器の音色などに関する物理的な話が
(数式を使わずに) 書いてある。
この本は面白い本で, ピアノの第 25 倍音が実は理論値から 20 % もずれているとか, クラリネットが論理的には奇数倍音しか出ないはずなのに, 実際は偶数倍音も出るのは何故かなどの興味深い話が読める。
Tuesday, 27th March, 2001.