System.Include(stdmsg.h);
System.MeasureShift(1);
ResetGM();
TimeSignature = 5,4;
TrackSync;
TrackName={"メロディ風鈴５拍子改"};
Copyright={"森と泉"};
System.TimeBase=96;
Str Am={[10 'ace']};Str C7={[10 'cega+']};Str Cm={[10 'cd+g']};Str Cx7={[10 'c+fg+b']};
Str Dm={[10 'dfa']};Str D7={[10 'df+ac']};Str Dxm={[10 'd+f+a+']};Str Dx7={[10 'd+ga+c+']};
Str Em={[10 'egb']};Str E7={[10 'eg+bd']};Str Fm={[10 'fg+c']};Str F7={[10 'facd+']};
Str Gm={[10 'ga+d']};Str G7={[10 'gbdf']};Str B={[10 'bd+f+']};Str Gx7={[10 'g+cd+f+']};
Str C={[10 'ceg']};Str Dm7={[10 'dfac']};Str F={[10 'fac']};Str Caug={[10 'ceg+']};
Str Gx={[10 'g+cd+']};Str Gaug={[10 'gbd+']};Str A7={[10 'ac+eg']};Str Cdim={[10 'cd+f+a']};
Str Ax7={[10 'a+dfg+']};Str Cxdim={[10 'c+ega+']};Str B7={[10 'bd+f+a']};Str Gdim={[10 'ga+c+e']};
Str Ax1={a+8a+a+8a+a+a+};Str A1={a8aa8aaa};Str B1={b8bb8bbb};Str C1={c8cc8ccc};
Str Cx1={c+8c+c+8c+c+c+};Str D1={d8dd8ddd};Str Dx1={d+8d+d+8d+d+d+};Str E1={e8ee8eee};
Str F1={f8ff8fff};Str G1={g8gg8ggg};Str Gx1={g+8g+g+8g+g+g+};
Tempo=120;
TR=1 CH=1 @12 q98 V(120) P(64) o5 r1^4 l8 v100 TrackKey=6 P.onNoteWave((32,96,!4)) |
l32o4v120g^^o5v100ec^^^^^^^^^o6v80c^^o5v100g^co4v120g^o5v100e^g^^c^^^^^ee^^e^^ |
l4o4v120d+aao5v100co4v120f+& |
l8f+^c^cdcd^a& | agfgfbgd^g | ec^cceeccc& |
l16ceg^g^g^b^bg^^ee^eg^ |
l32a^^^o5v100d^f^a^ao6v80d^^^^o5v100f^o6v80df^^af^^^o5v100dd^o4v120a^^^^^^^^^ |
l4o5v100do4v120bffg& |
l16g^o5v100e^^o6v80ccc^^^cc^eee^gg |
l8e^gaeeec+ea& |
l16a^^d^dccf+^c^o5v100cf+f+^^^af+ |
l8fo4v120bo5v100c+fg+o6v80c+^o5v100bg+b |
l32o6v80e^^ce^ee^e^co5v100g^o6v80e^^^^^^^o5v100g^o6v80ceg^g^egg^c^^ee^& |
l8eo5v100bgbb^o6v80geeo5v100b |
l4o6v80eceee |
l8aecc^o5v100aeeee& | ef^^aaf^a^ |
l32o4v120b^^b^^^b^o5v100ee^^^^^^^^o4v120bb^e^^^e^^^^^^^^^^^^^& |
l4eo5v100co4v120g+g+^& | g+ao5v100co4v120aa | gggdd |
l8egegg^ggo5v100co4v120g |
l4aa^aa& |
l8aa+ee^ea+o5v100eg^ |
l16fo4v120bgg^b^f^d^dg^fgff^o5v100f | e^^c^gg^^^o6v80co5v100go6v80c^^g^^eg& |
l8gga+ga+gc+c+o5v100a+e | gdfdgfgdfb |
l16o6v80cco5v100go6v80co5v100g^go6v80cc^ceggegeg^e |
l8o5v100bo6v80do5v100bbo6v80ed^o5v100bo6v80eg+& | g+gg^ggegg^ | aaf+f+^cf+d^c | fco5v100aa^o6v80cco5v100afd | dgggb^b^^o6v80b& |
l4bgeco5v100g |
l16a^o6v80cco5v100a^^^dcco4v120a^f+cc^^^^ |
l4ddfbo5v100d |
l8go6v80cegggg^ge | ggg^ga+ggd+g | d^o5v100f+a^o6v80f+d^f+f+& |
l4f+fbgf& |
l8fg^eco5v100gecee |
l32ceco4v120a^^^ao5v100co4v120ao5v100ceao6v80c^^^aa^^^e^a^^^^^e^e^^^^^^e | a+^^^^^e^^gg^^^^a+^e^a+ga+ec+^^^^^c+o5v100a+o6v80c+^^o4v120gee^^^ |
l8fddgfdf^f^ | ce^^g^o5v100eecc | o4v120bbo5v100ddgbffbo6v80f | eeg^eccco5v100ge& |
l32e^e^eeg^^^egg^o6v80c^^^^^^^^^^^^o5v100g^^^o6v80e^^^^^^^o5v100c& | cdd^g^^^^^^^bf^o4v120b^^^^^^o5v100gf^^gg^bf^bo6v80d^o5v100b^o6v80d^b |
l8gge^ccceee |
l4o5v100bb^o6v80f+d+& |
l32d+c^o5v100g^g^^^^^^e^o4v120g^^g^^^^eg^e^g^^^eec^^ce^c | ccd+g+d+^^^o5v100c^^c^^co4v120g+^^o5v100co4v120g+^^o5v100c^^o4v120g+^^g+^^^g+o5v100c^^^^c^& |
l16co4v120bo5v100do4v120b^^d^g^^dg^gddgg^ |
l8o5v100c^co4v120go5v100ccco4v120geg |
TR=2 CH=2 @33 q98 V(100) P(32) o3 r1^4 l4 v100 v.onNote(80,90,80,90,100,110) TrackKey=6
 C1 C1 D1 G1 C1 E1 D1 G1 C1 A1 D1 Cx1 C1 E1 C1 A1 D1 E1 C1 F1 G1 C1 A1 Cx1 G1
 C1 Cx1 G1 C1 E1 A1 D1 D1 G1 C1 D1 G1 C1 Dx1 D1 G1 C1 A1 Cx1 G1 C1 G1 C1 C1 G1
 C1 B1 C1 Gx1 G1 C1
