エンヴェロープ(包絡線)
エンヴェロープとは音量の変化である。ここではエンヴェロープを変えることで音の印象がかわることを確認する。まずエンヴェロープの形をグラフで見る方法を確認する。
graphとgraph1
以前グラフを表示するのに graph1を使ったが、ここではグラフを表示するのにgraphを使う。
graph1 : 0.1秒分のデータをグラフに表示する
graph : 1秒分のデータグラフにする
指数関数 exp(-t)
入力
r=exp(-t/0.1);
graph(r);
結果
組み合わせると
sin関数とエンヴェロープのデータを乗算することで、sin関数に任意のエンヴェロープをつけることができる。指数関数のエンヴェロープとsin関数を組み合わせると、「ピン」というバネをはじいたような音になる。
このとき、エンヴェロープ r と sin関数の掛算には .* (ピリオドと*) を用いる。
入力
r=exp(-t/0.1);
f=440;
x=r .* sin(2*%pi*f*t);
clf();graph(x);
play(x);
結果 再生すると「ポン」という音がなる。
以下のようにaの式を加えると、今度は始まりのやわらかい音を作ることができる。
入力 a=(1-exp(-t/0.02)); r=exp(-t/0.1); f=440; x=a.*r.* sin(2*%pi*f*t); clf();graph(x); play(x);結果 少しタッチのやわらかい音になる
aとrの計算式の中の赤色の数値を変えると、様々な包絡線に変化する。
音の変化を確かめよう