正弦波重ね合わせによる波形合成と音色

\( \displaystyle x(t) = \sum_{k=1}^N b_k \sin(k\omega_0 t) \quad {\rm or}\quad x(t) = \sum_{k=1}^N a_k \cos(k\omega_0 t), \qquad \omega_0 = \frac{2\pi}{T} \)


加算次数 \(N\) (最大25)   スライダー 線形 dB
加算波形 sin cos    ( 矩形波 三角波
係数プリセット
音再生
ボリューム 25 (音量注意!)
基本周波数 440.0 Hz

正弦波の重ね合わせによる波形の変化と,その波形を音として再生した場合の音色の変化を観察できます.

波形合成を行う関数群は sin(奇関数)か cos(偶関数)の選択です.一般的なフーリエ級数は両者の組み合わせですが,UIが煩雑になるのでどちらか片方を選択する形にしました.また,普通はあまり行わないのですが,正弦波以外の波形(矩形波,三角波)の重ね合わせ合成も一応用意しました.

各成分の振幅 (最大1) と符号をスライダーとチェックボックスによって指定すると,加算次数 \(N\) で指定した次数までの正弦波を重ね合わせた波形がグラフ表示されます.振幅は,デシベルの値で指定することもできます.「振幅0」はデシベル表記では \(-\infty\) ですが,ここではデシベル表記における最小振幅を \(-60\) dB (振幅 \(1/1000\)) としています.

「正弦波」「のこぎり波」「矩形波」「三角波」の係数プリセットボタンは,それぞれの波形を sin または cos でフーリエ級数展開した係数のうち \(N\) 次成分までの値をセットするボタンです.ボタンを押した後もスライダーは自由に動かせます.これらのボタンを押した後 sin/cos を変更すると,ボタンを押した時にセットした係数が残っているため,正弦波を除きボタンで指定した波形ではなくなります.再度ボタンを押すと,そのときのsin/cosに基づいたフーリエ級数係数がセットされます.

波形の表示と同時に,第 \(N\) 次倍音までの重ね合わせによる波形を,音として再生できます. ボリュームと,基本周波数をそれぞれスライダーにより設定してください.音再生中も,係数プリセットボタンやスライダーにより波形を変更することができます.波形の違いによる音色の変化を体験してください. 聴覚上,位相は音色に影響しませんので,sin/cos の区別は再生する音には反映していません.


更新履歴:


作成:2023年3月8日