TR=3 CH=3 @25 q33 V(50) P(96) o6 r1^4 l8 v80 TrackKey=6
//v.onCycle(!8,40,60,40,60,40,70,40,80,40,90)
v.N(40,40,40,40,60,60,60,60,40,40,40,40,60,60,60,60,40,40,40,40,70,70,70,70,40,40,40,40,80,80,80,80,40,40,40,40,90,90,90,90)
 C Cdim Dm7 G7 C Em Dm G7 C A7 D7 Cx7 C Em Caug Am Dm Em Caug F G7 C Am Cxdim G7
 C Cxdim G7 C E7 A7 D7 Dm7 G7 C D7 G7 C Dx7 D7 G7 C Am Cxdim G7 C G7 C C G7
 C B C Gx G7 C
TR=8 CH=10 l16 V(70) P(80) o3  [58 cr8.r4crcrr4 cr8.]
TR=9 CH=10 l16 V(70) P(80) o3  [58 [2 r4dr8.]dr8.]
TR=10 CH=10 l32 V(70) P(80) o3 [58[20 f+r]]//56Codes


//先頭からここまではサンプル曲(ピコサクラ対応)です。
//メロディ風鈴本体(ピコサクラ未対応)を使う場合は先頭から次行の/*までを消して下さい。
/*


Int AA;Int A9;        //音番号、旧の音番号（o5cはn60です）
Int N;Int N9; Int NX; //コード、旧のコード、次コード
Int BB;               //1小節内何番目の音
Int CC;               //音長
Int CZ;               //旧音長
Int CX;               //1小節内の音符数CC=4の場合CX=5など
Int DD;               //何小節目
Int DDD;              
Int EE;               //c,c+,d,d+,e,f…を0,1,2,3,4,5…で表した数字
Int E9;             　//上記の旧の値
Int GG;               //前後の音の高さの差をチェックする回数
Int GG1=100;          //上記回数の最大値。これを超えてしまったらそのまま鳴らす。
Int Z=6;              //前後の音の高さの差を半音何個以内に制限。
Int W;                //タイ率
Int OO;               //オクターブ
Int OO9=5;            //旧オクターブ
Int SL=0;             //小節間タイ
Str PP;               //音符またはオクターブ付き音符
Str P9;               //前回の音符またはオクターブ付き音符
Array AR=({c},{c+},{d},{d+},{e},{f},{f+},{g},{g+},{a},{a+},{b})
Array VE=(,,,,{o4v120},{o5v100},{o6v80}) //オクターブとベロシティ
Str MD;               //MelodyMML
Str MC;               //ギターMML
Str MB;               //ベースMML
Str BR2="
";                    //改行
Str MML2;             //MML
MML2={"System.Include(stdmsg.h);
System.MeasureShift(1);
ResetGM();
TimeSignature = 5,4;
TrackSync;
TrackName={"メロディ風鈴５拍子改"};
Copyright={"森と泉"};
System.TimeBase=96;"}+BR2;

MML2=MML2+"Str Am={[10 'ace']};Str C7={[10 'cega+']};Str Cm={[10 'cd+g']};Str Cx7={[10 'c+fg+b']};
Str Dm={[10 'dfa']};Str D7={[10 'df+ac']};Str Dxm={[10 'd+f+a+']};Str Dx7={[10 'd+ga+c+']};
Str Em={[10 'egb']};Str E7={[10 'eg+bd']};Str Fm={[10 'fg+c']};Str F7={[10 'facd+']};
Str Gm={[10 'ga+d']};Str G7={[10 'gbdf']};Str B={[10 'bd+f+']};Str Gx7={[10 'g+cd+f+']};
Str C={[10 'ceg']};Str Dm7={[10 'dfac']};Str F={[10 'fac']};Str Caug={[10 'ceg+']};
Str Gx={[10 'g+cd+']};Str Gaug={[10 'gbd+']};Str A7={[10 'ac+eg']};Str Cdim={[10 'cd+f+a']};
Str Ax7={[10 'a+dfg+']};Str Cxdim={[10 'c+ega+']};Str B7={[10 'bd+f+a']};Str Gdim={[10 'ga+c+e']};
Str Ax1={a+8a+a+8a+a+a+};Str A1={a8aa8aaa};Str B1={b8bb8bbb};Str C1={c8cc8ccc};
Str Cx1={c+8c+c+8c+c+c+};Str D1={d8dd8ddd};Str Dx1={d+8d+d+8d+d+d+};Str E1={e8ee8eee};
Str F1={f8ff8fff};Str G1={g8gg8ggg};Str Gx1={g+8g+g+8g+g+g+};"+BR2;

N9=1;A9=60;MD={};MC={};MB={};
FOR(DD=0; DD<100; DD++){           //100小節以内演奏する
IF(DD==0){N=5;}ELSE{N=NX;}         //1小節目はC、2小節以降は次コード(NX)から始める
CC=RandomSelect(4,4,8,8,8,8,16,16,32)  //音符
CX=CC+CC/4            //1小節内の音符数CC=4→CX=5、 CC=8→CX=10、 CC=16→CX=20、 CC=32→CX=40
W=CC*2;              //タイ率(音符が短いほど大) 4分音符は8%、32分音符は64％

IF(Random(2)=0 & DD!=0){MD=MD+"&";SL=1}ELSE{SL=0}  //小節間タイ率はここでは50％
IF(CZ!=CC){MD=MD+" |"+BR2+"l"+CC;}ELSE{MD=MD+" | ";}

SWITCH(N){ 
CASE(0){MB=MB+" Ax1" MC=MC+" Ax7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(58,70,82,50,62,74,53,65,77,56,68,80);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(5,1);}
CASE(1){MB=MB+" A1" MC=MC+" A7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(57,69,81,49,61,73,52,64,76,55,67,79);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(14,15,11);}
CASE(2){MB=MB+" A1" MC=MC+" Am" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(57,69,81,48,60,72,52,64,76);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(2,15,18,14,7,23);}
CASE(3){MB=MB+" B1" MC=MC+" B" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(59,71,83,51,63,75,54,66,78);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(5);}
CASE(4){MB=MB+" B1" MC=MC+" B7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(59,71,83,51,63,75,54,66,78,57,69,81);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(15,18,17,0);}
CASE(5){MB=MB+" C1" MC=MC+" C" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(48,60,72,52,64,76,55,67,79);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(5,5,24,19,2,2,10,26,7,3,25,14,1,8,21,20,0,27,4,9,17,12,18,15,22,13,23);}
CASE(6){MB=MB+" Cx1" MC=MC+" Cx7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(49,61,73,53,65,77,56,68,80,59,71,83);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(5);}
CASE(7){MB=MB+" Cx1" MC=MC+" Cxdim" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(49,61,73,52,64,76,55,67,79,58,70,82);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(15,24,16);}
CASE(8){MB=MB+" C1" MC=MC+" C7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(48,60,72,52,64,76,55,67,79,58,70,82);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(19,21,20,4);}
CASE(9){MB=MB+" C1" MC=MC+" Caug" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(48,60,72,52,64,76,56,68,80);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(19,2);}
CASE(10){MB=MB+" C1" MC=MC+" Cdim" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(48,60,72,51,63,75,54,66,78,57,69,81);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(24,16,5);}
CASE(11){MB=MB+" C1" MC=MC+" Cm" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(48,60,72,51,63,75,55,67,79);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(14);}
CASE(12){MB=MB+" Dx1" MC=MC+" Dx7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(51,63,75,55,67,79,58,70,82,49,61,73);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(16,14);}
CASE(13){MB=MB+" Dx1" MC=MC+" Dxm" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(51,63,75,54,66,78,58,70,82);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(15);}
CASE(14){MB=MB+" D1" MC=MC+" D7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(50,62,74,54,66,78,57,69,81,48,60,72);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(24,16,6);}
CASE(15){MB=MB+" D1" MC=MC+" Dm" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(50,62,74,53,65,77,57,69,81);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(24,4,18,5,17,6);}
CASE(16){MB=MB+" D1" MC=MC+" Dm7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(50,62,74,53,65,77,57,69,81,48,60,72);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(24);}
CASE(17){MB=MB+" E1" MC=MC+" E7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(52,64,76,56,68,80,59,71,83,50,62,74);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(17,1,1);}
CASE(18){MB=MB+" E1" MC=MC+" Em" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(52,64,76,55,67,79,59,71,83);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(9,2,15);}
CASE(19){MB=MB+" F1" MC=MC+" F" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(53,65,77,57,69,81,48,60,72);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(19,5,24,21,24);}
CASE(20){MB=MB+" F1" MC=MC+" F7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(53,65,77,57,69,81,48,60,72,51,63,75);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(5);}
CASE(21){MB=MB+" F1" MC=MC+" Fm" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(53,65,77,56,68,80,48,60,72);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(5,24);}
CASE(22){MB=MB+" Gx1" MC=MC+" Gx" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(56,68,80,48,60,72,51,63,75);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(24);}
CASE(23){MB=MB+" Gx1" MC=MC+" Gx7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(56,68,80,48,60,72,51,63,75,54,66,78);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(24,15,5);}
CASE(24){MB=MB+" G1" MC=MC+" G7" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(55,67,79,59,71,83,50,62,74,53,65,77);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(5);}
CASE(25){MB=MB+" G1" MC=MC+" Gaug" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(55,67,79,59,71,83,51,63,75);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(5);}
CASE(26){MB=MB+" G1" MC=MC+" Gdim" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(55,67,79,58,70,82,49,61,73,52,64,76);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(24);}
CASE(27){MB=MB+" G1" MC=MC+" Gm" FOR(BB=0; BB<CX; BB++){
        IF(SL=1){MD=MD+P9;SL=0} ELSE{FOR(GG=0; GG<GG1;GG++)        
        {AA = RandomSelect(55,67,79,58,70,82,50,62,74);IF((AA-A9)*(AA-A9)<=Z*Z){EXIT;}}
        IF(Random(100)<W&BB!=0){PP="^"}
        ELSE{OO=AA/12;EE=AA-OO*12;E9=EE;P9=AR(EE);IF(OO==OO9){PP=P9}ELSE{PP=VE(OO)+P9}}
        A9=AA;MD=MD+PP;OO9=OO;}}NX=RandomSelect(1);}
DEFAULT{r1}}

CZ=CC;
IF(DD==24|DD==49|DD==74){MB=MB+BR2;MC=MC+BR2;}
IF(DD>50 & N==5 & N9==24){DD++;EXIT;}   //50小節以上でG7→Cとなったら終了
N9=N;}

DDD=DD+2
MML2=MML2+"Tempo=120;
TR=1 CH=1 @12 q98 V(120) P(64) o5 r1^4 l8 v100 TrackKey=6 P.onCycle(!4,64,84,64,44)"
MML2=MML2+MD+" |"+BR2
MML2=MML2+"TR=2 CH=2 @33 q98 V(100) P(32) o3 r1^4 l4 v100 v.onNote(80,90,80,90,100,110) TrackKey=6"+BR2
MML2=MML2+MB+BR2
MML2=MML2+"TR=3 CH=3 @25 q33 V(50) P(96) o6 r1^4 l8 v80 v.onCycle(!8,40,60,40,60,40,70,40,80,40,90) TrackKey=6"+BR2
MML2=MML2+MC+BR2
MML2=MML2+"TR=8 CH=10 l16 V(70) P(80) o3  ["+DDD+" cr8.r4crcrr4 cr8.]"+BR2
MML2=MML2+"TR=9 CH=10 l16 V(70) P(80) o3  ["+DDD+" [2 r4dr8.]dr8.]"+BR2
MML2=MML2+"TR=10 CH=10 l32 V(70) P(80) o3 ["+DDD+"[20 f+r]]"
MML2;
MML2=MML2+"/"+"/"+DD+"Codes";
Print(MML2);
