ハーモニー
forからendまでのブロックを複数つけ加えれば複数メロディを重ねるてハーモニーをつけることができる。
program3.sceを実行してみよう
// program3 -- 2声の音楽 exec("initialize.sce"); // メロディ1 for i=0:63 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); x(s+w+1)=x(s+w+1)+a.*r.*sin(2*%pi*f*t)*0.1; end //メロディ2 for i=0:63 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); x(s+w+1)=x(s+w+1)+a.*r.*sin(2*%pi*f*t)*0.1; end //再生 play(x);赤色の部分の数値を変更すると、いろいろな変化がおきる。
慣れてきたら赤色以外の式を変更しても、うまくいけば(errorにならなければ)さらに面白い効果が得られる場合がある。