MetaText  ={"                                                  '小品集  6分 31秒'"} 
Copyright ={"庚申works"}



//	　取扱説明書
//
//	allは全て流して演奏します　ナンバーでは区切りごとに演奏できます。

	#NUM="all" // [1,2,3,4,5,all]

//	※構造化エディタ対応です。
//	TW,sakura,GS可
//
//	TWで調整しているため、できたらTW推奨

 
/* 

 -- 簡単な履歴と説明

 蔵出し品集です。


 ■疑似2相コーラス '12 5
　ピッチを動かしてコーラスにしてます、この時期はサクラのことが、
　あまり良く分かっていなかったので、明らかに指定がおかしい。

 □メジャーブルース '14 8
　トーナリティと倍音列を裏付けるためにつくったスケッチの一つです。

 □マイナーブルース '14 8
　ちゃんとした伴奏の曲、3連を意識しています。メロだけはブルーススケールから自動選択、
　ドラムは、シャッフルビートでほとんどポーカロのマルパクです。


 ■ディストーションパッド '12 10
　@30の音でパッドにしてみようと、偶然に生み出された産物のひとつです。

 □モード提示 '14 1
　ベロベロ音楽理論のモード編を参考に、サイコロを振るように、
　キー変更、モード選択するようにした曲です。


 ■lab_sine '12 8
　サイン波でボーカルを目指したもの、あまりうまくいっていない。

 □ステップサンプラー '12 12
　チップチューンに興味を持った初期に試しにつくった曲です。


 ■ピッチベンドエンジン '12 2
　小工場のイメージスケッチ、中にいると実際こんな感じです。

 □Cyc5th アルゴリズム '14 2
　リディアンクロマティックコンセプトに基づいた五度圏システムで、
　自動的に曲を生成する仕組みで動いてます。


 ■ブロックコード '14 11
　一番最近つくってたものです、ブロックコードの半音スライドテストのため。

 □kanon_RythmGt '13 10
　交流掲示板のカノン企画の際に、つくったスケッチ、
　メロが途中で終わっています。

*/
 
Function Reseter(Array AA){ 

 Time=Time+(!8) TrackSync Key=0
 For(Int i=0; i<=16; i++){
  TR=i
  @1,0,0 l4 v100 o5 q80 t0 p%=0
  TrackKey=0 BR=2 EP=127 V=111 P=64 M=0 REV=33 CHO=0
  Time=Time+(!2^8)
 } //
 TR=1
} //func
 
Include(gs.h)	ResetGS()r4 
CH=10	GS_RHYTHM(1)r8
CH=11	GS_RHYTHM(1)r8
CH=12	GS_RHYTHM(1)r8

SysEx$ = F0,41,10,42,12,{40,00,00,00,02,0C,02},F7;r48 //MASTER TUNE 432Hz auto chksum Vn

//	TW-Music2(DirectX[Music]) Effect
//	      ReverbSetting     Time Dpth High Mix
   	CuePoint={"TwmParam	( 99,  77, 22, 88)"}	//初期値(127,117,0,127)

//	       ChorusSetting    Wave  Mix Dpth  FB Freq Dly Phs
	CuePoint={"TwmChorus	( 1,   44,  66, 111, 66,111,  1)"}	//初期値(0,64,25,79,14,114,3)


TimeBase=192
	
If(#NUM=="1"|#NUM=="all"){ Reseter() 
  
TrackName ={"疑似2相コーラス / ピッチテスト"} 
Lyric={""}
Tempo=100
	
Int DelayTime=15 // [0.1m/s] 
Int DelayStep=DelayTime*Tempo*TimeBase/60/10000;
//Print(DelayStep)

Int RtyTime=1;

#DATA={	EP.onNoteWaveEx(0,127,!6);		//タイムエクスプレッション
	M.onNoteWaveEx(0,24,!12);		//タイムモジュレーション

	l1
	Sub{r%4'ceg'^^^ 'cfg'^^^ 'ceg''cd#g''cfg''ceg' ^^^^}
	Sub{r%2'ceg'^^^ 'cfg'^^^ 'ceg''cd#g''cfg''ceg' ^^^^}
	Sub{r%1'ceg'^^^ 'cfg'^^^ 'ceg''cd#g''cfg''ceg' ^^^^}
	    'ceg'^^^ 'cfg'^^^ 'ceg''cd#g''cfg''ceg' ^^^^
	} //

TR=1 @53,32
FineTune=64	//[42-52-58-64-70-76-96]
//P.WR(127,0,!3*RtyTime, 0,127,!3*RtyTime)
P=0
V=127
//EP.WR(127,100,!3*RtyTime, 100,127,!3*RtyTime)
BR(6)
p%.WR(-400,400,!%8,400,-400,!%1)
#DATA

TR=2 @53,32
FineTune=64 P=64 V=127
//t(DelayStep)
V=127
#DATA

TR=3 @53,32
FineTune=64	//[42-52-58-64-70-76-96]
//P.WR(0,127,!4*RtyTime, 127,0,!4*RtyTime)
P=127
V=127
//EP.WR(100,127,!4*RtyTime, 127,100,!4*RtyTime)
BR(6)
p%.WR(300,-300,!%1,-300,300,!%8)
//t(DelayStep)
#DATA


 
Reseter() 
  
TrackName ={"メジャーブルース / スケッチ"} 
Lyric={""}
TR=1 Tempo=131
	
TR=2 @6 o5 TrackKey=-3 // Key inA 
TR=1 @5 o5 TrackKey=-3 // Key inA
#FLM={  TR=2 l12 [ cde- ega   :>]< } //Major Blues
#FLm={  TR=2 l12 [ ce-f g-gb- :>]< } //Minor Blues
#FLc={  TR=2 l12 b-ab- d-cd- ee-e gf#g } //Comb.dim
#CHD7={ TR=1 l3  'ceb-`e-' ^'ceb-`e-'  } // I7#9
#CHDm={ TR=1 l3  'ce-b-'^'ce-b-' } // Im7

Lyric={"I7#9  / Major Blues"} Key=0   #CHD7 Key=0  #FLM
Lyric={"IV7#9 / Minor Blues"} Key=-7  #CHD7 Key=5  #FLm
Lyric={"I7#9  / Minor Blues"} Key=0   #CHD7 Key=0  #FLm
Lyric={"I7#9  / Minor Blues"} Key=0   #CHD7 Key=0  #FLm

