SoundType={soundfont}
Int A=75                     //o4cdega o5cdegaの音がランダムに60小節鳴ります（日本音階）。
Int B=71　　　　　　　　　 　//音長はl6〜l32です。
Int C=72                     //下側タブにMMLを表示します（ピコサクラ・サクラともに）
Int D=73                     //A,B,C,Dの数字を変えると乱数が変わります。

Int Z
Int X
Int LL 
Int L         //音長
Str U         //ノート
Str U9
Str M1L=""

Str M2L="TrackName={'お正月'}
Copyright={'Moritoizumi'}
Tempo=100
TR=1 CH=1 @(Koto) V(100) o4 q100 P.onNoteWave(32,96,!4)
TR=2 CH=2 @(Shakuhachi) V(100) o4 l1 q100"
Print(M2L)

For(Int I=0; I<60; I++){

X=(A*B+C)%(D+1)              //D+1で0の除算を防ぐ
X=X/2
X=X+55

Z=X%11                         //除算の余りによって音長を決める
IF(Z=0){L=6}
IF(Z=1){L=8}
IF(Z=2){L=8}
IF(Z=3){L=8}
IF(Z=4){L=8}
IF(Z=5){L=8}
IF(Z=6){L=8}
IF(Z=7){L=12}
IF(Z=8){L=16}
IF(Z=9){L=24}
IF(Z=10){L=32}

For(LL=0; LL<L; LL++){
IF(LL=0){
A=B;B=C;C=D;D=X; 
X=(A*B+C)%(D+1) 
X=X/2
X=X+55

Z=X%10                       //除算の余りによって音程を決める
IF(Z=0){U="c"}
IF(Z=1){U="d"}
IF(Z=2){U="e"}
IF(Z=3){U="g"}
IF(Z=4){U="a"}
IF(Z=5){U="`c"}
IF(Z=6){U="`d"}
IF(Z=7){U="`e"}
IF(Z=8){U="`g"}
IF(Z=9){U="`a"}
M1L="TR=1 l"+L+U ;U9=U;
}
ELSE{
A=B;B=C;C=D;D=X; 
X=(A*B+C)%(D+1) 
X=X/2
X=X+55

Z=X%15                      //除算の余りによって音程やタイを決める
IF(Z=0){U="c"}
IF(Z=1){U="d"}
IF(Z=2){U="e"}
IF(Z=3){U="g"}
IF(Z=4){U="a"}
IF(Z=5){U="`c"}
IF(Z=6){U="`d"}
IF(Z=7){U="`e"}
IF(Z=8){U="`g"}
IF(Z=9){U="`a"}
IF(Z>9){U="^"}
M1L=M1L+U
 }
}
M2L=M2L+M1L+"TR=2"+U9;Print(M1L,"TR=2",U9);M1L="" //1小節ずつ表示
}
Play(M2L)                      //演奏