{
   "labels" : [
      "kick",
      "drum",
      "gabber"
   ],
   "code" : "// Audio triggered DRUM, inspired by analogue drum brains like Simmons SDS-V oder Tama Techstar. Played with drumpad on audio in. With headphones on you can use the internal mic as trigger source.\r\n\r\n// An integrator on env0 and env1 mimicks the capicitor of a decay envelope found in most analogue drum modules. coef1 controls this.\r\n\r\n// True happiness comes from parallel distortion. Wet/Dry-function for better transient and cleaner fundamental.\r\n\r\n\r\n(\r\n\tSynthDef(\"kicktrig\", {\r\n\targ\r\n\r\n\tin=0, gain=1, hpf=170,lpf=6500,tresh=0.01, minDur=0.01,  lpfclick=7000, coef1=0.5,\r\n\r\n\tpitchkick=40, pitchrel=0.17, pitchmod=5, pitchcrv=(-7),\r\n\r\n\t                             amprel=1.6, ampcrv=(-12),oscamp=1,\r\n\r\n\t                                     clickrel=0.18, clickamp=0.31,clickcrv=(-9),\r\n\r\n\t                                                     dist=7, wet=0.5, amp=1, out=0;\r\n\r\n\t\tvar trig, level, env0, env1, envclick, click, sig, sig2, dir;\r\n\r\n\tdir = SoundIn.ar(in,1);\r\n\r\n\ttrig = LPF.ar(HPF.ar(dir,hpf),lpf);\r\n\r\n\ttrig = trig.tanh;\r\n\r\n\tlevel = Amplitude.kr(trig,0.001,amprel*2);\r\n\r\n\r\n\ttrig = Coyote.kr(trig*gain,0.2,0.2,0.01,0.5, tresh,minDur);\r\n\r\n\t\t\tenv0 = EnvGen.kr(Env.perc(0.003,amprel,1,ampcrv),trig,level);\r\n\r\n\tenv0 = Integrator.kr(env0,coef1);\r\n\r\n\tenv0 = Clip.kr(env0,0,10);\r\n\r\n\r\n\tenv1 = EnvGen.kr(Env.perc(0.005,pitchrel,pitchmod,pitchcrv),trig,sqrt(level));\r\n\r\n\tenv1 = Integrator.kr(env1,coef1);\r\n\r\n\tenv1 = Clip.kr(env1,0,40);\r\n\r\n\r\n\tenvclick=EnvGen.kr(Env.perc(0.001,clickrel,clickamp,clickcrv),trig,level+0.1);\r\n\r\n\tenvclick = Clip.kr(envclick,0,20);\r\n\r\n\r\n\r\n\t\t\tclick = LPF.ar(WhiteNoise.ar(1),((env1/pitchmod)*lpfclick)+40,envclick);\r\n\r\n\tsig = click + SinOsc.ar((env1+1)*pitchkick, pi/2, oscamp);\r\n\r\n\tsig = LeakDC.ar(env0*sig,0.996);\r\n\r\n\t\tsig = Balance2.ar(sig,(sig*dist).tanh/3,(wet*2)-1);\r\n\r\n\tsig = Limiter.ar(Mix.ar(sig/2),amp);\r\n\tsig = sig.tanh;\r\n\r\n\r\n\tOut.ar(out,sig!2);\r\n\r\n}).add;\r\n)\r\n\r\n~kickdrum.free;\r\n~kickdrum = Synth.new(\"kicktrig\");\r\n\r\n(\r\n\r\n//trigger conditioning\r\n~kickdrum.set(\\in,0);\r\n~kickdrum.set(\\gain,1);\r\n~kickdrum.set(\\hpf,170);\r\n~kickdrum.set(\\lpf,6500);\r\n~kickdrum.set(\\tresh,0.01);\r\n~kickdrum.set(\\mindur,0.01);\r\n\r\n//output management + distortion\r\n~kickdrum.set(\\dist,7);\r\n~kickdrum.set(\\wet,0.5);\r\n~kickdrum.set(\\amp,1);\r\n~kickdrum.set(\\out,0);\r\n\r\n// Capacitor Simulation\r\n~kickdrum.set(\\coef1,0.6);\r\n\r\n// Skin Parameters\r\n~kickdrum.set(\\pitchkick,40);\r\n~kickdrum.set(\\pitchrel,0.15);\r\n~kickdrum.set(\\pitchmod,5);\r\n~kickdrum.set(\\pitchcrv,-7);\r\n\r\n~kickdrum.set(\\oscamp,1);\r\n\r\n~kickdrum.set(\\amprel,1.6);\r\n~kickdrum.set(\\ampcrv,-12);\r\n\r\n\r\n\r\n// Click+Noise Parameters\r\n~kickdrum.set(\\clickrel,0.1);\r\n~kickdrum.set(\\lpfclick,5000);\r\n~kickdrum.set(\\clickamp,1);\r\n~kickdrum.set(\\clickcrv,-9);\r\n)",
   "id" : "1-5il",
   "is_private" : null,
   "name" : "Audio-triggered Kickdrum",
   "author" : "Bernhard Zitz",
   "ancestor_list" : [],
   "description" : "Triggered DRUM, inspired by analogue drum brains like Simmons SDS-V oder Tama Techstar"
}
