/*Am, Dm, E7, Am, A7, Dm, G7, C, E7, Am, Dm, G7, C, E7, Am, Dm, E7, Am
0, 33, 33, 33, 33, 33, 33, 33
0, 66, 33, 66, 33, 66, 33, 66
0, 66, 66, 66, 66, 66, 66, 66
0, 66, 66, 66, 33, 66, 66, 66
v0, v0, v0, v0, v120, v100, v80, */
Tempo=120
TR=1 CH=1 @(NewAgePad) V(100) o5v100 l8 P.onNoteWave(54,74,!4) TrackKey=0 r1
a^^ o6v80cccc^ |  o5v100a^af^^^a | g+^eg+^b o6v80e^ | e^^^^^^^
a^^^c+^e^ | f^^^^aaf | g^^ggb^g | g^^^g^^^
e^ o5v100bg+^^g+^ | e^aa o6v80ce^^ | a^^^aa^d | f^dfg^df
ee^c^ o5v100gge | d o4v120bbb^b^^ | a^e^^^^^ | f^a o5v100ddff^
de^dg+^^^ | eaa^ o6v80cee^ | 
TR=2 CH=2 @(AcousticBass) V(100) o3 l4 v.N(100,80,70) TrackKey=0 r1
a.c.e  d.f.a  e.g+.b  a.c.e  a.c+.e  d.f.a  g.b.d  c.e.g  
e.g+.b  a.c.e  d.f.a  g.b.d  c.e.g  e.g+.b  a.c.e  d.f.a  
e.g+.b  a.c.e  
TR=3 CH=3 @(SteelcGuitar) V(50) o6 l8 TrackKey=0 r1
v.N(80,80,80,80,50,50,50,50,80,80,80,80,80,80,80,80,50,50,50,50,80,80,80,80,80,80,80,80,80,80,80,80)[8'acea'][8'dfad'][8'eg+bd'][8'acea'][8'ac+eg'][8'dfad'][8'gbdf'][8'cegc']
[8'eg+bd'][8'acea'][8'dfad'][8'gbdf'][8'cegc'][8'eg+bd'][8'acea'][8'dfad']
[8'eg+bd'][8'acea']
TR=10 CH=10 V(90) v70 l8 [20 n49n44n42n44n42n44n42n46]
TR=11 CH=10 V(90) v70 l4 [20 n36n38n36n38]

