{
   "labels" : [
      "pattern",
      "sequencing",
      "mono",
      "monophonic"
   ],
   "code" : "s.boot;\r\n(\r\nSynthDef(\\bup, {\r\n\targ out=0,freq=440,ffreq=440,famp=1,fq=1,\r\n\t    fatk = 0.01, fdec = 0.1,\r\n\t    aatk = 0.01, adec = 0.1,\r\n\t    amp=0.5,gate=1, len=0.2,lag=0.1;\r\n\r\n\tvar synth,ampEnv,filtEnv;\r\n\r\n\tfiltEnv = EnvGen.kr(\r\n\t\t       Env.adsr(fatk,fdec,releaseTime:0.05),\r\n                       gate,\r\n\t\t       freq*famp,\r\n\t\t       ffreq);\r\n\tampEnv = EnvGen.kr(\r\n\t\t       Env.adsr(aatk,adec,releaseTime:0.05),\r\n\t\t       gate,\r\n                       doneAction:2);\r\n\tsynth = Mix.new([\r\n\t\tLFSaw.ar(Lag.kr([freq*2,freq],lag),[0,pi],amp),\r\n\t\tLFTri.ar(Lag.kr([freq,freq*2],lag),[pi,0],amp)\r\n\t]);\r\n\tsynth = Pan2.ar(synth) * ampEnv;\r\n\tsynth = RLPF.ar(synth,filtEnv,fq);\r\n\tOut.ar(out,synth);\r\n}).add;\r\n)\r\nTempoClock.default = TempoClock.new(180/120);\r\n(\r\np=PmonoArtic(\r\n\t\\bup,\r\n\t\\dur,Pseq((0.25!3)++(0.125!2),inf),\r\n\t\\ffreq, Pseq([1,2,3,4,5]*500,inf),\r\n\t\\fq,    Pseq([2,2,1,1,1,2,1,1,0.65,0.52],inf),\r\n\t\\legato, Pseq([0.3,1,0.83,1],inf),\r\n\t\\degree, Pseq([0,2,4,7,9]+.t[0,4,9],inf),\r\n\t\\scale, Scale.dorian,\r\n\t\\octave, Pseq([1,3]+.t[0,2],inf),\r\n\t\\mtranspose, Pseq((0!20)++(2!20)++(4!20)++(5!20),2)\r\n).play;\r\n)",
   "id" : "1-56s",
   "is_private" : null,
   "author" : "moncrey",
   "name" : "Monophonic SynthDef Sequence",
   "ancestor_list" : [],
   "description" : "This was my creation as I learned how to work with PmonoArtic. Took way too long to realize \"freq\" and \"gate\" were naming conventions and I didnt need to build out additional functionality!"
}
