|TNKS1407 解説
← 解説一覧へ

声道ラボの中身 ── 波動方程式から、伝達行列でフォルマントを解く(発展編)

2026.06.13

「あいうえお」を管の形から解く声道ラボは、中で何をしているのか。波動方程式 → 1本の管の2×2行列 → 行列のかけ算 → D(f) が極小=フォルマント、と一個ずつ分解する。難しそうな式が、実は素朴な部品の積み重ねだと分かる発展編。

▶ |D(f)| ソルバを全画面で開く

前編 で、母音は声道という「太さの変わる管」が選ぶ共鳴(フォルマント)だと分かった。一様な約 17.5cm17.5\,\mathrm{cm} の管なら、目安で 500/1500/2500Hz500/1500/2500\,\mathrm{Hz}。じゃあ、太さが場所ごとに変わる 任意の形 の管の共鳴は、どう計算するのか。

それをやっているのが声道ラボ(の中の数式)だ。一見すると行列やら複素数やらが出てきて難しそうに見える。でも 一個ずつ分解していくと、部品はどれも素朴 なんだ。順番にほどいていこう。最後には、小さな NN で自分で解けるソルバも触れる。

① 音の波動方程式 ── 2本の素直な式

ここではまず、断面積 AA が一定の短い区間 を1つ取り出して考える。声道全体のように AA が場所で変わる管は、あとで「この短い一様管をたくさん繋いで近似する」(③)。まずは1区間ぶんだ。

まず音そのものを式にする。管の中の音は、2つの量で測る。

この2つは、2本の素直な式で結ばれている。1本目はニュートンの運動方程式(圧力の坂が空気を加速する)、2本目は質量保存(空気が集まれば圧力が上がる):

px=ρAUt,Ux=Aρc2pt\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}

ρ\rho は空気の密度、cc は音速。この2本から UU を消すと、見慣れた 1次元の波動方程式 が出てくる:

2px2=1c22pt2\frac{\partial^2 p}{\partial x^2} = \frac{1}{c^2}\frac{\partial^2 p}{\partial t^2}

これは「xx 方向の曲がり具合 = 時間の加速度 ÷ c2c^2」という式で、解は 右へ進む波と左へ進む波の重ね合わせ p=p+(xct)+p(x+ct)p = p_{+}(x-ct) + p_{-}(x+ct)。前編でやった進む波・定在波が、ここから出る。電気で言えば送電線(伝送線路)の式とまったく同じ形だよ。

② 一様な管 = 1枚の2×2行列

次に、太さ AA・長さ \ell が一定の 一様な管を1本 とり出す。その中は右行き波と左行き波の和だから、入口 (pin,Uin)(p_{in}, U_{in}) と出口 (pout,Uout)(p_{out}, U_{out}) の関係を整理すると、ぴったり 2×2行列 にまとまる:

[pinUin]=[coskjZsinkjZsinkcosk][poutUout],k=2πfc,Z=ρcA\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}

これが 伝達行列(ABCD行列)。名前は厳しいけれど、中身は4つの数しかない。一個ずつ見れば素朴だ。

要するにこの行列は「長さ \ell の管を1本通ると、(p,U)(p,U) がどう変換されるか」を表す 写像 だ。送電線1区間の行列と同じものだよ。

行列って、ただの連立式の省略形

行列を知らなくても大丈夫。上の「箱」は、次の 2本の連立式を1つにまとめただけ なんだ:

pin=cosk    pout  +  jZsink    Uoutp_{in} = \cos k\ell \;\cdot\; p_{out} \;+\; jZ\sin k\ell \;\cdot\; U_{out}

Uin=jZsink    pout  +  cosk    UoutU_{in} = \tfrac{j}{Z}\sin k\ell \;\cdot\; p_{out} \;+\; \cos k\ell \;\cdot\; U_{out}

2×2の箱は、この4つの係数を並べた表にすぎない。「行列 × 縦ベクトル」という操作も、箱の各行を (pout,Uout)(p_{out}, U_{out}) と上から順に掛けて足す ── ただそれだけ。だからこの先で行列が出てきても、頭の中ではこの「2本の式」に戻して読めば、全部追える。むしろ式が増えると書くのが大変だから、箱に省略しているだけなんだ。

③ 声道 = 行列のかけ算

太さの変わる声道は、短い一様管をたくさん繋いだもの とみなす。NN 個に輪切りにすれば、各輪切り ii に行列 MiM_i がある。声帯側から唇側へ順に通り抜けるので、全体の写像は 行列のかけ算 で繋がる:

M=M1M2MN=[ABCD]M = M_1 M_2 \cdots M_N = \begin{bmatrix} A & B \\ C & D \end{bmatrix}

「行列の積 = 写像を連結する」── 1区間通して、次の区間に渡して、また次へ、を順に合成しているだけだ。NN がいくら大きくても、やっていることは素朴な掛け算の繰り返し。

N=2N=2 を、代入だけで解いてみる

行列のかけ算とは、結局 一方の式をもう一方に代入していくこと なんだ。N=2N=2(輪切り2個)で、行列を使わずに最後まで追ってみよう。coski=ci\cos k\ell_i = c_isinki=si\sin k\ell_i = s_i と略す。

唇側の端を (pL,UL)(p_L, U_L) とする。唇に近い 区間2 は、さっきの2本の式そのままで、その値を区間1と2の境目 (pm,Um)(p_m, U_m) へ移す:

pm=c2pL+jZ2s2ULp_m = c_2\,p_L + jZ_2 s_2\,U_L

