{
   "is_private" : null,
   "id" : "1-5fc",
   "code" : "(\r\ns.newBusAllocators;\r\ns.options.numOutputBusChannels = 2;\r\n~reverbBus = Bus.audio(s,2);\r\n\r\ns.waitForBoot({\r\n\r\n\tBuffer.freeAll;\r\n\t~scale1 = Buffer.loadCollection(\r\n\t\ts,Scale.new(#[0,7,15.93,5,9.7,12,17.5,13.1],12));\r\n\r\n\tSynthDef(\\rainbow,{\r\n\t\targ buf, samp=0.2,root=37,atk=0.1,decay=10, amp=0.3;\r\n\t\tvar sig, index, tonic, freq, env;\r\n\t\tindex = LFSaw.kr(samp).range(\\bottom.ir(4),\\top.ir(9));\r\n\t\tindex = index*BufFrames.kr(buf);\r\n\t\ttonic = DegreeToKey.kr(buf,index)+root;\r\n\t\tfreq = tonic.midicps;\r\n\t\tenv = EnvGen.ar(Env.perc(atk,decay,0.7,-2),doneAction:2);\r\n\t\tsig = SyncSaw.ar(root.midicps,freq, mul:0.5)*env;\r\n\t\tsig = BPF.ar(sig, \\cfreq.kr(1000),\\rq.ir(0.3))*amp;\r\n\t\tsig = Pan2.ar(\r\n\t\t\tsig,\r\n\t\t\tSinOsc.kr(\r\n\t\t\t\t\\rate.kr(0.05).range(-0.9,0.9)+{Rand(-0.6,0.6)}),\r\n\t\t\t\\level.kr(1),\r\n\t\t);\r\n\t\tOut.ar(\\out.ir(~reverbBus),sig);\r\n\t}).add;\r\n\r\n\tSynthDef(\\reverb, {\r\n\t\targ in=0, out=0, revdecay=5;\r\n\t\tvar wet,dry, sig;\r\n\t\twet = In.ar(~reverbBus,2);\r\n\t\tdry = In.ar(~reverbBus,2);\r\n\t\twet = CombL.ar(\r\n\t\t\twet,\r\n\t\t\t0.1,\r\n\t\t\tSinOsc.kr(0.01).range(0.04,0.1),\r\n\t\t\trevdecay,\r\n\t\t\t0.7);\r\n\t\twet = LPF.ar(wet,\\lpf.kr(4800));\r\n\t\tsig = XFade2.ar(wet,dry,\\mix.kr(0.2),\\amp.kr(0.3));\r\n\t\tOut.ar(out,sig);\r\n\t}).add;\r\n});\r\n\r\nSynth(\\reverb,[\\mix,-0.5],addAction:'addToTail');\r\n\r\n~rainbow = Pbind(\r\n\t\\instrument, \\rainbow,\r\n\t\\dur, Prand([0.2,1.3],inf),\r\n\t\\buf, ~scale1,\r\n\t\\root, Prand([23,30,35,37],inf),\r\n\t\\amp, Pwhite(0.15,0.5,inf),\r\n\t\\bottom, Prand([2,5],inf),\r\n\t\\top, Pwhite(7.0,9.1,inf),\r\n\t\\samp, Pexprand(0.07,0.5,inf),\r\n\t\\rate, Pexprand(0.1,3,inf),\r\n\t\\cfreq, Pseq([\r\n\t\tPseries(120,30,76),\r\n\t\tPseries(2400,-30,76),\r\n\t],inf),\r\n\t\\rq, Pkey(\\samp)+Pwhite(0.1,0.15,inf).asStream,\r\n\t\\atk, Pexprand(0.04,0.3,inf),\r\n\t\\decay, Pexprand(6,15,inf),\r\n\t\\level, Env(#[0,1,0],#[100,110],'lin'),\r\n\t\\out, ~reverbBus,\r\n);\r\n~rainbow.play;\r\n)",
   "labels" : [
      "scales sparkly"
   ],
   "ancestor_list" : [],
   "description" : "some scale stuff by a novice-SC lovable unicorn",
   "name" : "magic sparkly rainbow!!!!!!<3",
   "author" : "daisystomper"
}
