音色を変える
次に少し明るい音にしてみよう。
入力
a=(1-exp(-t/0.01));
r=exp(-t/0.3);
f=440;
m=sin(2*%pi*f*t)*2;
x=a.*r.* sin(2*%pi*f*t+m);
play(x);
clf(); graph1(x);
結果 ビーンという少し濁った音になる。
--- m の値を変えて音色の変化を確かめよう ---
mにsin関数や指数関数をかけるとさらに複雑な音になる。
この時掛け算の記号は .* を使うこと。
入力
a=(1-exp(-t/0.01));
r=exp(-t/0.3);
f=440;
m=sin(2*%pi*f*t).*sin(20*t)*2;
x=a.*r.* sin(2*%pi*f*t+m);
play(x);
clf(); graph(x);
結果 ビーンという少し濁った音になる。
// program5 -- 2声の音色を変える exec("initialize.sce"); // メロディ1 for i=0:63 a=(1-exp(-t/0.01)); r=exp(-t/0.3); s=int(i*fs/4); k=i-int(i/4)*4; j=k*2; n=int(j/7*12 + 0.4); f=440*2^(n/12); m=sin(2*%pi*f*t).*sin(20*t)*1; x(w+s+1)=x(w+s+1)+a.*r.* sin(2*%pi*f*t+m)*.2; end //メロディ2 for i=0:63 a=(1-exp(-t/0.001)); r=exp(-t/0.1); s=int(i*fs/4); k=i-int(i/8)*8; j=int(k/2)*3+7; n=int(j/7*12 + 0.4); f=440*2^(n/12); m=sin(3*%pi*f*t).*sin(4*t)*2; x(w+s+1)=x(w+s+1)+a.*r.* sin(2*%pi*f*t+m)*.2; end //再生 play(x);赤色の部分の数値を変更すると、様々な音色に変化することを確認しよう。