理系男子の独り善がり

仕事や生活に役立ちそうな(実際に役立つかは別として)数学・物理ネタをつらつらと書いていこうと思ってます.

「うなり」の数学的考察~その2~

前回の最後に書いていた問いからはじめましょう.

2つの正弦波の合成について,

  • 合成波の式における振幅の周期は  d/2なのに,
  • 音の大きさを与える振幅の 2乗の周期は  dとなりました.

この違いは何でしょうか?
これは正弦波のグラフを描いてみればわかることで,「2乗する」とは x軸よりも下(負の部分)を上へ折り返すという操作も含んでいます.

  • 合成波の周期は yの値が  0 \rightarrow 2A \rightarrow 0 \rightarrow -2A \rightarrow 0と変化する間の時間であるが,
  • 音の大きさは負の値をとらないので, 0 \rightarrow (2A)^2 \rightarrow 0というくり返しだけになり,周期は半分(周波数は 2倍)になる.

というわけです.


では,ここからはもうちょっと掘り下げた内容を書いていきます.

周波数の違いはどこまで許されるの?

これは定量的にどうこうというよりは,「2つの音がどのように聞こえるか?」という話になると思います.そうでないと,和音なんかはすべてうなってることになってしまい,それはそれで気持ち悪いことになってしまうかと.
ということで,となりの音までの差以内であれば違った音とは聞こえにくく,うなりとして聞こえるようになる(だろう)と考えることにします.

音階の周波数

音階とはおなじみの「ドレミファソラシド~♪」のことです.このドからドまでの間には,ピアノの鍵盤をみればわかるとおり,
 ド,ド#,レ,レ#,ミ,ファ,ファ#,ソ,ソ#,ラ,ラ#,シ,(ド)

の音があり,周波数でいうと等比数列になっています.さらに,ドからドまで 1オクターブ上がると,周波数は 2倍になります.ドからドまでで音の間隔は 12個あるので,その公比は,
  \begin{align} r^{12} &= 2 \\ r &= 2^{\frac{1}{12}} \fallingdotseq 1.06 \end{align}

となります.
たとえば,音叉の周波数としてもよく知られる 440[Hz](ラの音)について,となりの音までの周波数の差は
 ソ#(415.31[Hz]) → ラ(440.00[Hz]) → ラ#(466.16[Hz])

となるので,±10[Hz]ぐらいは許容範囲なのかなあ???(もうちょっと小さい範囲な気もするけど…)という感じになります*1
上にも書いたように,1オクターブ上がると周波数は 2倍になるので,低い音になるほど「となりの音」との間隔が小さくなります.よって,低い音ほどうなりにくいとみることもできると思います.

2つの音波の振幅が異なるとどうなるの?

先におこなった計算では,ある意味暗黙の内に「2つの音波の振幅は同じである」という前提をとっていました.じゃあ,違ったらどうなるの?という話です.つまりは,2つの音波が
  \begin{cases} y_1 = A \cdot \sin{\left( 2 \pi f t \right)} \\ y_3 = kA \cdot \sin{\left( 2 \pi (f+d) t \right)} \end{cases}

のように表される場合について考えてみます.ここで, k > 1であるとします.

こんな足し算できるかい!と思ったら,一度 k = 2とでも具体的に置いて計算してみてください.結果を先に言ってしまうと, k = 2と置いても置かなくても計算量は変わりません(笑).
  \begin{align} y_1 + y_3 &= A \cdot \sin{\left( 2 \pi f t \right)} + kA \cdot \sin{\left( 2 \pi (f+d) t \right)} \\
 &= A \left\{ \sin{\left( 2 \pi f t \right)} + k \sin{\left( 2 \pi (f+d) t \right)} \right\}
 \end{align}

ややこしいので,一度  2 \pi f t = \omega, \ 2 \pi d t = \phiと置きなおします.中括弧の中身だけを抽出すると,
  \begin{align} \sin{\omega} + k \sin{(\omega + \phi)} &= \sin{\omega} + k \left( \sin{\omega} \cos{\phi} + \cos{\omega} \sin{\phi} \right) \\
&= (1 + k \cos{\phi}) \cdot \sin{\omega} + k \sin{\phi} \cdot \cos{\omega} \\
&= \sqrt{B} \cdot \left( \frac{1 + k \cos{\phi}}{\sqrt{B}} \cdot \sin{\omega} + \frac{k \sin{\phi}}{\sqrt{B}} \cdot \cos{\omega} \right) \\
&= \sqrt{B} \cdot \sin{(\omega + \eta)} \end{align}

ここで, \eta \sin{\eta} = k \sin{\phi}/\sqrt{B}, \ \cos{\eta} = (1 + k \cos{\phi})/\sqrt{B}を満たし, Bについては,
  B = (1 + k \cos{\phi})^2 + (k \sin{\phi})^2 = 1 + k^2 + 2k \cos{\phi} \geqq (k-1)^2 > 0

となります.この式については,後で触れます.
計算結果を整理すると,
  \displaystyle{ y_1 + y_3 = \color{red}{A \sqrt{1 + k^2 + 2k \cos{(2 \pi d t)}} } \cdot \sin{(2 \pi f t + \eta)} }
 ただし, \displaystyle{ \tan{\eta} = \frac{k \sin{(2 \pi d t)}}{1 + k \cos{(2 \pi d t)}} }

ちなみに, k > 1としていますが, k = 1を代入すると,前回示した結果を導くことができます.

 Bについてですが, k > 1のときは決して 0にはなりません.つまり,「音の弱い」ところがぼやけてくるようになります.うなりという現象は音の強弱が聞こえるというものなので,その節となる部分がぼやけてくると,うなりとしても聞こえにくくなってきます. k = 1のときは,ちゃんと振幅が 0になるときが出てきます.
このことを合成波で見てみると, kが大きくなるにつれて,「くびれ」となる部分がなくなってくる様子として見ることができます.(下図)
f:id:miwotukusi:20170801054430p:plain

結果,振幅が異なるとうなりは観測しづらくなるということがわかります.逆に,うなりを観測したいときは振幅を合わせておくことがポイントになります.さらに,当たり前のことですが,振幅の大きい方に影響されているともいえると思います*2

途中の計算を見ると,「一応」細かい計算はしていますが,三角関数の合成で出てきている位相のズレ( \eta)については置いただけで何も考察はしていません.所詮,位相なんぞは相対的なもの(比較する別の波があって意味をなすもの)なので,「その音波の音を聞く」ということには影響しないわけです.式をしっかりと追うことも大事ですが,計算が厳密にできないから諦めるとか,逆に追いすぎてミイラ取りがミイラになるということは,もったいないというか残念な話だなと思います.


物理学だけではないと思いますが,「ときに局所的に(local),ときに大局的に(global)」という見方の切り替えは大事だと思います.物理学においては,それを計算している式にも使うという点で,ちょっと特殊なのかな?とも思ったりもします.

*1:等比数列の公比が 1に近いので,隣の音ぐらいまでであれば比例関係のように扱ってもいいはずかと

*2: k > 1なので,そちらの音の方がそもそも「大きな音」ということになりますね