Math World Lab

音のうなりと三角関数の積和公式・干渉の数理

2つの近い周波数が生む心地よい揺らぎ — 包絡線と楽器チューニングの原理

Acoustic Beats Δf
この単元の発見をシェア
3行要約(Key Takeaways / AIOサマリー)
1
周波数がわずかに異なる2つの純音(例えば440Hzと442Hz)を同時に鳴らすと、音量が1秒間に2回周期的に「ウワン、ウワン」と揺らぐ現象を『うなり(Beats)』と呼ぶ
2
高校数学で学ぶ三角関数の和積公式 sin⁡A+sin⁡B=2cos⁡(A−B2)sin⁡(A+B2)\sin A + \sin B = 2 \cos\left(\frac{A-B}{2}\right) \sin\left(\frac{A+B}{2}\right) によって、高速振動波が低速な包絡線(エンベロープ)で変調される構造が完全に説明される
3
オーケストラの楽器調律(うなりが消えるまでペグを回す)、ドップラー超音波血流計、ヘテロダイン無線受信機などの工学の根幹

なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値

Purpose & Motivation

なぜ生まれたのか?

受験数学で『丸暗記させられて嫌になる公式ワースト1』になりがちな三角関数の積和・和積公式が、耳で聴こえるリアルな音の現象と100%一致する感動を味わえます。ギターのチューニングで『うなりを消す=周波数が完全一致した証拠』という直感を数式で解き明かせます。

身につく武器・思考力

振幅変調(AM変調)の信号処理直感、三角関数の合成・積和変形の幾何学的イメージ、音響エンジニアリング基礎

実社会・ITでの活躍現場

  • •ギターやピアノ調律師による開放弦ハーモニクスを使ったうなりゼロ合わせチューニング
  • •医療用超音波ドップラー血流計(血流速度による反射波のうなり周波数解析)
  • •ラジオ・Wi-Fi受信機のスーパーヘテロダイン周波数変換ミキサー回路
  • •バイノーラルビート(左右の耳にわずかに異なる周波数を聴かせて脳波誘導を促す音響技術)

Layer 1 — 直感・シミュレーター

『うなりを聴く』ボタンを押すと、Web Audio APIが2つの正弦波を同時に出力します。スライダーで周波数差 Δf\Delta f を 0.2Hz(ゆっくりした大きな波)から 8.0Hz(小刻みな濁り)まで変化させると、上の波形の包絡線(オレンジの点線)の周期と、耳で聴こえる音量の揺らぎ回数が完全に一致することを体感できます。

キャリア周波数: 441.0 Hzうなりの周期: 毎秒 2.0 回 (周期 0.50 秒)
周波数のズレ Δf(毎秒のうなり回数)2.0 Hz
0.2Hz (5秒に1回のゆっくりした波)2.0Hz (心地よいうなり)8.0Hz (激しい濁り)
直感チェック!ミニクイズ

440 Hz の音叉と、わずかに調律が狂ったギターの弦を同時に鳴らしたところ、1秒間に4回のうなりが聞こえた。ギター弦の周波数として考えられるものはどれか?

Layer 2 — 定義・受験・証明

定義

**うなり(Beats)**とは、周波数がわずかに異なる2つの波が重ね合わさる(干渉する)ことで、それらの周波数の差 Δf=∣f1−f2∣\Delta f = |f_1 - f_2| に等しい周期的な振幅の増減(音量の明滅)が生じる波動現象である。

公式・数理モデル

y(t)=sin⁡(2πf1t)+sin⁡(2πf2t)=2cos⁡(2πf1−f22t)sin⁡(2πf1+f22t)うなり周波数(1秒間の脈動回数): fbeat=∣f1−f2∣y(t) = \sin(2\pi f_1 t) + \sin(2\pi f_2 t) = 2 \cos\left( 2\pi \frac{f_1 - f_2}{2} t \right) \sin\left( 2\pi \frac{f_1 + f_2}{2} t \right) \text{うなり周波数(1秒間の脈動回数): } f_{\text{beat}} = |f_1 - f_2|

証明・導出

**三角関数の加法定理からの和積公式の導出** 加法定理より:

sin⁡(α+β)=sin⁡αcos⁡β+cos⁡αsin⁡β\sin(\alpha + \beta) = \sin\alpha \cos\beta + \cos\alpha \sin\beta

sin⁡(α−β)=sin⁡αcos⁡β−cos⁡αsin⁡β\sin(\alpha - \beta) = \sin\alpha \cos\beta - \cos\alpha \sin\beta

両式を足し合わせると:

sin⁡(α+β)+sin⁡(α−β)=2sin⁡αcos⁡β\sin(\alpha + \beta) + \sin(\alpha - \beta) = 2 \sin\alpha \cos\beta

ここで A=α+βA = \alpha + \beta, B=α−βB = \alpha - \beta と変数変換すると、α=A+B2\alpha = \frac{A + B}{2}, β=A−B2\beta = \frac{A - B}{2} であるため:

sin⁡A+sin⁡B=2sin⁡(A+B2)cos⁡(A−B2)\sin A + \sin B = 2 \sin\left(\frac{A + B}{2}\right) \cos\left(\frac{A - B}{2}\right)