Lyric={"IV7#9 / Major Blues"} Key=5   #CHD7 Key=5  #FLM
Lyric={"IV7#9 / Minor Blues"} Key=-7  #CHD7 Key=5  #FLm
Lyric={"I7#9  / Minor Blues"} Key=0   #CHD7 Key=0  #FLm
Lyric={"I7#9  / Minor Blues"} Key=-12 #CHD7 Key=0  #FLm

Lyric={"IIm7  / Minor Blues"} Key=-10 #CHDm Key=2  #FLm
Lyric={"V7#9  / Minor Blues"} Key=-5  #CHD7 Key=-2 #FLm
Lyric={"I7#9  / Major Blues"} Key=0   #CHD7 Key=0  #FLM
Lyric={"V7#9  / Comb.dim   "} Key=-5  #CHD7 Key=7  #FLc


 
Reseter() 
  
TrackName ={"マイナーブルース / シャッフル"} 
Lyric={""}
Tempo=131
	
/*	Im7	Im7	Im7	Im7 
	IVm7	IVm7	Im7	Im7
	IIm7b5	V7	Im7	Im7

 Call & Res.

*/
 
TR=1 r-32 r64 @6,16 V=126 o5 REV=22 TrackKey=-3 // Key inA 
TR=2 r-48 r%2 r32  @19,0 V=100  o6
TR=9 r64 r%-8  @88,0 V=115 o3 REV=11 TrackKey=-3 // Key inA
TR=10 r-96  @9 V=124 REV=90
TR=11 r-96  @9 V=44  REV=30
 
TR=10 Key=0 

Function Sk(Str TT,""){ TT.s(x,{n31,,,77 }) DR(TT) }

Function DR(Str TT,""){
 Array RR=( TR,Time ) TT;
 TR=(RR(0)+1) Time=(RR(1)+(!96)) TT; TR=RR(0)
} //func

Function Cn(Str TT,""){ //Cyn
 TT.s(z,{n57,,,88 }) TT.s(Z,{n49,,,126})
 TT.s(x,{n59,,,77 }) TT.s(X,{n51,,,101})
 DR(TT)
} //func

Function Hh(Str TT,""){
 TT.s(w,{n46,,,88 }) TT.s(W,{n46,,,126})
 TT.s(z,{n44,,,111}) TT.s(Z,{n44,,,126})
 TT.s(x,{n42,,,66 }) TT.s(X,{n42,,,116})
 DR(TT)
} //func

Function Sn(Str TT,""){ TT.s(x,{n40,,,45 }) TT.s(X,{n38,,,120}) DR(TT) }
Function Bd(Str TT,""){ TT.s(x,{n35,,,111}) TT.s(X,{n36,,,126}) DR(TT) }



Sub{ t0  Sk({ l4 xxxx }) }
l4 rrrr [3 r-16]
Sub{ t-2 Cn({ l16 rrz | Z }) }
Sub{ t0  Sn({ l16 rxX | r }) }
l16 rrr

Array RT=(RT,Time)


[
[6
Sub{ t1  Hh({ l12 [ xrX xrx xrX xrx ] }) }
Sub{ t1  Bd({ l12   Xrr rrx rrr rXr  rrr xrr Xrr rrx }) }
Sub{ t0  Sn({ l12 [ rxx rxx Xrx rrx ] }) }
r1^1
] : t-2 Cn({ l12 | z r- })
]   t-2 Cn({ l12 | Z r- })

t0 Sn({ l12 [6 r- ] rrr  XXr })

[6
Sub{ t-2 Cn({ l6    Xx xx Xx  xx Xx xx }) }
Sub{ t1  Hh({ l12   zrw xrr zrr zrr  zrr zrr zrr zrr }) }
Sub{ t1  Bd({ l12   Xrr rrx rrr rXr  rrr xrr Xrr rrx }) }
Sub{ t0  Sn({ l12 [ rrx rrx Xrx rrx ] }) }
r1^1
]   t-2 Cn({ l12 | z r- })

 
TR=1 l6 v116 q90 

 Function Kb(Str TT,""){ //l4 'ceg'^^x 'cdg'^^x

  TT=TT+{_Fin}; Int NN= POS({_Fin},TT)

  Str XX; Str ZZ; Str DD; Str OUT; Int SW=0; Int SX=0
  For(Int i=1; i< NN; i++){

   XX=MID(TT,i,1) // i=1~

   Switch(XX){
    Case("'"){ SW++ } // 'ceg'
   } //sw

   If(SW!=SX){ SX=SW
    Switch(SW){
     Case(1){ DD.s(x, ZZ) OUT=OUT+DD; ZZ=""; DD="x" } // 1cycle delay
    } //sw
   }

   Switch(SW){
    Case(0){ DD=DD+ XX }
    Case(1){ ZZ=ZZ+ XX }
    Case(2){ ZZ=ZZ+ XX; SW=0 }
   } //sw

  } //
  DD.s(x, ZZ) OUT=OUT+DD

  OUT; // l4 'ceg'^^'ceg' 'cdg'^^'cdg'
 } //func

