TrackName={"素朴な風鈴"}
Copyright={"Moritoizumi"}
Int A=79                     //o6g+〜o7gの音がランダムに400音鳴ります。
Int B=71　　　　　　　　　 　//音長はl1〜l24、音量はv10〜v70です。
Int C=72                     //下側タブにMMLを表示します（ピコサクラ・サクラともに）
Int D=73                     //A,B,C,Dの数字を変えると乱数が変わります。

Int N=12                     //Nは音色です。数字を変えてみてください。
　　　　　　　　　　 　　　　//  9 CelestaStrings
                             // 11 MusicBox
                             // 12 Vibraphone
                             // 16 Dulcimer
Int Z
Int X
Str L         //音長
Str L9="l9"   //旧音長
Str W         //音量
Str W9="v9"   //旧音量
Str U         //ノート
Str M1L=""
Str M2L=""

Tempo=120
TR=1 CH=1 @(N) V(100) o6 q100 P.onNoteWave(32,96,!4)

For(Int I=0; I<400; I++){

X=(A*B+C)%(D+1)              //D+1で0の除算を防ぐ
X=X/2
X=X+55

Z=X%9                         //除算の余りによって音長を決める
IF(Z=0){L="l1"}
IF(Z=1){L="l2"}
IF(Z=2){L="l3"}
IF(Z=3){L="l4"}
IF(Z=4){L="l6"}
IF(Z=5){L="l8"}
IF(Z=6){L="l12"}
IF(Z=7){L="l16"}
IF(Z=8){L="l24"}

Z=X%7                         //除算の余りによって音量を決める
IF(Z=0){W="v10"}
IF(Z=1){W="v20"}
IF(Z=2){W="v30"}
IF(Z=3){W="v40"}
IF(Z=4){W="v50"}
IF(Z=5){W="v60"}
IF(Z=6){W="v70"}

Z=X%12                        //除算の余りによって音程を決める
IF(Z=0){U="g+"}
IF(Z=1){U="a"}
IF(Z=2){U="a+"}
IF(Z=3){U="b"}
IF(Z=4){U="`c"}
IF(Z=5){U="`c+"}
IF(Z=6){U="`d"}
IF(Z=7){U="`d+"}
IF(Z=8){U="`e"}
IF(Z=9){U="`f"}
IF(Z=10){U="`f+"}
IF(Z=11){U="`g"}

IF(L=L9){L=""}ELSE{L9=L}
IF(W=W9){W=""}ELSE{W9=W}
M1L=M1L+L+W+U+" "

Z=I%10
IF(Z=9){M2L=M2L+M1L;M1L=M1L+(I+1);Print(M1L);M1L=""}//10音ずつ表示

A=B;B=C;C=D;D=X}              //係数をずらす

Play(M2L)                     //演奏

/*
TrackName={"素朴な風鈴"}
Copyright={"Moritoizumi"}
Int A=75                     //n80〜n91(o6g+〜o7g)の音がランダムに100音鳴ります。
Int B=71　　　　　　　　　 　//音長はl1〜l24、音量はv10〜v70です。
Int C=72                     //下側タブにMMLを表示します（ピコサクラ・サクラともに）
Int D=73                     //A,B,C,Dの数字を変えると乱数が変わります。

Int N=12                     //Nは音色です。変えてみてください。
　　　　　　　　　　 　　　　//  9 CelestaStrings
                             // 11 MusicBox
                             // 12 Vibraphone
                             // 16 Dulcimer
Int Z
Int X
Str L
Str W
Str M1L
Str M2L=""
Tempo=120
TR=1 CH=1 @(N) V(100) q100 P.onNoteWave(32,96,!4)

For(Int I=0; I<100; I++){

X=(A*B+C)%(D+1)              //D+1で0の除算を防ぐ
X=X/2
X=X+55

Z=X%9                         //除算の余りによって音長を決める
IF(Z=0){L="l1"}
IF(Z=1){L="l2"}
IF(Z=2){L="l3"}
IF(Z=3){L="l4"}
IF(Z=4){L="l6"}
IF(Z=5){L="l8"}
IF(Z=6){L="l12"}
IF(Z=7){L="l16"}
IF(Z=8){L="l24"}

Z=X%7                         //除算の余りによって音量を決める
IF(Z=0){W="v10"}
IF(Z=1){W="v20"}
IF(Z=2){W="v30"}
IF(Z=3){W="v40"}
IF(Z=4){W="v50"}
IF(Z=5){W="v60"}
IF(Z=6){W="v70"}

Z=X%12                        //除算の余りによって音程を決める
Z=Z+80

M1L=L+W+"n"+Z
M2L=M2L+M1L
Print(I,M1L)

A=B;B=C;C=D;D=X}              //係数をずらす

Play(M2L)
*/
