/*

配列と乱数による環境音



慣らし材料替わり。

*/
//------------------------------------------------------------------------------

//音階の代わり
Array Notes
Notes(0)=("r")
Notes(1)=("c")
Notes(2)=("d")
Notes(3)=("e-")
Notes(4)=("f")
Notes(5)=("g")
Notes(6)=("a-")
Notes(7)=("b-")

//和音
Array Chd
Chd(0)=("r")
Chd(1)=("'cg>ce-<'")
Chd(2)=("'da->df<'")
Chd(3)=("'e-b->e-g<'")
Chd(4)=("'f>cfa-<'")
Chd(5)=("'<g>dfb'")
Chd(6)=("'<a->e-a->c<'")
Chd(7)=("'<b->fb->d-<'")

//低音
Array Bs
Bs(0)=("r")
Bs(1)=("c")
Bs(2)=("d")
Bs(3)=("e-")
Bs(4)=("f")
Bs(5)=("<g>")
Bs(6)=("<a->")
Bs(7)=("<b->")

Int I
Str Buffer

//------------------------------------------------------------------------------

//演奏用

ResetGM 

/*

//比較用
[8

    TR(1) @77 o5 [4 l4 [4 Buffer=Buffer+Notes(Random(0,7)) ] Buffer=Buffer+" " ] Print("TR(1) "+Buffer) Buffer Buffer=""//ノート
    TR(2) @4  o4 [4 l1    Buffer=Buffer+Chd(Random(1,7))     Buffer=Buffer+" " ] Print("TR(2) "+Buffer) Buffer Buffer=""//和音
    TR(3) @34 o3 [4 l2 [2 Buffer=Buffer+Bs(Random(1,7)) ]    Buffer=Buffer+" " ] Print("TR(3) "+Buffer) Buffer Buffer=""//低音

    Print("")

]

*/

//リピート指定
[16

    //数値を振る
    I=Random(1,7)

    /*
    //ノート
    TR(1)@72 CHO(0) REV(0) v90 o5 l4
    [4
        //Iの値で分岐
        Switch(I){
        Case(1){Buffer=Buffer+Notes(RandomSelect(1,3,5,0))}//文字列に連結
        Case(2){Buffer=Buffer+Notes(RandomSelect(2,4,6,0))}
        Case(3){Buffer=Buffer+Notes(RandomSelect(3,5,7,0))}
        Case(4){Buffer=Buffer+Notes(RandomSelect(4,6,1,0))}
        Case(5){Buffer=Buffer+Notes(RandomSelect(5,7,2,0))}
        Case(6){Buffer=Buffer+Notes(RandomSelect(6,1,3,0))}
        Case(7){Buffer=Buffer+Notes(RandomSelect(7,2,4,0))}
        Default{Buffer=Buffer+"r"}
        }

    ]
    
    //Print(Buffer)//表示
    Buffer//演奏
    Buffer=""//空文字列でクリア
    */

    //和音
    TR(2)@4 CHO(0) REV(0) v64 o4 l1
    [1
        Buffer=Buffer+Chd(I)
    ]
    //Print(Buffer)
    Buffer
    Buffer=""

    //低音
    TR(3)@34 CHO(0) REV(0) v90 o3 l4
    [4
        Switch(I){
        Case(1){Buffer=Buffer+Bs(RandomSelect(1,5))}
        Case(2){Buffer=Buffer+Bs(RandomSelect(2,6))}
        Case(3){Buffer=Buffer+Bs(RandomSelect(3,7))}
        Case(4){Buffer=Buffer+Bs(RandomSelect(4,1))}
        Case(5){Buffer=Buffer+Bs(RandomSelect(5,2))}
        Case(6){Buffer=Buffer+Bs(RandomSelect(6,3))}
        Case(7){Buffer=Buffer+Bs(RandomSelect(7,4))}
        Default{Buffer=Buffer+"r"}
        }

     ]
     //Print(Buffer)
     Buffer//演奏させて確認
     Buffer=""//空文字列でクリア

     //Print("")

    TR(10)
    [4 o3 l4 d-] //Click

]

//------------------------------------------------------------------------------