{
   "description" : "Rhythm-Experiment for sambalike patterns. The goal are cyclic patterns with elliptical time behavior.",
   "ancestor_list" : [],
   "author" : "bernhard",
   "name" : "Polyswing",
   "code" : "// Rhythm-Experiment for sambalike patterns. The goal are cyclic patterns with elliptical time behavior. \r\n\r\n// Masterclock is a LFSaw that's bent exponentially with the \"swing\"-argument.\r\n// swing = 1 is linear. Zero and negative values lead to funny behavior.\r\n\r\n// The masterclock is chopped with the \"div\"-argument in shorter parts for each instrument.\r\n// If div=0 strange stuff happens when going back to other values.\r\n// Negative values for \"div\" invert the envelopes for kick and snare.\r\n// Behaves symmetrical around the offbeat. div=2 stays linear.\r\n\r\n// The raw clock-signals control the instruments. More organic than classic triggers and envelopes, but strange sometimes. \r\n\r\n// Default volumes of instruments are high for saturation and distortion.\r\n\r\n(\r\nSynthDef(\\polyswingsym,{\r\n\r\n\targ\r\n\tkickv=1500, frqkick=45, deckick=16, pkick=4, bwkick=0.01, divkick=1,\r\n\tsnrv1=40, decsnr=15, frqsnr=222, divsnr=2,\r\n\thhv=50, divhh=3,\r\n\ttmv=44, frqtm=135, bwtm=0.05, divtm=8,\r\n\tclvv=40, divclv=4,\r\n\twdv=30, frqwd=850, divwd=5,\r\n\tspeed=1, swing=1.5, amp=0.5, out=0;\r\n\r\n\tvar sig, master, trig1, trig2, trig3, trig4, trig5, trig6, kick,snr1,hh,tm,clv,wd;\r\n\r\n\tmaster=(((LFSaw.ar(speed,pi,1,0).neg**(swing))+1)/2);\r\n\r\n\ttrig1 = (master%(1/divkick))*divkick;\r\n\ttrig2 = (master%(1/divsnr))*divsnr;\r\n\ttrig3 = (master%(1/divhh))*divhh;\r\n\ttrig4 = (master%(1/divtm))*divtm;\r\n\ttrig5 = (master%(1/divclv))*divclv;\r\n\ttrig6 = (master%(1/divwd))*divwd;\r\n\r\n\tkick= Resonz.ar(trig1,frqkick*((trig1**deckick*pkick)+1),bwkick,kickv);\r\n\tsnr1=  (Resonz.ar(trig2,frqsnr,0.02,4)+WhiteNoise.ar(0.01)+Dust2.ar(123,0.01))*(trig2**decsnr).tanh*snrv1;\r\n\thh= RHPF.ar(Mix.new(Resonz.ar(trig3,Array.linrand(11,4000,6500),0.0005)),2400,0.4,hhv);\r\n\ttm= Resonz.ar(trig4,frqtm,bwtm,tmv);\r\n\tclv= HPF.ar(Mix.new(Resonz.ar(trig5,Array.linrand(9,500,3500),0.01,clvv)),700);\r\n\twd= Resonz.ar(trig6,frqwd,0.04,wdv);\r\n\r\n\tsig = kick+snr1+hh+tm+clv+wd;\r\n\r\n\tOut.ar(out,LeakDC.ar(sig!2).tanh*amp);\r\n}).add;\r\n)\r\n\r\ny=Synth(\\polyswingsym)\r\ny.free\r\n\r\n// Parameters main  \r\ny.set(\\swing,2);\r\ny.set(\\speed,1);\r\ny.set(\\amp,0.5);\r\n\r\n// Volumes\r\ny.set(\\kickv,1500);\r\ny.set(\\snrv1, 40);\r\ny.set(\\hhv,50);\r\ny.set(\\tmv,44);\r\ny.set(\\clvv,40);\r\ny.set(\\wdv,40);\r\n\r\n// Divisors\r\ny.set(\\divkick,1);\r\ny.set(\\divsnr,2);\r\ny.set(\\divhh,3);\r\ny.set(\\divtm,6);\r\ny.set(\\divclv,4);\r\ny.set(\\divwd,5);\r\n\r\n// Parameters Kick\r\ny.set(\\deckick,16);\r\ny.set(\\frqkick,45);\r\ny.set(\\bwkick,0.01);\r\ny.set(\\pkick,3);\r\n\r\n// Parameters Snare\r\ny.set(\\decsnr,6);\r\ny.set(\\frqsnr,222);\r\n\r\n// Parameters Tom\r\ny.set(\\frqtm,135);\r\ny.set(\\bwtm,0.06);\r\n\r\n\r\n// Parameters Woodblock\r\ny.set(\\frqwd,850);",
   "is_private" : null,
   "id" : "1-5de",
   "labels" : [
      "drums",
      "samba",
      "swing",
      "groove",
      "drummachine"
   ]
}