角周波数 ω1=2πf1\omega_1 = 2\pi f_1, ω2=2πf2\omega_2 = 2\pi f_2 を代入すると:

y(t)=2cos⁡(2πf1−f22t)⏟包絡線(ゆっくり変化する振幅)×sin⁡(2πf1+f22t)⏟キャリア波(平均周波数の高い音)y(t) = \underbrace{2 \cos\left(2\pi \frac{f_1 - f_2}{2} t\right)}_{\text{包絡線(ゆっくり変化する振幅)}} \times \underbrace{\sin\left(2\pi \frac{f_1 + f_2}{2} t\right)}_{\text{キャリア波(平均周波数の高い音)}}

音の強さ(エネルギー)は振幅の2乗に比例するため、cos⁡\cos が +1+1 でも −1-1 でも最大音量となる。したがって包絡線が半周期進むごとに1回のピークが訪れるため、うなりの周波数は 2×∣f1−f2∣2=∣f1−f2∣2 \times \frac{|f_1 - f_2|}{2} = |f_1 - f_2| となる(Q.E.D.)。

押さえておきたいポイント

  • 聴こえる音の高さは2つの周波数の平均値 f1+f22\frac{f_1 + f_2}{2} であり、音量の揺らぎは周波数の差 ∣f1−f2∣|f_1 - f_2| である
  • 周波数差が 15Hz 以上離れると、人間の耳は「うなり(周期的な音量変化)」ではなく「2つの異なる濁った和音」または「差音」として知覚するようになる
  • AMラジオ放送の振幅変調(Amplitude Modulation)も、この三角関数の積和公式と全く同一の原理である
参照基準・学習指導要領との対応

本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。

Layer 3 — 工学応用・現場実装

合成音声のうなり波形生成およびスペクトル解析コード

2つの正弦波を重ね合わせてうなり音を合成し、包絡線のヒルベルト変換とFFT周波数ピークを出力するPythonコードです。

1import numpy as np
2
3# サンプリング設定
4fs = 44100 # サンプリング周波数 (Hz)
5duration = 2.0 # 2秒間
6t = np.linspace(0, duration, int(fs * duration), endpoint=False)
7
8# 2つの周波数 (Hz)
9f1 = 440.0 # A4
10f2 = 443.0 # 3Hz高い音
11
12# 波形の重ね合わせ
13wave1 = np.sin(2 * np.pi * f1 * t)
14wave2 = np.sin(2 * np.pi * f2 * t)
15beat_wave = 0.5 * (wave1 + wave2)
16
17# うなり周波数の理論値
18f_beat_theory = abs(f1 - f2)
19f_carrier_theory = (f1 + f2) / 2.0
20
21print(f"基音1: {f1} Hz, 基音2: {f2} Hz")
22print(f"知覚されるキャリア音高: {f_carrier_theory:.1f} Hz")
23print(f"1秒間のうなり回数: {f_beat_theory:.1f} 回 (周期 {1.0/f_beat_theory:.3f} 秒)")
24# waveファイルを保存して聴くことも可能
25# from scipy.io import wavfile; wavfile.write("beats.wav", fs, (beat_wave * 32767).astype(np.int16))

次に学ぶならコレ!おすすめトピック

この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元

数理モデル・概念が近い関連トピック

関連度高高校数学

加法定理と波の干渉(ノイズキャンセリング)

「なぜ逆位相の音をぶつけると騒音が消えるのか?」三角関数の合成と音響工学の秘密

f=3/2 f0Pythagoras Comma (3/2)
関連度高中学数学

ピタゴラス音律と純正律・平均律の数学

ドレミの起源と和音の美学 — 整数比 3/2(完全5度)とピタゴラスコンマの矛盾

関連度高工学応用

ノイズキャンセリングの音波干渉(逆位相合成の数学)

外来騒音に180度反転させた逆位相の音波をぶつけて完全消音する三角関数と波動力学

同じレベルで次に挑戦したいトピック

同レベル推薦高校数学

ベクトルの内積

2本の矢印の「向きの近さ」を1つの数値にする

同レベル推薦高校数学

三角関数(単位円とサイン・コサイン)

回転する点のx座標・y座標が三角関数の正体

同レベル推薦高校数学

微分の基本(接線と変化率)

平均変化率の極限として現れる「その瞬間の傾き」

工学・実社会での応用先でつながるトピック

工学・実践連携小学校・算数

比例と反比例

y=kxy = kx と y=kxy = \frac{k}{x}、グラフと表はどう違う?

工学・実践連携中学数学

二次関数と放物線

a, b, c を動かすと放物線の形と位置はどう変わる?

工学・実践連携中学数学

円の方程式(基礎)

中心と半径を動かして、円の方程式が「距離」そのものであることを確かめる

あなたの数学力をさらに伸ばす

数学の弱点診断や算数パズルに挑戦してみませんか?

簡単な質問に答えてあなたにぴったりの学習ロードマップを発見したり、直感を試すパズルで数の面白さを体験できます。