Time=RT(0)


 Kb({ Lyric="Im7"   Key=0  r48 'e-b-' ^^ ^ r-48 rr })
 Kb({ Lyric="IVm7"  Key=-7 'e-b-'^^ rr^ })
 Kb({ Lyric="Im7"   Key=0  'e-b-'^^ rx^ })
 Kb({ Lyric="I7#9"  Key=0  'eb-`e-'^^ ^^r })

 Kb({ Lyric="IVm7"  Key=-7 'e-b-'^^ rx^ })
 Kb({ Lyric="IVm7"  Key=-7 'e-b-'^^ rr^ })
 Kb({ Lyric="Im7"   Key=0  'e-b-'^^ ^x^ | ^96 })
 Kb({ Lyric="Im7/IIIb" Key=0  '"e-gb-'^^ r-96 rrr })

 Kb({ Lyric="IIm7b5" Key=2 'e-g-b-'^^ rr^ })
 Kb({ Lyric="V7"    Key=-5 'eb-'^^ rr^ })
 Kb({ Lyric="Im69"  Key=0  'e-a`d' ^^ ^'e-a-`d'^ | ^'e-a--`d'^^ 'e-a---`d'^ })


 Kb({ Lyric="Im7"   Key=0  r48 'e-b-' ^^ ^ r-48 rr })
 Kb({ Lyric="Im7"   Key=-7 'e-b-'^^ r Key=5 x^ })
 Kb({ Lyric="Im7"   Key=0  'e-b-'^^ rr^ })
 Kb({ Lyric="Vb7#9" Key=-6 'eb-`e-'^^ ^^r })

 Kb({ Lyric="IVm7"  Key=-7 'e-b-'^^ rr^ })
 Kb({ Lyric="IVm7"  Key=-7 'e-b-'^^ r Key=5 x^ })
 Kb({ Lyric="Im7"   Key=0  'e-b-'^^ ^x^ | ^96 })
 Kb({ Lyric="Im7/IIIb" Key=0  '"e-gb-'^^ r-96 rrr })

 Kb({ Lyric="VIbM7" Key=-4 'eb'^^ rr^ })
 Kb({ Lyric="IVm7/V" Key=-7 'e-b-"g'^^ r Key=5 x^ }) //"a-e-
 Kb({ Lyric="V7/IV"  Key=7  'eb-"f'^^ rx^ })
 Kb({ Lyric="IIm7b5" Key=2 'e-g-b-'^^r r-96 }) //fa-c
 Kb({ Lyric="IIb7"  Key=1  'eb-'^^96 }) //fb 裏7



 Kb({ Lyric="Im7"   Key=0  r48 'e-b-' r^ ^ r-48 rr })
 Kb({ Lyric="Im7"   Key=-7 r^^ r'e-b-'^ })
 Kb({ Lyric="Im7"   Key=0  'e-b-'r^ rr^ })
 Kb({ Lyric="Im7"   Key=0  r^^ r'e-b-'r })

 Kb({ Lyric="IVm7"  Key=-7 r^^ rr^ })
 Kb({ Lyric="IVm7"  Key=-7 r^^ r'e-b-'^ })
 Kb({ Lyric="Im7"   Key=0  'e-b-'r^ ^r^ | ^96 })
 Kb({ Lyric="Im7/IIIb"  Key=0  r^^ r-96 r'"e-gb-'r })

 Kb({ Lyric="VIb7#9" Key=-4 'eb-`e'^r rr^ })
 Kb({ Lyric="V7/IV" Key=-5 r^^ r'eb-"f'^  })
 Kb({ Lyric="Im4C"   Key=0  'gcf'^^ l12 Key=1 x^^ ^^^ | ^^^  Key=2 q91 x^^ Key=3 q94 x^^ Key=4 q97 x^^ q88 l6 })


 // Kb({ Lyric="IVm7"  Key=5   'e-b-'^^ rx^ })
 // Kb({ Lyric="V7#9"  Key=-5  'eb-`e-'^^ ^^^ })

 
TR=2 l12 v77 q144 REV=11 