//ここまではピコサクラ対応のサンプルです。テキスト音楽サクラで使用する場合は、
/*先頭からここまでを削除してください。毎回異なる曲を演奏し、下側タブにMMLを表示します。




//コード進行
Array CD=(Am,Dm,E7,Am,A7,Dm,G7,C,E7,Am,Dm,G7,C,E7,Am,Dm,E7,Am);
//4,5,6オクターブの音量
Array VV=(v0,v0,v0,v0,v120,v100,v80);
//拍ごとのタイの確率(%)
Array TT0=(0,33,33,33,33,33,33,33)
Array TT1=(0,66,33,66,33,66,33,66)
Array TT2=(0,66,66,66,66,66,66,66)
Array TT3=(0,66,66,66,33,66,66,66)

//----------------------------------------------------
Int CD1=SizeOf(CD);Int CD2=CD1+2;
Array TT;Array ZZA;                                 //コード構成音（すべて4音にしてある）
Int RR;Int OO=5;Int N9=7;Int NN;Str ZZ;Str Z9;Str ZZ0;Str ZZ1;Str ZZ2;Str ZZ3;

Print("/"+"*",(CD))
Print(TT0)
Print(TT1)
Print(TT2)
Print(TT3)
Print((VV),"*"+"/");
Str MM={Tempo=120
TR=1 CH=1 @(NewAgePad) V(100) o5v100 l8 P.onNoteWave(54,74,!4) TrackKey=0 r1
}

Str BB={
TR=2 CH=2 @(AcousticBass) V(100) o3 l4 v.N(100,80,70) TrackKey=0 r1
}

Str CC={
TR=3 CH=3 @(SteelcGuitar) V(50) o6 l8 TrackKey=0 r1
v.N(80,80,80,80,50,50,50,50,80,80,80,80,80,80,80,80,50,50,50,50,80,80,80,80,80,80,80,80,80,80,80,80)}
Str DD={
TR=10 CH=10 V(90) v70 l8 [}+CD2+{ n49n44n42n44n42n44n42n46]
TR=11 CH=10 V(90) v70 l4 [}+CD2+{ n36n38n36n38]}

For(Int I=0; I<SizeOf(CD); I++){
For(Int J=0; J<8; J++)   { 
SWITCH(CD(I)){
CASE({Am}){ZZA=({a},{c},{e},{a})}
CASE({Bm}){ZZA=({b},{d},{f+},{b})}
CASE({Cm}){ZZA=({c},{d+},{g},{c})}
CASE({Dm}){ZZA=({d},{f},{a},{d})}
CASE({Em}){ZZA=({e},{g},{b},{e})}
CASE({Fm}){ZZA=({f},{g+},{c},{f})}
CASE({Gm}){ZZA=({g},{a+},{d},{g})}
CASE({A}){ZZA=({a},{c+},{e},{a})}
CASE({B}){ZZA=({b},{d+},{f+},{b})}
CASE({C}){ZZA=({c},{e},{g},{c})}
CASE({D}){ZZA=({d},{f+},{a},{d})}
CASE({E}){ZZA=({e},{g+},{b},{e})}
CASE({F}){ZZA=({f},{a},{c},{f})}
CASE({G}){ZZA=({g},{b},{d},{g})}
CASE({A7}){ZZA=({a},{c+},{e},{g})}
CASE({B7}){ZZA=({b},{d+},{f+},{a})}
CASE({C7}){ZZA=({c},{e},{g},{a+})}
CASE({D7}){ZZA=({d},{f+},{a},{c})}
CASE({E7}){ZZA=({e},{g+},{b},{d})}
CASE({F7}){ZZA=({f},{a},{c},{d+})}
CASE({G7}){ZZA=({g},{b},{d},{f})}
DEFAULT{Print("CHORD ERROR")}
}
IF(J=0){
ZZ0=ZZA(0);ZZ1=ZZA(1);ZZ2=ZZA(2);ZZ3=ZZA(3);
BB=BB+ZZ0+{.}+ZZ1+{.}+ZZ2+{  };
CC=CC+{[8'}+ZZ0+ZZ1+ZZ2+ZZ3+{']};
}

If(ZZ0=ZZ3){RR=Random(3)}Else{RR=Random(4)}
ZZ=ZZA(RR);
SWITCH(ZZ){
CASE({c},{b+}){NN=0}
CASE({c+},{d-}){NN=1}
CASE({d}){NN=2}
CASE({d+},{e-}){NN=3}
CASE({e},{f-}){NN=4}
CASE({f},{e+}){NN=5}
CASE({f+},{g-}){NN=6}
CASE({g}){NN=7}
CASE({g+},{a-}){NN=8}
CASE({a}){NN=9}
CASE({a+},{b-}){NN=10}
CASE({b},{c-}){NN=11}
DEFAULT{Print("NOTE ERROR")}
}
RR=Random(4)
SWITCH(RR){
CASE(0){TT=TT0}
CASE(1){TT=TT1}
CASE(2){TT=TT2}
DEFAULT{TT=TT3}
}
RR=Random(100)+1;                            //音符かタイかを決める
IF(I+J=0||TT(J)<RR){                         //1小節目の1拍目は音符で、他は指定の確率でタイ
                                             //1拍目のタイは&aみたいになります
If(N9-NN>6&&OO<6){OO++;MM=MM+{ o}+OO+VV(OO)} //下がりすぎならオクターブを上げる(可能なら)
If(NN-N9>6&&OO>4){OO--;MM=MM+{ o}+OO+VV(OO)} //上がりすぎならオクターブを下げる(可能なら)
MM=MM+ZZ;N9=NN;Z9=ZZ}
Else{If(J=0){MM=MM+"&"+Z9;}Else{MM=MM+{^}}}
                          }                  //J bottom
If(I%4<3){MM=MM+" | "}Else{MM=MM+"
"}
If(I%8=7){BB=BB+"
";CC=CC+"
"}
                   }                         //I bottom
MM=MM+BB+CC+DD;
Print(MM);              //MMLを表示
MM;                //演奏


/*倉庫
CASE({Am}){ZZA=({a},{c},{e},{a})}
CASE({A+m}){ZZA=({a+},{c+},{f},{a+})}
CASE({Bm}){ZZA=({b},{d},{f+},{b})}
CASE({Cm}){ZZA=({c},{d+},{g},{c})}
CASE({C+m}){ZZA=({c+},{e},{g+},{c+})}
CASE({Dm}){ZZA=({d},{f},{a},{d})}
CASE({D+m}){ZZA=({d+},{f+},{a+},{d+})}
CASE({Em}){ZZA=({e},{g},{b},{e})}
CASE({Fm}){ZZA=({f},{g+},{c},{f})}
CASE({F+m}){ZZA=({f+},{a},{c+},{f+})}
CASE({Gm}){ZZA=({g},{a+},{d},{g})}
CASE({G+m}){ZZA=({g+},{b},{d+},{g+})}
CASE({A}){ZZA=({a},{c+},{e},{a})}
CASE({A+}){ZZA=({a+},{d},{f},{a+})}
CASE({B}){ZZA=({b},{d+},{f+},{b})}
CASE({C}){ZZA=({c},{e},{g},{c})}
CASE({C+}){ZZA=({c+},{f},{g+},{c+})}
CASE({D}){ZZA=({d},{f+},{a},{d})}
CASE({D+}){ZZA=({d+},{g},{a+},{d+})}
CASE({E}){ZZA=({e},{g+},{b},{e})}
CASE({F}){ZZA=({f},{a},{c},{f})}
CASE({F+}){ZZA=({f+},{a+},{c+},{f+})}
CASE({G}){ZZA=({g},{b},{d},{g})}
CASE({G+}){ZZA=({g+},{c},{d+},{g+})}
CASE({A7}){ZZA=({a},{c+},{e},{g})}
CASE({A+7}){ZZA=({a+},{d},{f},{g+})}
CASE({B7}){ZZA=({b},{d+},{f+},{a})}
CASE({C7}){ZZA=({c},{e},{g},{a+})}
CASE({C+7}){ZZA=({c+},{f},{g+},{b})}
CASE({D7}){ZZA=({d},{f+},{a},{c})}
CASE({D+7}){ZZA=({d+},{g},{a+},{c+})}
CASE({E7}){ZZA=({e},{g+},{b},{d})}
CASE({F7}){ZZA=({f},{a},{c},{d+})}
CASE({F+7}){ZZA=({f+},{a+},{c+},{e})}
CASE({G7}){ZZA=({g},{b},{d},{f})}
CASE({G+7}){ZZA=({g+},{c},{d+},{f+})}
CASE({Am7}){ZZA=({a},{c},{e},{g})}
CASE({A+m7}){ZZA=({a+},{c+},{f},{g+})}
CASE({Bm7}){ZZA=({b},{d},{f+},{a})}
CASE({Cm7}){ZZA=({c},{d+},{g},{a+})}
CASE({C+m7}){ZZA=({c+},{e},{g+},{b})}
CASE({Dm7}){ZZA=({d},{f},{a},{c})}
CASE({D+m7}){ZZA=({d+},{f+},{a+},{c+})}
CASE({Em7}){ZZA=({e},{g},{b},{d})}
CASE({Fm7}){ZZA=({f},{g+},{c},{d+})}
CASE({F+m7}){ZZA=({f+},{a},{c+},{e})}
CASE({Gm7}){ZZA=({g},{a+},{d},{f})}
CASE({G+m7}){ZZA=({g+},{b},{d+},{f+})}
CASE({Aaug}){ZZA=({a},{c+},{f},{a})}
CASE({A+aug}){ZZA=({a+},{d},{f+},{a+})}
CASE({Baug}){ZZA=({b},{d+},{g},{b})}
CASE({Caug}){ZZA=({c},{e},{g+},{c})}
CASE({C+aug}){ZZA=({c+},{f},{a},{c+})}
CASE({Daug}){ZZA=({d},{f+},{a+},{d})}
CASE({D+aug}){ZZA=({d+},{g},{b},{d+})}
CASE({Eaug}){ZZA=({e},{g+},{c},{e})}
CASE({Faug}){ZZA=({f},{a},{c+},{f})}
CASE({F+aug}){ZZA=({f+},{a+},{d},{f+})}
CASE({Gaug}){ZZA=({g},{b},{d+},{g})}
CASE({G+aug}){ZZA=({g+},{c},{e},{g+})}
CASE({Adim}){ZZA=({a},{c},{d+},{f+})}
CASE({A+dim}){ZZA=({a+},{c+},{e},{g})}
CASE({Bdim}){ZZA=({b},{d},{f},{g+})}
CASE({Cdim}){ZZA=({c},{d+},{f+},{a})}
CASE({C+dim}){ZZA=({c+},{e},{g},{a+})}
CASE({Ddim}){ZZA=({d},{f},{g+},{b})}
CASE({D+dim}){ZZA=({d+},{f+},{a},{c})}
CASE({Edim}){ZZA=({e},{g},{a+},{c+})}
CASE({Fdim}){ZZA=({f},{g+},{b},{d})}
CASE({F+dim}){ZZA=({f+},{a},{c},{d+})}
CASE({Gdim}){ZZA=({g},{a+},{c+},{e})}
CASE({G+dim}){ZZA=({g+},{b},{d},{f})}
CASE({Asus4}){ZZA=({a},{d},{e},{a})}
CASE({A+sus4}){ZZA=({a+},{d+},{f},{a+})}
CASE({Bsus4}){ZZA=({b},{e},{f+},{b})}
CASE({Csus4}){ZZA=({c},{f},{g},{c})}
CASE({C+sus4}){ZZA=({c+},{f+},{g+},{c+})}
CASE({Dsus4}){ZZA=({d},{g},{a},{d})}
CASE({D+sus4}){ZZA=({d+},{g+},{a+},{d+})}
CASE({Esus4}){ZZA=({e},{a},{b},{e})}
CASE({Fsus4}){ZZA=({f},{a+},{c},{f})}
CASE({F+sus4}){ZZA=({f+},{b},{c+},{f+})}
CASE({Gsus4}){ZZA=({g},{c},{d},{g})}
CASE({G+sus4}){ZZA=({g+},{c+},{d+},{g+})}
CASE({A7sus4}){ZZA=({a},{d},{e},{g})}
CASE({A+7sus4}){ZZA=({a+},{d+},{f},{g+})}
CASE({B7sus4}){ZZA=({b},{e},{f+},{a})}
CASE({C7sus4}){ZZA=({c},{f},{g},{a+})}
CASE({C+7sus4}){ZZA=({c+},{f+},{g+},{b})}
CASE({D7sus4}){ZZA=({d},{g},{a},{c})}
CASE({D+7sus4}){ZZA=({d+},{g+},{a+},{c+})}
CASE({E7sus4}){ZZA=({e},{a},{b},{d})}
CASE({F7sus4}){ZZA=({f},{a+},{c},{d+})}
CASE({F+7sus4}){ZZA=({f+},{b},{c+},{e})}
CASE({G7sus4}){ZZA=({g},{c},{d},{f})}
CASE({G+7sus4}){ZZA=({g+},{c+},{d+},{f+})}
CASE({Am7-5}){ZZA=({a},{c},{d+},{g})}
CASE({A+m7-5}){ZZA=({a+},{c+},{e},{g+})}
CASE({Bm7-5}){ZZA=({b},{d},{f},{a})}
CASE({Cm7-5}){ZZA=({c},{d+},{f+},{a+})}
CASE({C+m7-5}){ZZA=({c+},{e},{g},{b})}
CASE({Dm7-5}){ZZA=({d},{f},{g+},{c})}
CASE({D+m7-5}){ZZA=({d+},{f+},{a},{c+})}
CASE({Em7-5}){ZZA=({e},{g},{a+},{d})}
CASE({Fm7-5}){ZZA=({f},{g+},{b},{d+})}
CASE({F+m7-5}){ZZA=({f+},{a},{c},{e})}
CASE({Gm7-5}){ZZA=({g},{a+},{c+},{f})}
CASE({G+m7-5}){ZZA=({g+},{b},{d},{f+})}
CASE({A6}){ZZA=({a},{c+},{e},{f+})}
CASE({A+6}){ZZA=({a+},{d},{f},{g})}
CASE({B6}){ZZA=({b},{d+},{f+},{g+})}
CASE({C6}){ZZA=({c},{e},{g},{a})}
CASE({C+6}){ZZA=({c+},{f},{g+},{a+})}
CASE({D6}){ZZA=({d},{f+},{a},{b})}
CASE({D+6}){ZZA=({d+},{g},{a+},{c})}
CASE({E6}){ZZA=({e},{g+},{b},{c+})}
CASE({F6}){ZZA=({f},{a},{c},{d})}
CASE({F+6}){ZZA=({f+},{a+},{c+},{d+})}
CASE({G6}){ZZA=({g},{b},{d},{e})}
CASE({G+6}){ZZA=({g+},{c},{d+},{f})}
*/