{
   "labels" : [
      "noise",
      "synthesis",
      "vinyl emulation",
      "pops",
      "crackles"
   ],
   "code" : "(\r\nSynthDef.new(\\vinylCrackling, { arg out=0;\r\n\tvar pop,imp,modImp,midNoise,hiNoise,loNoise,loopTime=8,numChan=2,w,x,y;\r\n\r\n\t//Harder pops\r\n\tpop = TDuty.ar(Dseq({ 1.0.bilinrand.abs } ! loopTime,inf));\r\n\tpop = Resonz.ar(Decay.ar(pop,TRand.ar(0.001,0.1,pop)),Demand.ar(pop,0,Dseq({ 7000.bilinrand.abs+40 } ! loopTime,inf)),\r\n\t\tmul:Demand.ar(pop,0,Dseq({ exprand(0.1,0.87) } ! loopTime,inf)));\r\n\tpop = LeakDC.ar(pop,TRand.ar(0.9,0.9995,pop));\r\n\t#w,x,y = PanB2.ar(pop,Demand.ar(pop,0,Dseq({ 1.0.rand2 } ! loopTime,inf)));\r\n\r\n\t//Softer, highpass filtered impulses\r\n\timp = { arg i; HPF.ar(LPF.ar(Dust2.ar(8),8000.0),6000.0,WhiteNoise.ar(0.7)) } ! numChan;\r\n\r\n\t//Faster, modulated lowpass filtered impulses\r\n\tmodImp = LPF.ar(Dust.ar(LFDNoise3.ar(1).exprange(100,500),LFDNoise3.ar(10).exprange(0.01,0.07)),9000.0) ! numChan;\r\n\r\n\t//Mid frequency modulated noise background\r\n\tmidNoise = LPF.ar(GrayNoise.ar(LFDNoise3.ar(60))*WhiteNoise.ar(0.009),12000.0) ! numChan;\r\n\r\n\t//High frequency modulated noise background\r\n\thiNoise = HPF.ar(LPF.ar(GrayNoise.ar(LFDNoise3.ar(60))*WhiteNoise.ar(0.01),14000.0),8000.0) ! numChan;\r\n\r\n\t//Low frequency modulated noise background\r\n\tloNoise = LPF.ar(BrownNoise.ar(PinkNoise.ar.range(0.001,0.02)),1200) ! numChan;\r\n\r\n\tOut.ar(out,DecodeB2.ar(numChan,w,x,y)+imp+modImp+midNoise+hiNoise+loNoise);\r\n\t}).add;\r\n)\r\n\r\ns.sendMsg('/s_new',\\vinylCrackling,a=s.nextNodeID,0,1,\\out,0);\r\ns.sendMsg('/n_free',a);",
   "is_private" : null,
   "id" : "1-4Sj",
   "name" : "vinyl noise emulation",
   "author" : "michael.dzjaparidze",
   "description" : "Came across this when browsing through my SC files. An attempt at emulating an old, dusty record including pops and crackles.",
   "ancestor_list" : []
}
