音をグラフにして見る
sin関数で音を作る。
x=sin(2*%pi*1000*t)*0.1;
play(x);この波形をグラフ表示する。
graph1(x);
するとこんなグラフが表示される。
この時、縦軸は数値、横軸は「秒」をあらわしている。
グラフの読み方
[横軸]
0.000から0.010の間に10個の波がある。つまり0.01秒の間10個の波がつまっている。
1秒間には1000個の波があり、1個の波は 1/1000秒の長さである。
[縦軸]
-0.1~0.1の振幅である。-1~1がコンピュータで再生できる最大振幅なので、-0.1~0.1がちょうどいい音量である。
グラフを何度も表示する場合、以下のようにすれば、音を再生し、前のグラフを消去し、新しいグラフを描画できる。
play(x); clf(); graph1(x);
Hz
この波の数を「周波数」と呼び、Hz(ヘルツ)であらわす。波の長さは周期と呼び、s(秒)であらわす。
1000のところを2000にして同様に音とグラフを確認しよう。
x=sin(2*%pi*2000*t)*0.1;
play(x); clf();graph1(x);
音程が1オクターブ高くなり、グラフは以下のようになる。
次に 0.1 のところを 0.5にしてみよう。
x=sin(2*%pi*2000*t)*0.5;
play(x); clf(); graph1(x);
今度はグラフ上で振幅が 0.5 になり、音が大きくなった。
なお、振幅が-1.0~1.0の範囲を超えると、scilabでは音が大きすぎて正常に処理できない。
まとめ
graph(x)を使って周波数と振幅を調べることができる。
周波数は音程と関係がある。
振幅は音の大きさと関係がある。
振幅の最大は-1.0~1.0以下にする必要がある。