Array QQ; Array LL; Array PP;
QQ(0)={ ["acd  e-eg :>]< } //min.blues
//        121  4 02
QQ(1)={ [gee-  dc"a :>]< }
QQ(2)={ [e-eg  "acd :<]> }
QQ(3)={ [dc"a  gee- :<]> }

PP(0)={ [abc  d-eg-:<]> } // maj.blues
//
LL(0)={ Key=(-5+3)  "a"bc def g#fe dc"b } //A Hm -> E HmP5B -> G HmP5B
//              eg-g abc e-
LL(1)={ Key=-5 b-ab- d-cd- ee-e gf#g } // Comb.dim

Function FL(Array RR){
 Int NN= Random(SizeOf(RR))
 Str TT= RR(NN)
 TT;
} //

Time=RT(0)

 TrackKey=-5

Key=0 FL(QQ)
Key=5 FL(QQ)
Key=0 FL(QQ) TrackKey=0
Key=0 FL(QQ)

Key=5 FL(QQ)
Key=5 FL(QQ)
Key=0 FL(QQ)
Key=0 FL(QQ)

Key=0 FL(QQ)
Key=-2 FL(QQ) TrackKey=-5 // Alt.
Key=0 FL(QQ)
      FL(LL) // HmP5B Comb.dim

 TrackKey=-5

Key=0 FL(QQ)
Key=5 FL(QQ)
Key=0 FL(QQ) TrackKey=0
Key=0 FL(QQ)

Key=5 FL(QQ)
Key=5 FL(QQ)
Key=0 FL(QQ)
Key=0 FL(QQ)

Key=0 FL(QQ)
Key=-2 FL(QQ) TrackKey=-5 // Alt.
Key=0 FL(QQ)
FL(LL) // HmP5B Comb.dim


v80 TrackKey=7

Key=0 FL(QQ)
Key=5 FL(QQ)
Key=0 FL(QQ)
Key=0 FL(QQ)

Key=5 FL(QQ)
Key=5 FL(QQ)
Key=0 FL(QQ)
Key=0 FL(QQ)

Key=0 FL(QQ)
Key=-2 FL(QQ) // Alt.
Key=0 FL(QQ)
      FL(LL) // HmP5B Comb.dim

 
TR=9 l12 q121 

Function BS(Str TT,""){
 Sub{>v-30 r48 TT; v+30 <}
 TT;
} //func

Str T1={ r-96 "b-rc e-^c ^^^96 "g^r"f }
Str T0={ r-96  c^"b- cre-^^^96 "c^r"f }
Str T2={ crc crc }
Str T3={ e-^"a- "b-rf ^^ "g f"cf }

Time=RT(0)

 v90

 Key=0 BS(T0)
 Key=0 BS(T1)
 Key=0 BS(T0)
 Key=0 BS(T2+{ crc g^f })

 Key=5 BS(T0)
 Key=5 BS(T1)
 Key=0 BS(T0)
 Key=0 BS(T3)

 Key=2 BS(T0)
 Key=7 BS(T1)
 Key=0 BS(T0+T2+T2)


 Key=0 BS(T0)
 Key=0 BS(T1)
 Key=0 BS(T0)
 Key=6 BS(T2+{ "gr"f "g^"f })

 Key=5 BS(T0)
 Key=5 BS(T1)
 Key=0 BS(T0)
 Key=0 BS(T3)

 Key=8 BS(T0)
 Key=7 BS(T1)
 Key=5 BS(T0)
 Key=2 BS(T2) Key=1 BS(T2)

 v80
 Key=0  BS(T2+T2)
 Key=-7 BS(T2+T2)
 Key=0  BS(T2+T2)
 Key=0  BS(T2+{ crc g^f })

 Key=-7 BS(T2+T2)
 Key=-7 BS(T2+T2)
 Key=0  BS(T2+T2)
 Key=0  BS(T2+{ "gr"f g^f })

 Key=-4 BS(T2+T2)
 Key=-5 BS(T2+T2)
 BS({ Key=0 [c^c] Key=1 [c^c] | crc Key=2 q91 ccc Key=3 q94 ccc Key=4 q97 ccc q111 })


//Switch(BB(Set)){
//  Case(2){ Key=5 BS(T0)
//           Key=7 BS(T2+T2) }
//} Set++;  //sw

 
} If(#NUM=="2"|#NUM=="all"){ Reseter() 
  
TrackName ={"ディストーションパッド / @30 使用"} 
Lyric={""}
Tempo=177
	
TR=1 REV=111 CHO=33 
@30,0 q100　v120
	V.onNoteWave(7,126,!1+1+1,126,126,!1) V.Frequency=8 V.Random=2 //+-2
	EP.onNoteSine(0,66,123,!%(TimeBase*2),16) EP.Frequency=2 EP.Random=6
l1+1+1+1 [3 'c`f```g````b']
 
Reseter() 
  
TrackName ={"モード提示 / サイコロでモード"} 
Lyric={""}
Tempo=117
	
@17,0 q99 
Array Mode;
Array KeyChg;

Function ChgCal(){ // gbl:Mode,KeyChg

 Int Nn;
 Int Tt;
 Int Stre;
 For(Int i=0; i<8; i++){

  While(1){
   Nn=Random(12)-6
   If(Stre < 0){ If(Nn> Tt){ Exit; } }
   If(Stre==0){ Exit; }
   If(Stre > 0){ If(Nn< Tt){ Exit; } }
  }
  KeyChg=(KeyChg,Nn)
  Stre= Nn-Tt
  Tt=Nn

  Mode=(Mode, RandomSelect(0,1,1,2,2,3,3,4,4,5,6,6))

 } //
} //func

ChgCal();

//Print("Mode:"+Mode+" KeyChg:"+KeyChg)

For(Int i=0; i<SizeOf(Mode); i++){

 Key=KeyChg(i)

 Switch(Mode(i)){
  Case(0){
   Lyric={"Key="}+Key+{" イオニアンn4 | F/C | CM7 -> Dm7/C / CM7 -> FM7/C | C4: 'dg`c'"}
   // c d e  f g a b

   o4'"cdfc'2 '"cceb'2'"cfa`e'1
   o4'"c fa`c'1^1 r-1^1^1^1
   o6 [ l12 cdef ^def ^gab ]
   o7   l12 bagf^^ agfedc <  bagfed agf^rg

  }
  Case(1){
   Lyric={"Key="}+Key+{" ドリアンn6 | Dm/C | Cm7 -> Dm7/C / Cm7 -> BbM7/C | C4: 'cfb-'"}
   // c d e- f g a b-

   o4'"cce-b-'2'"cdfc'2 '"cce-b-'2'"c"b-da'2
   o4'"c dfa'1'"ccfb-'1 r-1^1^1^1
   [ o6 l12 cde-f e-fga ^gab-]
  o7 l12 b-agfe-d a^g^fe-  dc<b-agf  a^grfg

  }
  Case(2){
   Lyric={"Key="}+Key+{" フリジアンb2 | Db/C | Cm7 -> DbM7/C / Cm7 -> Bbm7/C | C4: 'cfb-'"}
   // c d- e- f g a- b-

   o4'"cce-b-'2'"cd-fc'2 '"cce-b-'2'"c"b-d-a-'2
   o4'"c d-fa-'1^1 r-1^1^1^1
   [ o6 l12 cd-^e- d-e-fg fga-b-]
   o7 l12 b-a-gfe-d- gfe-d-^r  c<b-a-gfe-  e-^d-^e-^

  }
  Case(3){
   Lyric={"Key="}+Key+{" リディアン#4 | D/C | CM7 -> D/C / CM7 -> Bm7/C | C4: 'dg`c'"}
   // c d e f# g a b

   o4'"cceb'2'"cdf#a'2 '"cceb'2'"c"bda'2
   o4'"c df#a'1^1 r-1^1^1^1
   [4 o6 l12 cdef# ^def# ^gab]

  }
  Case(4){
   Lyric={"Key="}+Key+{" ミクソリディアンb7 | Bb/C | C7 -> BbM7/C | C4: 'cfb-'"}
   // c d e f g a b-

   o4['"cceb-'2'"c"b-da'2]
   o4'"c "b-df'1^1 r-1^1^1^1
   [4 o6 l12 cdef defg ab-^b-]

  }
  Case(5){
   Lyric={"Key="}+Key+{" エオリアンb6 | Ab/C - Cm7 - Eb/C | Cm7 -> AbM7/C | C4: 'cfb-'"}
   // c d e- f g a- b-

   o4['"cce-b-'2'"c"a-cg'2]
   o4'"c "a-ce-'1 '"c e-gb-'2 'ce-gb-'2 r-1^1^1^1
   [ o6 l12 cde-f e-fga- ^ga-b-]
   o7 l12 b-^a-^gf  a-gfe-dc <  b-a-gfe-d a-^grfg
  }
  Case(6){
   Lyric={"Key="}+Key+{" ロクリアンb2,b5 | Gb/C - GbM7 | Cm7b5 -> GbM7/C | C4: 'cfb-'"}
   // c d-e- f g-a-b-

   o4['"cce-g-'2'"c"g-b-f'2]
   o4'"c "g-"b-d-'1'"g-"b-d-f'1 r-1^1^1^1
   [ o6 l12 cd-^e- d-e-fg- ^g-a-b-]
   o7 l12 b-a-g-^fe- g-fe-d-^c  c<b-a-g-fe-  d-^d-rd-^

  }
 } //sw
} //
 
} If(#NUM=="3"|#NUM=="all"){ Reseter() 
  
TrackName ={"lab_sine / サイン波ボーカル"} 
Lyric={""}
Tempo=144
	
#DATA={ l1 v88 q111 o5 'ceg''fga''ega''dgb''dac''dfb''egb''fgb' } 

TR=1
	Slur(0,(TimeBase/4));
	FineTune=64+6
	CoarseTune=64
	REV=111
	CHO=33
	V=0	//プチノイズ対策

	#EFX={
	PitchBend.onNoteSine(0,0,111+Random(11),!1,16) //SinCrv,Min,Max,Len,Loop
	V.onNoteWaveEx(99,127,!7,127,99,!1)
	EP.onNoteSine(1,111+Random(11),127,!1,3)
	M.onNoteSine(0,0,33+Random(11),!4,1)
	}
	#EFX;

//	@81,8	//Sine
	@81,1	//Square
	v.Random=9 t.Random=6 q.Random=3

#DATA;


TR=2
	Slur(0,(TimeBase/4));
	FineTune=64-6
	CoarseTune=64
	REV=111
	CHO=33
	V=0	//プチノイズ対策

	#EFX={
	PitchBend.onNoteSine(0,0,66+Random(11),!1,8) //SinCrv,Min,Max,Len,Loop
	V.onNoteWaveEx(99,127,!7,127,99,!1)
	EP.onNoteSine(1,99+Random(11),127,!1,4)
	M.onNoteSine(0,0,66+Random(11),!2,1)
	}
	#EFX;

//	@81,8	//Sine
	@81,1	//Square
	v.Random=9 t.Random=6 q.Random=3

#DATA;
 
#DATA={ l1 v100 q99 o7 	c &e &d &a f# &b &g &e      } 
		//	0  4  2  9  6 11  7  4
		//	+4    +7    +5    -3
		//	+2    +4    +1    +2

//           cdef#gab  > 0, 2, 4, 6, 7, 9, 11 > Lydian

TR=3
	Slur(0,(-TimeBase/8));
	FineTune=64+1
	CoarseTune=64
	REV=96
	CHO=33
	V=0	//プチノイズ対策

	#EFX={
//	PitchBend.onNoteSine(1,0,111+Random(11),!1,4) //SinCrv,Min,Max,Len,Loop
	V.onNoteWaveEx(111,127,!5,127,111,!1)
	EP.onNoteSine(0,121+Random(11),127,!1,1)
	M.onNoteSine(0,0,21+Random(11),!2,1)
	}
	#EFX;

	@81,8	//Sine
//	@81,1	//Square
//	@82,1	//Saw
	v.Random=9 t.Random=6 q.Random=3

#DATA;


TR=4
	Slur(0,(-TimeBase/6));
	FineTune=64-1
	CoarseTune=64
	REV=96
	CHO=33
	V=0	//プチノイズ対策

	#EFX={
//	PitchBend.onNoteSine(1,0,66+Random(11),!1,2) //SinCrv,Min,Max,Len,Loop
	V.onNoteWaveEx(111,127,!5,127,111,!1)
	EP.onNoteSine(0,121+Random(11),127,!1,2)
	M.onNoteSine(0,0,42+Random(11),!1,1)
	}
	#EFX;

	@81,8	//Sine
//	@81,1	//Square
//	@82,1	//Saw
	v.Random=9 t.Random=6 q.Random=3

#DATA;
 
Reseter() 
  
TrackName ={"ステップサンプラー / チップチューンテスト"} 
Lyric={""}
Tempo=117
	
 Function Step_sqr(Str Bas){ 

	Array STP=();
	Array VLU=();
	Bas;

	Str Chd_str={};
	Str RR={};
	Str UU={};
	FOR(Int I=0; I< 5; I++){

		RR= STP(I); //
		UU= VLU(I); //
		RR.s( {x},{TT_set1=Time;}+ UU +{Time=TT_set1; r } )
		STP(I)=RR;
		Chd_str= Chd_str+ {TT_set2=Time;}+STP(I)+{Time=TT_set2;}
	} //
	RESULT= Chd_str; //Print(Chd_str)
 } //Func
 
 Str Pi={}; 
 Int TT_set1=0;
 Int TT_set2=0;
 Slur(0,-(TimeBase));
 
 #SET1={ 
  #BS={
   STP(0)= { l1 xxxx xrrr } VLU(0)= { o7 a32 } //Sub{p%.T(1111,0,!8) } //fx
   STP(1)= { l1 rrxr rrrr } VLU(1)= { o5 "g48c48"g48 c48"g48c48 } //fx
   STP(2)= { l1 xxxx xxxx } VLU(2)= { o2 r2^4 "g16c16`c16g16 } //bass
   STP(3)= { l1 rrrr rrrx } VLU(3)= { o7 r48c48r48 c48r48c48 } //fx
   STP(4)= { l1 xxxx xxxx } VLU(4)= { o3f32r32 o7``f32r32``f32r32 o5f32r32  } //rym
  }
  #TC={ [8 r1 ] } //Timecode
 }
 #SET2={
  #BS={
   STP(0)= { l1 rxrx rxrr } VLU(0)= { o7 "a4 }
   STP(1)= { l1 rrrr rrrx } VLU(1)= { o5 "g48c48"g48 c48"g48c48 }
   STP(2)= { l1 rrrr rrrr } VLU(2)= { o2 r2^4 g16"c16c16`g16 }
   STP(3)= { l1 rrrx rrrr } VLU(3)= { o7 r48c48r48 c48r48c48 }
   STP(4)= { l1 xxxx xxxx } VLU(4)= { o7``f32 o4f32 }
  }
  #TC={ [8 r1 ] } //Timecode
 }
 #SET3={
  #BS={
   STP(0)= { l1 rxrr xrrr } VLU(0)= { o6 l24 c&f&g&"c r "g&a&c&`f^ l1 }
   STP(1)= { l1 rrxr rrxr } VLU(1)= { o5 "g48c48"g48 c48"g48c48 }
   STP(2)= { l1 xxxx xxxx } VLU(2)= { o2 r2^4 "g16`c16"c16g16 }
   STP(3)= { l1 xrxr rrrr } VLU(3)= { o7 r48c48r48 c48r48c48 }
   STP(4)= { l1 xxxx xxxx } VLU(4)= { o7 ``f32 o4f32 }
  }
  #TC={ [8 r1 ] } //Timecode
 }
 
 TR=1 
 Port=0 @81,1 q99 REV=44 CHO=11
// Port=1 q99

 Pi={#BS=Step_sqr(#BS);Sub{ #BS; }#TC;}

#SET1;Pi;
#SET2;Pi;
#SET3;Pi;
 
} If(#NUM=="4"|#NUM=="all"){ Reseter() 
  
TrackName ={"ピッチベンドエンジン / 小工場スケッチ"} 
Lyric={""}
Tempo=86
	
TR=1 r-4 @82 q100 BR(64) 
r4 PitchBend.W(0,0,!4,0, 8191,!2, 8191, 8191,!4)
l1+1+1+4 n48

TR=2 r-4 @82 q100 BR(32)
r4  PitchBend.W(0,0,!4,0, -8191,!2, -8191,-8191,!4)
l1+1+4 n52

TR=3 q100
l16r @115l2n20@114l8n20
l16r @115l2n20@114l8n20
l16r @115l2n20@114l8n20
l16r @115l2n20@114l8n20

TR=4 q100
l4r @99l4n20
l4r @99l4n20
l4r @99l4n20
l4r @99l4n20
l4r @99l4n20
l4r @99l4n20
l4r @99l4n20
l4r @99l4n20
 
Reseter() 
  
TrackName ={"Cyc5th アルゴリズム / LCCに基づく五度圏生成"} 
Lyric={""}
Tempo=123 Array TmChk;
	
//	Grb 
//	F	C	G	D	A	E
//	0	7	14	15	5	6

//	B	F#m	C#	G#	D#	A#
//	7	12	8	9	10	11


Function Rout(Int Num){
 Str St;
 For(Int i=0; i< Num; i++){
  St=St+"^"
  } //
  St;
} //func
Function LCyp(Int Lp,Int II){
 Int SbNote= MML(o)*12
 Int Rdm;
 Array LC=(0,1,2,3,4,5,6,7,12,8,9,10,11)
 Int LCnum;
 Int DaNote;
 Int XnNote;
 [(Lp)
  Rdm= Random(11)+1; LCnum=LC(Rdm)
  DaNote= Rdm*7%12	// Cyc5th
  XnNote= SbNote+(XnNote+DaNote)%12
  Rout(LCnum);n(XnNote);
 ]
} //func
TR=1
l48 q211 o7
@13
LCyp(96)
 TmChk=(TmChk,Time)
TR=2
l24 q211 o5
@12
LCyp(48)
 TmChk=(TmChk,Time)
TR=3
l12 q211 o4
@11
LCyp(24)
 TmChk=(TmChk,Time)

Function TimeChk(Array RR){
 Int FF=0
 For(Int i=0; i<SizeOf(RR); i++){
  If(FF< RR(i)){ FF=RR(i) }
 Result=FF;
 } //
} //func
Time= TimeChk(TmChk)
 
} If(#NUM=="5"|#NUM=="all"){ Reseter() 
  
TrackName ={"ブロックコード / 半音スライド"} 
Lyric={""}
Tempo=111
	
Function Chd(Str TT, Int II){ 

 TT=TT+{_Fin}; Int NN= POS({_Fin},TT)

  Str XX; Str ZZ; Str CC;
  Int SW=0 Int FF=0 Int DD=0 Int Rdm=0
  For(Int i=1; i< NN; i++){

  XX=MID(TT,i,1) // i=1~

  Switch(XX){
   Case("a"){ SW++ }
   Case("b"){ SW++ }
   Case("c"){ SW++ }
   Case("d"){ SW++ }
   Case("e"){ SW++ }
   Case("f"){ SW++ }
   Case("g"){ SW++ }
  } //sw

  If(SW==2){ // chien
   Rdm= Random(7)
   CC= CC+ ZZ+{ v-7 }+ { v+}+Rdm+{ }
   DD=DD+ Rdm
   FF++
   ZZ=""
   SW=1
  }
  ZZ=ZZ+XX;

 } //
 CC= CC+ ZZ+ { [}+FF+{ v+7]} +{ v-}+DD+{ }
 CC //Print(CC)

} //func
 
REV=22 V=121 
o5 l8
Key=0 Chd({'facg'1}) // Fadd9

q108 o4 l8 v77 t.Random=8 // q.Random=8
Sub{<g2>}r4 t16
v77 t-4     Key=0  Chd({'b->cdfa>c<<'}) // Gm11  "b-c dfa `c -> "g"b-df a`c
v88 t-0 q-9 Key=1  Chd({'b->cdfa>c<<'})
v77 t-4 q+3 Key=0  Chd({'b->cdfa>c<<'})
v66 t+4 q+3 Key=-1 Chd({'b->cdfa>c<<'})
v66 t+4 q+3 Key=0  Chd({'b->cdfa>c<<'4^4}) //Print(MML(v))
```c24,108````c2,108
t0
 
Reseter() 
  
TrackName ={"kanon_RythmGt / カノン企画スケッチ"} 
Lyric={""}
Tempo=117 TimeKey(2)
	
#ECHO=1 
#DLY=1

Int EPCap1;
Int EPCap2;

Int TimeCap1;
Int TimeCap2;

Int SetTime; //------braek2後
Int GateTime; // ゲートディレイ用

 
TR=1 @5,24 o4 o5 l4 q86 v111 t.Random=6 v.Random=26 q.Random=18 CHO=0 // EP.W(127,77,!8) // chd 
 If(#ECHO==1){ REV=44 }Else{ REV=0 }

Key=0
'ceb'^^ 'ceb'			// CM7
'"bfg'^ '"bfg'^8r8		// G7/B
'"acg'^ '"acg#'r		// Am7 - AmM7
'"e"g#d'^^ ^8 TimeCap1=Time r8	// EM7

'"f"ae'^r'"f"ae'		// FM7
'"c"e"b'^'"c"e"b-'^8r8		// CM7 C7
'""g"f"ac' ^^^			// F/G - [ C/D(-10, 0,4,7) "dceg]
Sub{ r2 EPCap1=Time }
'"a-cdg' ^^^ | ^4 		// G phryg/G# - [ C phryg/C# 'c#fg`c' ]

//------braek
r-4 r2
r1
//------

Key=0
'ceb'^^'ceb'8r8		// CM7
'"g"bf'^ ^8r8' "g"bf'	// G7
'"acg'^r '"acg'		// Am7
'"e"gd'^^ '"e"gd'8r8	// Em7

'"f"ae'^^r8'"f"ae'8	// FM7
'"c"e"b'r'"c"e"b'8^r8	// CM7
'"d"fc'^ '"fcdf'^8r8	// Dm7 Dm7/F //SD
'"g"bf'^^^		// G7

//------braek2
EPCap2=Time

[r8^16]
Key=0  | l16  r"ae f#^g^^
Key=-5 l24 > c^^"g< b-^^f g^^d  f#^^c# f^^c e-^^"b- | c^^3 r2 |
TimeCap2=Time

//------
SetTime=TimeCap2+(!1)

Time=SetTime


 
TR=2 @81,8 o6 v66 l16 p%.onNoteSine(0,66,0,!16,1) // scale sqr 
 If(#ECHO==1){ REV=44 }Else{ REV=0 }
#QT={ q.T(66,44,!1) }

r%(TimeBase/32)
q66
Key=-3 [f&b-&`g&c &b-&`f &e-:`c]"g	// Key:A Blues ce-ff#gb- [6 r]
Key=-5 [e&a &`g&c &b-&`f#&e-:`c]"g	// Key:G コンディミ cc#e-e f#gab- [8 r]
Key=-3 [f&b-&`g&c &b-&`f &e-:`c]"g	// Key:A Blues
Key=-11[f&b-&`g&c &b-&`f &e-:`c]"g	// Key:C# Blues

Key=-10 [f&b-&`g&c &b-&`f&e-:`c]"g	// Key:D Blues
Key=-15 [f&b-&`g&c &b-&`f&e-:`c]"g	// Key:A Blues
#QT;
Key=-12	[e-&a&`g&c &b-&`f&e-:`c]"g	// Key:C ドリアン cde-fgab- [9 r]
EP=21
Key=-5  [e&a-&`g&c &b-&`f&e :`c]"g	// Key:G HMP5thB cc#efga-b- [9 r] r1	<- D


//------braek
q66 Sub{ EP.T(21,66,!1, 66,127,!2) } [3 ea-gc b-f ec] // Key:G HMP5thB
//------


Key=-3	[f&b-&`g &c &b-&`f &e-:`c]"g		// Key:A Blues
Key=-5	[e&a &`g &c &b-&`f#&e-:`c]"g		// Key:G コンディミ
Key=-3	[f&b-&`g &c &b-&`f &e-:`c]"g		// Key:A Blues
Key=-8	[f&b-&`g &c &b-&`f &e-:`c]"g		// Key:E Blues

Key=-10	[f&b-&`g &c &b-&`f &e-:`c]"g		// Key:D Blues
Key=-15	[f&b-&`g &c &b-&`f &e-:`c]"g		// Key:A Blues
#QT;
Key=-10	[f&b-&`g &c &b-&`f &e-:`c]"g		// Key:D Blues
Key=-5	[e&a-&`f#&c &b-&`f#&e-:`c]"a-		// Key:G オルタード cc#e-e f#a-b- [9 r]	<- D

//------braek2
[r8^16]
Key=0  | l16  r"ae f#^g^^
Key=-5 l24 > c^^c< b-^^b- g^^g f#^^f# f^^f e-^^e- | c^^c3 r2 |
r2 r1
//------

Time=SetTime
 
 Function RymGt(Int Length, Str Cutting, Str Chd){ //空要素を含み2つ以上で 

	Int TT=Time
	Cutting.s({Z},{q103}+Chd);
	Cutting.s({z},{q19 }+Chd);

	Cutting;
	Time= TT+ Length
 } //Func
/*
@29,16
p%.onNoteSine(0,444,-888,!1^16,1) p%.Frequency=4
v107 v.Random=40
q.Random=18
t.Random=8

RymGt(!1,{ l24 Z^^^ ^^^96 Z48^32z^96 }, {Key=-3 o6 '"c"gcfgb-'})
*/
 
Function GATE(Str TT, Str TS, Int NN){ // :.:な感じでGateDelay 3Track使用版 
 Int VV=MML(v)
 NN= GateTime

 If(#DLY==1){
  TT=	"#TR12 Time="+ NN+TS +"r8  v"+ (VV/6)+TT +"
	 #TR11 Time="+ NN+TS +"r16 v"+ (VV/3)+TT +"
	 #TR10 Time="+ NN+TS +"    v"+ (VV)+TT
 }
 Else{
  TT=	"#TR10 Time="+ NN+TS +"v"+ (VV)+TT
 }
 Result= TT;//Print(TT)
} //func

Function BD(Str TT,){
 TT.s({x},{n(35)})	// n35,36
 TT= GATE(TT,"t0 v101")
 TT;
} //func
Function SN(Str TT,){
 TT.s({x},{n(40)})	// n38,40
 TT= GATE(TT,"t2 v127")
 TT;
} //func
Function HH(Str TT, Int NN){
 TT.s({x},{n(42)})	//n(ClosedHiHat)
 TT.s({z},{n(46)})	//n(OpenHiHat)
 TT.s({v},{n(44)})	//n(PedalHiHat)

 TT= GATE(TT,"t(-1) v101")
 TT;
} //func
Function PC(Str TT,){
 TT.s({x},{n(66)})	//n(LowTimbale)
 TT.s({a},{n(55)})	//n(SplashCymbal)
 TT.s({b},{n(57)})	//n(CrashCymbal2)
 TT.s({c},{n(52)})	//n(ChineseCymbal)
 TT= GATE(TT,"t2 v121")
 TT;
} //func
Function TM(Str TT,){
 TT.s({x},{n(54)})	//n(Tambourine)
 TT= GATE(TT,"t4 v114")
 TT;
} //func
 
UseKeyShift(off) 
#DR={ Key=0 @26,100 l16 CHO=0 p%=-666 If(#ECHO==1){ REV=44 }Else{ REV=0 } } //drum
#TR10= { TR=10 V=100 #DR }
#TR11= { TR=11 V=66  #DR }
#TR12= { TR=12 V=33  #DR }

　#TR10; GateTime =Time
  BD({ [[[ rrxr      rr          rr rrrr rrrr     | xrxr        rxrr  : xrrr        rrrr ]: xrrr        rrrr]: xrrr       rrrr | r1^2 ] })
  HH({ [[[ rxv [x,24][x,32][x,48]xx xxz^ rrzv     | xxr[x,32]   xxzx  : rxx[x,32]   xxrx ]: rx[3 x,24]  xxxv]: xxx[x,32]  rrrr | r1^2 ] })
  SN({ [[[ [8 r]                   [8 r]          | [8 r]             : [8 r]            ]: xrrr        xxrr]: rrrr       xxrx | r1^2 ]                rrr[2 x,32] rrxr })
  PC({ [[[ [8 r]                   [8 r]          | [8 r]             : [8 r]            ]: rrrr        xrrr]: xxrr       xrrr | r32^64a64^1 r4^8^16 ] xrrr        xxrx })
  TM({ [[[ [8 r]                   rrxr xrrr      | xx[6 r]           : [8 r]            ]: [8 r]           ]: [8 r]           | r1^2 ]                rrrr        xx^^ })

// [[[Z:A]:B]:C]D
// ZA ZB | ZA ZC | ZA ZB | ZA  ZD

//------braek2

　GateTime =Time
  SN({ r8^32 x4 r-32 })

　GateTime =Time
  BD({ r2 | l24 [6 r^^^      ] | x^^x3 r2     | })
  HH({ r2 | l24 [6 rr[x,32]^ ] | z2           | })
  SN({ r2 | r1                 | r4^8^16[x,32]| x })
  PC({ r2 | r1                 | r2           | r8^16^32 c2^4 })
  TM({ r2 | r1 | r1 | r2 r1 })
//------

Time=SetTime

UseKeyShift(on)
 
TR=13 @88,0 o3l16 v99 q111 CHO=111 // bass 
 If(#ECHO==1){ REV=33 }Else{ REV=0 }


Key=0	c r2^4 c<b-g> // Blues ce-ff#gb- [6 r]
Key=-1 	c r2^4 rrr //c<b-a> コンディミ cc#e-e f#gab- [8 r]
Key=-3	c r2^4 c<b-g>
Key=-8 	c r2^4 rrr //ce-f

Key=-7	c r2^4 c<b-g>
Key=-12	c r2^4 rrr //ce-f
Key=-5	c r2^4 rrr // ccc ドリアン cde-fgab- [9 r]
Sub{r2 EP=21 }
Key=-5	c r2^4 cc#e	// HMP5thB cc#efga-b- [9 r] r1	<- D

//------braek1
EP=127
 | r2
r1
//------

Key=0 	c r2^4 c<b-g> // Blues ce-ff#gb- [6 r]
Key=-5	c r2^4 rrr //cc#e- コンディミ cc#e-e f#gab- [8 r]
Key=-3	c r2^4 c<b-g>
Key=-8	c r2^4 rrr //ce-f

Key=-7	c r2^4 c<b-g>
Key=-12	c r2^4 rrr //ce-f
Key=-10	c r2-16 Key=-7 r4^16 rrr // <- SD
Sub{r2 EP=21 }
Key=-5	c r2^4 cc#e- // オルタード cc#e-e f#a-b- [9 r]	<- D

//------braek2
[r8^16]
Key=0  | l16  r"ae f#^g^^
Key=-5 l24 > c^^^< b-^^^ g^^^ f#^^^ f^^^ e-^^^ | c^^^3 r2 |
r2 r1
//------

Time=SetTime
 
TR=3 @81,1 o9 v127 CHO=0 BR(36) Key=0 // efx 
 If(#ECHO==1){ REV=44 }Else{ REV=0 }

Time=EPCap1
EP.T(127,99,!1^2)
p%.T(-8192,0,!1^2)
l96 q72
[72 v111 e v99 a ]

TR=4 @82,1 v121 q120 q121 CHO=0 Key=0
 If(#ECHO==1){ REV=44 }Else{ REV=0 }

Time=TimeCap1-(!8^16)
p%.T(819,0,!3)
EP.T(127,101,!3)
l48 o8 `ca-ec<a-ec<a-ec <a-ec<a-ec <a-ec >> >> >

Time=EPCap2
/*p%.T(-819,0,!2)
EP.T(101,127,!2)
l72 o1 cea->cea->cea- >cea->cea->cea->cea- >cea-`c << << << <
*/

TR=5 @56,0 o5 v88 q144 CHO=1 Key=0
 If(#ECHO==1){ REV=111 }Else{ REV=0 }

Time=TimeCap2
r16^64 v120 '"cb-`g'16^48 r32^64 v72 '"cb-`g'4


 
TR=9 @115,0 l8 v121 o5 q60 p%.onNoteSine(0,666,0,!1,1) // Melody 
 If(#ECHO==1){ REV=44 }Else{ REV=0 }

Key=-3 g^^b- ^^`cr	// Key:A Blues ce-ff#gb- [6 r]
Key=-5 f^^e ^rc"b-	// Key:G コンディミ cc#e-e f#gab- [8 r]
Key=-3 f^^ff# ^^^ 	// Key:A Blues
//PlayFrom(Time)
Key=-11 g^^e- ^^^^	// Key:C# Blues
 
//Fader - 全トラックコントロール 

Function Fader(Int TT,){
 For(Int i=1;i<= 16; i++){
  Switch(i){
   Case(2){}
   Case(3){}
   Case(4){}
   Case(5){}
   Case(10){}
   Default{ TR=i Time=TT EP=21 r1 EP=127 }
  } //sw
 } //
}

Function Fader2(Int TT, Int TU){
 For(Int i=1;i<= 16; i++){
  Switch(i){
   Case(3){}
   Case(4){}
   Case(5){}
   Case(10){}
   Default{ TR=i Time=TT EP=TU }
  } //sw
 } //
}

 Fader(EPCap1);
 Fader2(EPCap2, 121);
 Fader2(SetTime, 127);
 
} /// 
  
