前編 で、母音は声道という「太さの変わる管」が選ぶ共鳴(フォルマント)だと分かった。一様な約 17.5 c m 17.5\,\mathrm{cm} 17.5 cm の管なら、目安で 500 / 1500 / 2500 H z 500/1500/2500\,\mathrm{Hz} 500/1500/2500 Hz 。じゃあ、太さが場所ごとに変わる 任意の形 の管の共鳴は、どう計算するのか。
それをやっているのが声道ラボ(の中の数式)だ。一見すると行列やら複素数やらが出てきて難しそうに見える。でも 一個ずつ分解していくと、部品はどれも素朴 なんだ。順番にほどいていこう。最後には、小さな N N N で自分で解けるソルバも触れる。
① 音の波動方程式 ── 2本の素直な式
ここではまず、断面積 A A A が一定の短い区間 を1つ取り出して考える。声道全体のように A A A が場所で変わる管は、あとで「この短い一様管をたくさん繋いで近似する」(③)。まずは1区間ぶんだ。
まず音そのものを式にする。管の中の音は、2つの量で測る。
圧力 p ( x , t ) p(x,t) p ( x , t ) :その場所の圧力が、大気圧からどれだけずれているか。
体積速度 U ( x , t ) U(x,t) U ( x , t ) :その断面を、1秒あたり何 c m 3 \mathrm{cm^3} c m 3 の空気が通り抜けるか(粒子速度 × 断面積 A A A )。
この2つは、2本の素直な式で結ばれている。1本目はニュートンの運動方程式(圧力の坂が空気を加速する)、2本目は質量保存(空気が集まれば圧力が上がる):
∂ p ∂ x = − ρ A ∂ U ∂ t , ∂ U ∂ x = − A ρ c 2 ∂ p ∂ t \frac{\partial p}{\partial x} = -\frac{\rho}{A}\frac{\partial U}{\partial t}, \qquad \frac{\partial U}{\partial x} = -\frac{A}{\rho c^2}\frac{\partial p}{\partial t} ∂ x ∂ p = − A ρ ∂ t ∂ U , ∂ x ∂ U = − ρ c 2 A ∂ t ∂ p
ρ \rho ρ は空気の密度、c c c は音速。この2本から U U U を消すと、見慣れた 1次元の波動方程式 が出てくる:
∂ 2 p ∂ x 2 = 1 c 2 ∂ 2 p ∂ t 2 \frac{\partial^2 p}{\partial x^2} = \frac{1}{c^2}\frac{\partial^2 p}{\partial t^2} ∂ x 2 ∂ 2 p = c 2 1 ∂ t 2 ∂ 2 p
これは「x x x 方向の曲がり具合 = 時間の加速度 ÷ c 2 c^2 c 2 」という式で、解は 右へ進む波と左へ進む波の重ね合わせ p = p + ( x − c t ) + p − ( x + c t ) p = p_{+}(x-ct) + p_{-}(x+ct) p = p + ( x − c t ) + p − ( x + c t ) 。前編でやった進む波・定在波が、ここから出る。電気で言えば送電線(伝送線路)の式とまったく同じ形だよ。
② 一様な管 = 1枚の2×2行列
次に、太さ A A A ・長さ ℓ \ell ℓ が一定の 一様な管を1本 とり出す。その中は右行き波と左行き波の和だから、入口 ( p i n , U i n ) (p_{in}, U_{in}) ( p in , U in ) と出口 ( p o u t , U o u t ) (p_{out}, U_{out}) ( p o u t , U o u t ) の関係を整理すると、ぴったり 2×2行列 にまとまる:
[ p i n U i n ] = [ cos k ℓ j Z sin k ℓ j Z sin k ℓ cos k ℓ ] [ p o u t U o u t ] , k = 2 π f c , Z = ρ c A \begin{bmatrix} p_{in} \\ U_{in} \end{bmatrix} = \begin{bmatrix} \cos k\ell & jZ\sin k\ell \\ \dfrac{j}{Z}\sin k\ell & \cos k\ell \end{bmatrix} \begin{bmatrix} p_{out} \\ U_{out} \end{bmatrix}, \qquad k = \frac{2\pi f}{c},\quad Z = \frac{\rho c}{A} [ p in U in ] = [ cos k ℓ Z j sin k ℓ j Z sin k ℓ cos k ℓ ] [ p o u t U o u t ] , k = c 2 π f , Z = A ρ c
これが 伝達行列(ABCD行列) 。名前は厳しいけれど、中身は4つの数しかない。一個ずつ見れば素朴だ。
k ℓ k\ell k ℓ は、その管1本を波が通るあいだに位相がどれだけ回るか(長さ ÷ 波長 × 2 π 2\pi 2 π )。
対角の cos k ℓ \cos k\ell cos k ℓ は「同じ量(p → p p\to p p → p 、U → U U\to U U → U )がどれだけ素通りするか」。
非対角の j Z sin k ℓ jZ\sin k\ell j Z sin k ℓ と j Z sin k ℓ \frac{j}{Z}\sin k\ell Z j sin k ℓ は「p p p と U U U が互いに化ける」量。j j j (虚数)は時間的に90°ずれることを表す。
Z = ρ c / A Z=\rho c/A Z = ρ c / A は管の 特性インピーダンス 。細い管ほど大きい。式に A A A は Z Z Z を通してしか入らないので、効くのは断面積の比だけ ── 全体を一律に太くしても共鳴は動かない、という前編の注意は、ここから来ている。ただしこれは、この損失なしモデルで“フォルマント周波数だけ”を見る限りの話 。絶対的な断面積は、現実には音量・口からの放射・壁や粘性の損失・共鳴ピークの鋭さ(Q)には効いてくるよ。
要するにこの行列は「長さ ℓ \ell ℓ の管を1本通ると、( p , U ) (p,U) ( p , U ) がどう変換されるか」を表す 写像 だ。送電線1区間の行列と同じものだよ。
行列って、ただの連立式の省略形
行列を知らなくても大丈夫。上の「箱」は、次の 2本の連立式を1つにまとめただけ なんだ:
p i n = cos k ℓ ⋅ p o u t + j Z sin k ℓ ⋅ U o u t p_{in} = \cos k\ell \;\cdot\; p_{out} \;+\; jZ\sin k\ell \;\cdot\; U_{out} p in = cos k ℓ ⋅ p o u t + j Z sin k ℓ ⋅ U o u t
U i n = j Z sin k ℓ ⋅ p o u t + cos k ℓ ⋅ U o u t U_{in} = \tfrac{j}{Z}\sin k\ell \;\cdot\; p_{out} \;+\; \cos k\ell \;\cdot\; U_{out} U in = Z j sin k ℓ ⋅ p o u t + cos k ℓ ⋅ U o u t
2×2の箱は、この4つの係数を並べた表にすぎない。「行列 × 縦ベクトル」という操作も、箱の各行を ( p o u t , U o u t ) (p_{out}, U_{out}) ( p o u t , U o u t ) と上から順に掛けて足す ── ただそれだけ。だからこの先で行列が出てきても、頭の中ではこの「2本の式」に戻して読めば、全部追える。むしろ式が増えると書くのが大変だから、箱に省略しているだけなんだ。
③ 声道 = 行列のかけ算
太さの変わる声道は、短い一様管をたくさん繋いだもの とみなす。N N N 個に輪切りにすれば、各輪切り i i i に行列 M i M_i M i がある。声帯側から唇側へ順に通り抜けるので、全体の写像は 行列のかけ算 で繋がる:
M = M 1 M 2 ⋯ M N = [ A B C D ] M = M_1 M_2 \cdots M_N = \begin{bmatrix} A & B \\ C & D \end{bmatrix} M = M 1 M 2 ⋯ M N = [ A C B D ]
「行列の積 = 写像を連結する」── 1区間通して、次の区間に渡して、また次へ、を順に合成しているだけだ。N N N がいくら大きくても、やっていることは素朴な掛け算の繰り返し。
N = 2 N=2 N = 2 を、代入だけで解いてみる
行列のかけ算とは、結局 一方の式をもう一方に代入していくこと なんだ。N = 2 N=2 N = 2 (輪切り2個)で、行列を使わずに最後まで追ってみよう。cos k ℓ i = c i \cos k\ell_i = c_i cos k ℓ i = c i 、sin k ℓ i = s i \sin k\ell_i = s_i sin k ℓ i = s i と略す。
唇側の端を ( p L , U L ) (p_L, U_L) ( p L , U L ) とする。唇に近い 区間2 は、さっきの2本の式そのままで、その値を区間1と2の境目 ( p m , U m ) (p_m, U_m) ( p m , U m ) へ移す:
p m = c 2 p L + j Z 2 s 2 U L p_m = c_2\,p_L + jZ_2 s_2\,U_L p m = c 2 p L + j Z 2 s 2 U L
U m = j Z 2 s 2 p L + c 2 U L U_m = \tfrac{j}{Z_2}s_2\,p_L + c_2\,U_L U m = Z 2 j s 2 p L + c 2 U L
声帯に近い 区間1 は、この ( p m , U m ) (p_m, U_m) ( p m , U m ) を声帯端 ( p G , U G ) (p_G, U_G) ( p G , U G ) へ移す。U G U_G U G の式に、上の p m , U m p_m, U_m p m , U m を そのまま代入 する:
U G = j Z 1 s 1 p m + c 1 U m = j Z 1 s 1 ( c 2 p L + j Z 2 s 2 U L ) + c 1 ( j Z 2 s 2 p L + c 2 U L ) U_G = \tfrac{j}{Z_1}s_1\,p_m + c_1\,U_m = \tfrac{j}{Z_1}s_1\big(c_2 p_L + jZ_2 s_2 U_L\big) + c_1\big(\tfrac{j}{Z_2}s_2 p_L + c_2 U_L\big) U G = Z 1 j s 1 p m + c 1 U m = Z 1 j s 1 ( c 2 p L + j Z 2 s 2 U L ) + c 1 ( Z 2 j s 2 p L + c 2 U L )
あとは展開して、U L U_L U L にかかる係数を集めるだけ。j ⋅ j = − 1 j\cdot j = -1 j ⋅ j = − 1 が効くから、
U G = ( ⋯ ) p L + ( c 1 c 2 − Z 2 Z 1 s 1 s 2 ) ⏟ D U L U_G = (\cdots)\,p_L + \underbrace{\Big(c_1 c_2 - \tfrac{Z_2}{Z_1}\,s_1 s_2\Big)}_{D}\,U_L U G = ( ⋯ ) p L + D ( c 1 c 2 − Z 1 Z 2 s 1 s 2 ) U L
この U L U_L U L の係数こそが D D D だ。難しい所はどこにもない ── 2本の式を代入して、係数を集めただけ。虚数も j ⋅ j j\cdot j j ⋅ j で消えて実数になった。N N N 個でも、この代入を N − 1 N-1 N − 1 回くり返すだけ。それを「行列のかけ算」と呼んでいるにすぎないんだ。
下のソルバは、まさにこれを小さな N N N でやっている。輪切りの断面積を動かすと、行列の積 M M M が変わり、その D ( f ) D(f) D ( f ) の谷が動く。
④ D D D が極小 = フォルマント
最後の一歩。なぜ D D D なのか、なぜ「極小」なのか。
境界条件を入れる。声帯側は閉じた端 (空気を送り込む源)、唇側は開いた端 で、圧力が外気とつながって p L ≈ 0 p_L \approx 0 p L ≈ 0 。
ここで、さっき代入で出した U G U_G U G の式を思い出そう。p L = 0 p_L = 0 p L = 0 とおくと、p L p_L p L にかかっていた項がまるごと消えて、
U G = D U L U_G = D\,U_L U G = D U L
だけが残る。声帯の流れ U G U_G U G を入れたとき、唇から出る流れ U L U_L U L は、その D D D で割ったもの ── だから声道の“通りやすさ”は
U l i p s U g l o t t i s = U L U G = 1 D ( f ) \frac{U_{lips}}{U_{glottis}} = \frac{U_L}{U_G} = \frac{1}{D(f)} U g l o tt i s U l i p s = U G U L = D ( f ) 1
1 / D 1/D 1/ D だ。だから ∣ D ( f ) ∣ |D(f)| ∣ D ( f ) ∣ がゼロに近づく周波数で、通りやすさがとても大きくなる ── これが共鳴。この 損失なしモデルでは ∣ D ∣ → 0 |D|\to0 ∣ D ∣ → 0 で発散してしまう けれど、現実には放射・壁・粘性の損失があるので、無限大ではなく 有限の高い山 になる(その山がフォルマントの帯域だ)。その山の周波数が、低いほうから F 1 , F 2 , F 3 F_1, F_2, F_3 F 1 , F 2 , F 3 。
フォルマント = ∣ D ( f ) ∣ が極小になる f \boxed{\;\text{フォルマント} \;=\; |D(f)|\ \text{が極小になる}\ f\;} フォルマント = ∣ D ( f ) ∣ が極小になる f
これは、音声処理でいう「ソース・フィルタモデル」のフィルタの極 とちょうど同じものだ。声=声帯のブザー(ソース)× 声道というフィルタ、と分けたとき、声道フィルタの伝達関数は H ( f ) = 1 / D ( f ) H(f)=1/D(f) H ( f ) = 1/ D ( f ) 。その 山(極)が立つ周波数=D D D の谷=フォルマント 。上のソルバで赤く印した谷が、まさにこの極なんだ。
「難しそうな式」の正体は、これで全部ほどけた ── 素朴な2×2を N N N 回掛けて、D D D の谷を探しているだけ。声道ラボは、君が形を動かすたびに、これを毎フレームやり直している。
⑤ 検算:一様管は cos k L \cos kL cos k L に戻る
ちゃんと前編と地続きか、確かめておこう。管が 一様 (全区間で Z Z Z も ℓ \ell ℓ も同じ)なら、さっきの N = 2 N=2 N = 2 の式で Z 1 = Z 2 Z_1=Z_2 Z 1 = Z 2 、ℓ 1 = ℓ 2 = ℓ \ell_1=\ell_2=\ell ℓ 1 = ℓ 2 = ℓ とおくと
D = c 2 − s 2 = cos 2 k ℓ − sin 2 k ℓ = cos 2 k ℓ = cos k L ( L = 2 ℓ ) D = c^2 - s^2 = \cos^2 k\ell - \sin^2 k\ell = \cos 2k\ell = \cos kL \qquad(L = 2\ell) D = c 2 − s 2 = cos 2 k ℓ − sin 2 k ℓ = cos 2 k ℓ = cos k L ( L = 2 ℓ )
きれいに cos k L \cos kL cos k L になった(区間をいくつに割っても、一様なら同じ)。D = 0 D=0 D = 0 すなわち cos k L = 0 \cos kL = 0 cos k L = 0 は k L = π 2 , 3 π 2 , 5 π 2 , … kL = \tfrac{\pi}{2}, \tfrac{3\pi}{2}, \tfrac{5\pi}{2}, \dots k L = 2 π , 2 3 π , 2 5 π , … 、つまり
f = c 4 L , 3 c 4 L , 5 c 4 L ≈ 500 , 1500 , 2500 H z ( L ≈ 17.5 c m ) f = \frac{c}{4L},\ \frac{3c}{4L},\ \frac{5c}{4L} \approx 500,\ 1500,\ 2500\ \mathrm{Hz}\quad(L \approx 17.5\,\mathrm{cm}) f = 4 L c , 4 L 3 c , 4 L 5 c ≈ 500 , 1500 , 2500 Hz ( L ≈ 17.5 cm )
前編の「片閉じの管は奇数倍の4分の1波長で鳴る」と、ぴったり一致する。重い伝達行列の機械も、管が一様なときは、あの素朴な式にちゃんと戻ってくる。ソルバで「一様(中性)」を押すと、500 / 1500 / 2500 / 3500 500/1500/2500/3500 500/1500/2500/3500 の谷が並ぶのが見えるよ。
まとめ
音は2本の素直な式(運動方程式+質量保存)に従う。まとめると1次元の波動方程式。
一様な管1本は、cos \cos cos と sin \sin sin と特性インピーダンス Z Z Z でできた 2×2の伝達行列 = 写像。
声道は、その行列を声帯側から唇側へ 掛け算 したもの。N N N が大きくても素朴な積の繰り返し。
境界条件から、声道の通りやすさは 1 / D ( f ) 1/D(f) 1/ D ( f ) 。だから この1次元・損失なしモデルでは ∣ D ( f ) ∣ |D(f)| ∣ D ( f ) ∣ の谷=フォルマント (=ソース・フィルタモデルのフィルタの極。現実の損失では、谷の所が有限の山になる)。
一様管では D = cos k L D=\cos kL D = cos k L に戻り、500 / 1500 / 2500 500/1500/2500 500/1500/2500 。前編とちゃんと繋がる。
難しそうに見えた式は、分解すれば「素朴な部品の積み重ね」だった ── 一個ずつほどけば、ちゃんと手が届く。
このソルバは小さな N N N の教材版。実際の母音に合わせて N = 44 N=44 N = 44 で解き、形をドラッグしながら音まで鳴らせる本格版が 声道ラボ だよ。そちらもどうぞ。
▶ 声道ラボ(N=44・音も出る)へ ↗
このモデルは声道を 1次元・損失なしの管 として近似している。唇の放射、壁の損失、鼻腔の結合、3次元の形は省いた。だから実測フォルマントを厳密に当てるものではなく、形と共鳴の関係 を見るための教材だよ。