«Audio-triggered Kickdrum» by Bernhard Zitz
on 22 Dec'24 00:58 inTriggered DRUM, inspired by analogue drum brains like Simmons SDS-V oder Tama Techstar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
//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. // An integrator on env0 and env1 mimicks the capicitor of a decay envelope found in most analogue drum modules. coef1 controls this. ( SynthDef("kicktrig", { arg in=0, gain=1, hpf=170,lpf=6500,tresh=0.01, minDur=0.01, lpfclick=7000, coef1=0.5, pitchkick=40, pitchrel=0.17, pitchmod=5, pitchcrv=(-7), amprel=1.6, ampcrv=(-12),oscamp=1, clickrel=0.18, clickamp=0.31,clickcrv=(-9), dist=7, wet=0.5, amp=1, out=0; var trig, level, env0, env1, envclick, click, sig, sig2, dir; dir = SoundIn.ar(in,1); trig = LPF.ar(HPF.ar(dir,hpf),lpf); trig = trig.tanh; level = Amplitude.kr(trig,0.001,amprel*2); trig = Coyote.kr(trig*gain,0.2,0.2,0.01,0.5, tresh,minDur); env0 = EnvGen.kr(Env.perc(0.003,amprel,1,ampcrv),trig,level); env0 = Integrator.kr(env0,coef1); env0 = Clip.kr(env0,0,10); env1 = EnvGen.kr(Env.perc(0.005,pitchrel,pitchmod,pitchcrv),trig,sqrt(level)); env1 = Integrator.kr(env1,coef1); env1 = Clip.kr(env1,0,40); envclick=EnvGen.kr(Env.perc(0.001,clickrel,clickamp,clickcrv),trig,level+0.1); envclick = Clip.kr(envclick,0,20); click = LPF.ar(WhiteNoise.ar(1),((env1/pitchmod)*lpfclick)+40,envclick); sig = click + SinOsc.ar((env1+1)*pitchkick, pi/2, oscamp); sig = LeakDC.ar(env0*sig,0.996); sig = Balance2.ar(sig,(sig*dist).tanh/3,(wet*2)-1); sig = Limiter.ar(Mix.ar(sig/2),amp); sig = sig.tanh; Out.ar(out,sig!2); }).add; ) ~kickdrum.free; ~kickdrum = Synth.new("kicktrig"); ( //trigger conditioning ~kickdrum.set(\in,0); ~kickdrum.set(\gain,1); ~kickdrum.set(\hpf,170); ~kickdrum.set(\lpf,6500); ~kickdrum.set(\tresh,0.01); ~kickdrum.set(\mindur,0.01); ~kickdrum.set(\dist,7); ~kickdrum.set(\wet,0.5); ~kickdrum.set(\amp,1); ~kickdrum.set(\out,0); ~kickdrum.set(\coef1,0.6); ~kickdrum.set(\pitchkick,40); ~kickdrum.set(\pitchrel,0.15); ~kickdrum.set(\pitchmod,5); ~kickdrum.set(\pitchcrv,-7); ~kickdrum.set(\oscamp,1); ~kickdrum.set(\amprel,1.6); ~kickdrum.set(\ampcrv,-12); ~kickdrum.set(\clickrel,0.1); ~kickdrum.set(\lpfclick,5000); ~kickdrum.set(\clickamp,1); ~kickdrum.set(\clickcrv,-9); )
reception
comments