{
   "labels" : [
      "ambient",
      "noise",
      "drone",
      "experimental"
   ],
   "code" : "s.boot;\r\ns.options.memSize=128*1024;\r\n//Define busses\r\n~b=Bus.audio(s,1);\r\n~b2=Bus.audio(s,1);\r\n~b3=Bus.audio(s,1);\r\n~b4=Bus.audio(s,1);\r\n~c1=Bus.control(s);\r\n~c2=Bus.control(s);\r\n~c3=Bus.control(s);\r\n~buff=Buffer.alloc(s, s.sampleRate * 30.0, 2);\r\n//Define Synths and effects\r\n(\r\nSynthDef(\\rec,{arg r=0; var sig;\r\nsig=In.ar(~b3);\r\nRecordBuf.ar([sig,sig],~buff.bufnum,run:r,loop:0);\r\n};\r\n).add;\r\nSynthDef(\\play,{\r\nOut.ar(0,PlayBuf.ar(2,~buff,rate:-1,loop:1)*EnvGen.ar(Env([0,0.5,1.0,0.5,0],[6,5,10,9]))*0.2);\r\n};\r\n).add;\r\nSynthDef(\\perc,{arg freq=80; var d,l=4;\r\nd=LPF.ar(Mix(SinOsc.ar(freq,0,0.5),SinOsc.ar(2*freq,0,0.3),SinOsc.ar(3*freq,0,0.2))*EnvGen.kr(Env.perc(0.01,l),doneAction:2),3000);\r\nOut.ar(~b3,0.3*d);\r\nOut.ar(~b4,d);\r\n};\r\n).add;\r\nSynthDef(\\pad,{arg freq=80,vol=0.5; var d;\r\nd=LPF.ar(Mix(SinOsc.ar(freq,0,0.3),SinOsc.ar(2*freq,0,0.3),SinOsc.ar(3.01*freq,0,0.3))*EnvGen.ar(Env([0,1,0],[10,10]),doneAction:2),2000);\r\nOut.ar(~b,vol*d);\r\n};\r\n).add;\r\nSynthDef(\\delay,{\r\nOut.ar(0,[CombN.ar(In.ar(~b),0.5,0.3,2,mul:0.1),CombN.ar(In.ar(~b),0.5,0.4,2,mul:0.1)]);\r\n};\r\n).add;\r\nSynthDef(\\fx,{\r\narg feed=0.999,m=0.05;\r\nvar sig,local;\r\nsig = (In.ar(~b2)+In.ar(~b4)*m)*0.01;\r\nlocal= LocalIn.ar(2)+sig.dup;\r\n15.do{local=AllpassN.ar(local,0.06,Rand(0.001,0.06),3)};\r\nLocalOut.ar(local*feed);\r\nOut.ar(0,LPF.ar(sig+local,1000)*(0.5+In.kr(~c2)));\r\n};\r\n).add;\r\nSynthDef(\\out,{arg vol=0;var sig;\r\nOut.ar(0,[0.8*CombN.ar(In.ar(~b3),0.5,0.3,2,mul:0.1)*In.kr(~c1),CombN.ar(0.8*In.ar(~b3),0.5,0.4,2,mul:0.1)*In.kr(~c1)]);\r\n};\r\n).add;\r\nSynthDef(\\env,{\r\nOut.kr(~c1,EnvGen.kr(Env([0,0.5,1.0],[20,20]),doneAction:2));\r\n};\r\n).add;\r\nSynthDef(\\env2,{\r\nOut.kr(~c3,EnvGen.kr(Env([0,0.5,1.0],[20,20]),doneAction:2));\r\n};\r\n).add;\r\nSynthDef(\\ring,{arg freq=0;\r\nOut.kr(~c2,SinOsc.kr(freq,0,0.1));\r\n}\r\n).add;\r\nSynthDef(\\mic,{var s;\r\ns=70*SoundIn.ar(0);\r\nOut.ar(~b2,s.dup*In.kr(~c3));\r\n};\r\n).add;\r\n)\r\n//\r\n(\r\nq=Synth(\\rec);\r\nSynth(\\delay);\r\ny=Synth(\\fx);\r\nh=Synth(\\ring);\r\nz=Synth(\\out);\r\np=Synth(\\mic);\r\na=(12+Pxrand([36,40,41,43,45,48,52,53,55,57],inf));\r\nfork{\r\nf=Pbind(\\instrument,\\pad,\\freq,a.midicps,\\dur,20).play;\r\n30.wait;\r\ng=Pbind(\\instrument,\\pad,\\vol,0.1,\\freq,(a-12.dup(10)).midicps,\\dur,20).play;\r\n45.wait;\r\ne=Pbind(\\instrument,\\perc,\\freq,a.midicps,\\dur,Prand([0.1,0.2,0.3,0.4,0.5],inf),\\l,1+2.rand).play;\r\nSynth(\\env);\r\n80.wait;\r\nq.set(\\r,1);\r\n31.wait;\r\nq.free;\r\nf.stop;\r\ng.stop;\r\ny.set(\\m,0.8);\r\ndo(60,{arg i;\r\nh.set(\\freq,i*5);\r\n(0.5).wait}\r\n);\r\nSynth(\\play);\r\ne.stop;\r\nSynth(\\env2);\r\n40.wait;\r\np.free;\r\ny.set(\\feed,0.1);\r\n};\r\n);\r\ns.quit;",
   "is_private" : null,
   "id" : "1-4RK",
   "author" : "sandrovale",
   "name" : "Dawn and Mist",
   "description" : "My first composition in Supercollider.\r\nThe last part is produced live via the mic on your laptop: use headphones to avoid feedback.",
   "ancestor_list" : []
}
