{
   "author" : "snappizz",
   "name" : "three kicks",
   "ancestor_list" : [],
   "description" : "some kick drums i wrote back in january. my favorite is #2",
   "labels" : [
      "instrument",
      "kick",
      "drum"
   ],
   "id" : "1-57g",
   "is_private" : null,
   "code" : "(\r\nSynthDef(\\kick1, {\r\n    var snd;\r\n    snd = DC.ar(0);\r\n    snd = snd + (SinOsc.ar(XLine.ar(800, 400, 0.01)) * Env.perc(0.0005, 0.01).ar);\r\n    snd = snd + (BPF.ar(Hasher.ar(Sweep.ar), XLine.ar(800, 100, 0.01), 0.6) * Env.perc(0.001, 0.02).delay(0.001).ar);\r\n    snd = snd + (SinOsc.ar(XLine.ar(172, 50, 0.01)) * Env.perc(0.0001, 0.3, 1, \\lin).delay(0.005).ar(2));\r\n    snd = snd.tanh;\r\n    Out.ar(\\out.kr(0), Pan2.ar(snd, \\pan.kr(0), \\amp.kr(0.1)));\r\n}).add;\r\n)\r\n\r\nSynth(\\kick1, [amp: 0.4]);\r\n\r\n(\r\nSynthDef(\\kick2, {\r\n    var snd;\r\n    snd = DC.ar(0);\r\n    snd = snd + (HPF.ar(Hasher.ar(Sweep.ar), 1320) * Env.perc(0.003, 0.03).ar * 0.5);\r\n    snd = snd + (SinOsc.ar(XLine.ar(750, 161, 0.02)) * Env.perc(0.0005, 0.02).ar);\r\n    snd = snd + (SinOsc.ar(XLine.ar(167, 52, 0.04)) * Env.perc(0.0005, 0.3).ar(2));\r\n    snd = snd.tanh;\r\n    Out.ar(\\out.kr(0), Pan2.ar(snd, \\pan.kr(0), \\amp.kr(0.1)));\r\n}).add;\r\n)\r\n\r\nSynth(\\kick2, [amp: 0.4]);\r\n\r\n(\r\nSynthDef(\\kick3, {\r\n    var snd;\r\n    snd = DC.ar(0);\r\n    snd = snd + (SinOsc.ar(XLine.ar(1500, 800, 0.01)) * Env.perc(0.0005, 0.01, curve: \\lin).ar);\r\n    snd = snd + (BPF.ar(Impulse.ar(0) * SampleRate.ir / 48000, 6100, 1.0) * 3.dbamp);\r\n    snd = snd + (BPF.ar(Hasher.ar(Sweep.ar), 300, 0.9) * Env.perc(0.001, 0.02).ar);\r\n    snd = snd + (SinOsc.ar(XLine.ar(472, 60, 0.045)) * Env.perc(0.0001, 0.3, curve: \\lin).delay(0.005).ar(2));\r\n    snd = snd.tanh;\r\n    Out.ar(\\out.kr(0), Pan2.ar(snd, \\pan.kr(0), \\amp.kr(0.1)));\r\n}).add;\r\n)\r\n\r\nSynth(\\kick3, [amp: 0.4]);\r\n\r\n\r\n/*\r\ncontributors so far: nathan ho\r\n\r\ni use Hasher.ar(Sweep.ar) as a quick way to generate deterministic white noise, so i can get exactly the same kick each time for a precise digital sampler effect. you are free to replace it with WhiteNoise.ar.\r\n\r\nthe DC.ar(0) does nothing, it's just so i can reorder all the \"snd = snd +\" lines and/or comment out parts of the synth.\r\n\r\nsome of the attacks are so fast that Env:kr doesn't correctly handle them. that's why i always use Env:ar, so i don't have to think about ar/kr when i'm messing with sharp envelope attacks. i'm sure many of them could be refactored to kr for CPU, but idc\r\n*/"
}
