振幅と周波数を変える

振幅や周波数の異なるsin波を作ってみよう

振幅を変える

振幅を 0.5 倍する方法はすでに学んだ

y = 0.5 * x;

この式で数列 x の各値に 0.5 を書けて、新しい数列を作って y に代入することができる。

以下のようにwavファイルを作成して音を聞いてみよう。

savewave("y.wav",y,sf);

振幅を 0.5 倍しても、少しだけ音が小さくなったが、思ったほどは音が小さくなった感じがしなかったのではないかと思う。

周波数を変える

振幅を0.5倍にしても音はほとんどかわらなかった。周波数を2倍,3倍にしたらどうだろうか?

x2=sin(2*%pi*440*2*t);

savewave("x2.wav",x2,fs);

x3=sin(2*%pi*440*3*t);

savewave("x3.wav",x3,fs);

x2とx3をWindows Media Playerで再生してみよう。

x2は1オクターブ上の音が、x3は1オクターブ上のさらに5度上の音になった。

(3) 周波数を2倍にすると、1オクターブ上の音になる

ということが確認できた。

それでは音階はどのように作られるのだろう。