Um=jZ2s2pL+c2ULU_m = \tfrac{j}{Z_2}s_2\,p_L + c_2\,U_L

声帯に近い 区間1 は、この (pm,Um)(p_m, U_m) を声帯端 (pG,UG)(p_G, U_G) へ移す。UGU_G の式に、上の pm,Ump_m, U_mそのまま代入 する:

UG=jZ1s1pm+c1Um=jZ1s1(c2pL+jZ2s2UL)+c1(jZ2s2pL+c2UL)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)

あとは展開して、ULU_L にかかる係数を集めるだけ。jj=1j\cdot j = -1 が効くから、

UG=()pL+(c1c2Z2Z1s1s2)DULU_G = (\cdots)\,p_L + \underbrace{\Big(c_1 c_2 - \tfrac{Z_2}{Z_1}\,s_1 s_2\Big)}_{D}\,U_L

この ULU_L の係数こそが DD だ。難しい所はどこにもない ── 2本の式を代入して、係数を集めただけ。虚数も jjj\cdot j で消えて実数になった。NN 個でも、この代入を N1N-1 回くり返すだけ。それを「行列のかけ算」と呼んでいるにすぎないんだ。

下のソルバは、まさにこれを小さな NN でやっている。輪切りの断面積を動かすと、行列の積 MM が変わり、その D(f)D(f) の谷が動く。

DD が極小 = フォルマント

最後の一歩。なぜ DD なのか、なぜ「極小」なのか。

境界条件を入れる。声帯側は閉じた端(空気を送り込む源)、唇側は開いた端 で、圧力が外気とつながって pL0p_L \approx 0

ここで、さっき代入で出した UGU_G の式を思い出そう。pL=0p_L = 0 とおくと、pLp_L にかかっていた項がまるごと消えて、

UG=DULU_G = D\,U_L

だけが残る。声帯の流れ UGU_G を入れたとき、唇から出る流れ ULU_L は、その DD で割ったもの ── だから声道の“通りやすさ”は

UlipsUglottis=ULUG=1D(f)\frac{U_{lips}}{U_{glottis}} = \frac{U_L}{U_G} = \frac{1}{D(f)}

1/D1/D だ。だから D(f)|D(f)| がゼロに近づく周波数で、通りやすさがとても大きくなる ── これが共鳴。この 損失なしモデルでは D0|D|\to0 で発散してしまう けれど、現実には放射・壁・粘性の損失があるので、無限大ではなく 有限の高い山 になる(その山がフォルマントの帯域だ)。その山の周波数が、低いほうから F1,F2,F3F_1, F_2, F_3

  フォルマント  =  D(f) が極小になる f  \boxed{\;\text{フォルマント} \;=\; |D(f)|\ \text{が極小になる}\ f\;}

これは、音声処理でいう「ソース・フィルタモデル」のフィルタの極 とちょうど同じものだ。声=声帯のブザー(ソース)× 声道というフィルタ、と分けたとき、声道フィルタの伝達関数は H(f)=1/D(f)H(f)=1/D(f)。その 山(極)が立つ周波数=DD の谷=フォルマント。上のソルバで赤く印した谷が、まさにこの極なんだ。

「難しそうな式」の正体は、これで全部ほどけた ── 素朴な2×2を NN 回掛けて、DD の谷を探しているだけ。声道ラボは、君が形を動かすたびに、これを毎フレームやり直している。

⑤ 検算:一様管は coskL\cos kL に戻る

ちゃんと前編と地続きか、確かめておこう。管が 一様(全区間で ZZ\ell も同じ)なら、さっきの N=2N=2 の式で Z1=Z2Z_1=Z_21=2=\ell_1=\ell_2=\ell とおくと

D=c2s2=cos2ksin2k=cos2k=coskL(L=2)D = c^2 - s^2 = \cos^2 k\ell - \sin^2 k\ell = \cos 2k\ell = \cos kL \qquad(L = 2\ell)

きれいに coskL\cos kL になった(区間をいくつに割っても、一様なら同じ)。D=0D=0 すなわち coskL=0\cos kL = 0kL=π2,3π2,5π2,kL = \tfrac{\pi}{2}, \tfrac{3\pi}{2}, \tfrac{5\pi}{2}, \dots、つまり

f=c4L, 3c4L, 5c4L500, 1500, 2500 Hz(L17.5cm)f = \frac{c}{4L},\ \frac{3c}{4L},\ \frac{5c}{4L} \approx 500,\ 1500,\ 2500\ \mathrm{Hz}\quad(L \approx 17.5\,\mathrm{cm})

前編の「片閉じの管は奇数倍の4分の1波長で鳴る」と、ぴったり一致する。重い伝達行列の機械も、管が一様なときは、あの素朴な式にちゃんと戻ってくる。ソルバで「一様(中性)」を押すと、500/1500/2500/3500500/1500/2500/3500 の谷が並ぶのが見えるよ。

まとめ

難しそうに見えた式は、分解すれば「素朴な部品の積み重ね」だった ── 一個ずつほどけば、ちゃんと手が届く。

このソルバは小さな NN の教材版。実際の母音に合わせて N=44N=44 で解き、形をドラッグしながら音まで鳴らせる本格版が 声道ラボ だよ。そちらもどうぞ。

▶ 声道ラボ(N=44・音も出る)へ ↗

このモデルは声道を 1次元・損失なしの管 として近似している。唇の放射、壁の損失、鼻腔の結合、3次元の形は省いた。だから実測フォルマントを厳密に当てるものではなく、形と共鳴の関係 を見るための教材だよ。