{
   "code" : "(\r\nw=1;h=0.5;q=0.25;e=0.125;t=0.3;u=0.4;\r\nc = TempoClock.default;\r\n)\r\n\r\n(\r\nc.tempo = 2.2;\r\n)\r\n\r\n(\r\nSynthDef(\\moth_fm,\r\n\t{\r\n\t\t|amp=0.1,out=0,pan=0,carfreq=200,mod1freq=200,mod1amt=0.1,mod2freq=200,mod2amt=0.1,mod3freq=200,mod3amt=0.1,att=0.005,attCurve=0,dec=0.1,decCurve=0,hpfFreq=2000|\r\n\t\tvar car, mod1, mod2, mod3, env, audio;\r\n\t\tenv = EnvGen.kr(Env([0,1,0],[att,dec],[attCurve,decCurve]),1,amp,doneAction:2);\r\n\t\tmod3 = SinOsc.ar(mod3freq,0,mod3amt);\r\n\t\tmod2 = SinOsc.ar(mod2freq + (mod2freq * mod3), 0, mod2amt);\r\n\t\tmod1 = SinOsc.ar(mod1freq + (mod1freq * mod2), 0, mod1amt);\r\n\t\tcar = SinOsc.ar(carfreq + (carfreq * mod1), 0, env);\r\n\t\tcar = HPF.ar(car,hpfFreq);\r\n\t\taudio = Pan2.ar(car,pan);\r\n\t\tOut.ar(out,audio);\r\n\t}\r\n).add;\r\nSynthDef(\\moth_snare,\r\n\t{\r\n\t\t|carfreq=200,mod1freq=200,mod1amt=0.1,mod2freq=200,mod2amt=0.1,mod3freq=200,mod3amt=0.1,jump=10,amp=0.1,out=0,pan=0,att=0.02,attCurve=2,dec=0.1,decCurve= -3,noiseHpfFreq=440,boost=5,overallHpfFreq=2000|\r\n\t\tvar env, car, mod1, mod2, mod3, beatEnv, noise, noiseEnv, audio;\r\n\t\tenv = EnvGen.kr(Env([0,1,0],[att,dec],[attCurve,decCurve]),1,amp);\r\n\t\tbeatEnv = EnvGen.kr(Env([0,1,0],[0.005,0.02],[1,-2]),1,carfreq*jump);\r\n\t\t//beat = LFTri.ar(freq + beatEnv, 0, env);\r\n\t\tmod3 = SinOsc.ar(mod3freq,0,mod3amt);\r\n\t\tmod2 = SinOsc.ar(mod2freq + (mod2freq * mod3), 0, mod2amt);\r\n\t\tmod1 = SinOsc.ar(mod1freq + (mod1freq * mod2), 0, mod1amt);\r\n\t\tcar = SinOsc.ar(carfreq + (carfreq * mod1) + beatEnv, 0, env);\r\n\t\tnoiseEnv = EnvGen.kr(Env([0,1,0],[0.04,0.25],[-3,-9]),1,amp,doneAction:2);\r\n\t\tnoise = WhiteNoise.ar(noiseEnv);\r\n\t\tnoise = HPF.ar(noise,noiseHpfFreq);\r\n\t\taudio = car + noise;\r\n\t\taudio = (audio * boost).tanh / boost * amp;\r\n\t\taudio = HPF.ar(audio,overallHpfFreq);\r\n\t\taudio = Pan2.ar(audio,pan);\r\n\t\tOut.ar(out,audio);\r\n\t}\r\n).add;\r\nSynthDef(\\moth_kick,\r\n\t{\r\n\t\t|freq=50,amp=0.1,out=0,pan=0,att=0.01,dec=0.4,attCurve=2,decCurve= -2,freqAtt=0.01,freqDec=0.2,freqAttCurve=2,freqDecCurve= -2,freqJump=1,boost=10|\r\n\t\tvar env, freqEnv, audio;\r\n\t\tenv = EnvGen.kr(Env([0,1,0],[att,dec],[attCurve,decCurve]),1,amp,doneAction:2);\r\n\t\tfreqEnv = EnvGen.kr(Env([0,1,0],[freqAtt,freqDec],[freqAttCurve,freqDecCurve]),1,freq*freqJump,freq);\r\n\t\taudio = SinOsc.ar(freqEnv,0,env);\r\n\t\taudio = (audio * boost).tanh / boost;\r\n\t\taudio = Pan2.ar(audio,pan);\r\n\t\tOut.ar(out,audio);\r\n\t}\r\n).add;\r\n)\r\n\r\n(\r\nPdef(\\hats).quant = [c.beatsPerBar];\r\nPdef(\\hats,\r\n\tPpar([\r\n\t\tPbind(\r\n\t\t\t\\instrument, \\moth_kick,\r\n\t\t\t\\freq,Pseq([1,\\,\\,\\, \\,\\,\\,\\, 1,\\,\\,\\, \\,\\,\\,1],inf) * 30,\r\n\t\t\t//\\freq, \\,\r\n\t\t\t\\dur, q,\r\n\t\t\t\\amp, Pseq([1,\\,\\,\\, \\,\\,\\,\\, 1,\\,\\,\\, \\,\\,\\,0.4],inf) * 0.1,\r\n\t\t\t\\att,0.001,\r\n\t\t\t\\dec,0.4,\r\n\t\t\t\\attCurve,2,\r\n\t\t\t\\decCurve,3,\r\n\t\t\t\\freqAtt,0.001,\r\n\t\t\t\\freqDec,0.2,\r\n\t\t\t\\freqAttCurve,2,\r\n\t\t\t\\freqDecCurve,-9,\r\n\t\t\t\\freqJump,10,\r\n\t\t\t\\boost,4\r\n\t\t),\r\n\t\tPbind(\r\n\t\t\t\\instrument, \\moth_snare,\r\n\t\t\t\\amp, 0.1,\r\n\t\t\t\\att, 0.004,\r\n\t\t\t\\attCurve, 2,\r\n\t\t\t\\dec, 0.14,\r\n\t\t\t\\decCurve, -3,\r\n\t\t\t\\amp, 1,\r\n\t\t\t\\dur, w,\r\n\t\t\t\\freq, Pseq([\\,1,\\,1],inf) * 130,\r\n\t\t\t//\\freq, \\,\r\n\t\t\t\\carfreq, Pseq([\\,1,\\,1],inf) * 130 * Pgauss(1,0.03,inf),\r\n\t\t\t\\mod1freq, 414 * Pgauss(1,0.02,inf),\r\n\t\t\t\\mod1amt, 0.6,\r\n\t\t\t\\mod2freq, 200,\r\n\t\t\t\\mod2amt, 0.7,\r\n\t\t\t\\mod3freq, 50,\r\n\t\t\t\\mod3amt, 0.8,\r\n\t\t\t\\jump, 13,\r\n\t\t\t\\timingOffset, Pbrown(-0.02,0.02,0.001,inf),\r\n\t\t\t\\noiseHpfFreq, 2000,\r\n\t\t\t\\boost, 8,\r\n\t\t\t\\overallHpfFreq,500\r\n\t\t),\r\n\t\tPbind(\r\n\t\t\t\\instrument, \\moth_fm,\r\n\t\t\t\\amp, 0.1,\r\n\t\t\t\\carfreq, 5000 * Pgauss(1,0.03,inf),\r\n\t\t\t\\mod1freq, 883 * Pgauss(1,0.02,inf),\r\n\t\t\t\\mod1amt, 0.6,\r\n\t\t\t\\mod2freq, 283,\r\n\t\t\t\\mod2amt, 0.7,\r\n\t\t\t\\mod3freq, 487,\r\n\t\t\t\\mod3amt, 0.8,\r\n\t\t\t\\att, 0.003,\r\n\t\t\t\\attCurve, 2,\r\n\t\t\t\\dec, 0.3,\r\n\t\t\t\\decCurve, -7,\r\n\t\t\t//\\freq, \\,\r\n\t\t\t\\amp, Pseq([0.1,0.02,Pwrand([0,0.02],[9,11].normalizeSum)],inf) * Pgauss(1,0.08,inf),\r\n\t\t\t\\dur, Pseq([h * 1.05, q * 0.95, q * 0.95],inf),\r\n\t\t\t\\timingOffset, Pbrown(-0.02,0.02,0.001,inf),\r\n\t\t\t\\hpfFreq, 3000\r\n\t\t),\r\n\t\tPbind(\r\n\t\t\t\\instrument, \\moth_fm,\r\n\t\t\t\\freqCoefficient, 3,\r\n\t\t\t\\carfreq, 2000 * Pgauss(1,0.01,inf) * Pkey(\\freqCoefficient),\r\n\t\t\t\\mod1freq, 500 * Pgauss(1,0.02,inf) * Pkey(\\freqCoefficient),\r\n\t\t\t\\mod1amt, 0.1,\r\n\t\t\t\\mod2freq, 700 * Pkey(\\freqCoefficient),\r\n\t\t\t\\mod2amt, 0.2,\r\n\t\t\t\\mod3freq, 300 * Pkey(\\freqCoefficient),\r\n\t\t\t\\mod3amt, 0.8,\r\n\t\t\t\\dur, Pseq([h,w,q,q, q,q,q,q, q,q,q,q],inf),\r\n\t\t\t\\amp, Pseq([5,8,7,1, 3,1,5,1, 3,1,7,1],inf) / 140,\r\n\t\t\t\\att, Pseq([1,4,1,1, 1,1,1,1, 1,1,1,1],inf) * 0.003,\r\n\t\t\t\\attCurve, 2,\r\n\t\t\t\\dec, Pseq([1,2,1,1, 1,1,1,1, 1,1,1,1],inf) * 0.3,\r\n\t\t\t\\decCurve, -7,\r\n\t\t\t//\\freq, \\,\r\n\t\t\t\\timingOffset, Pseq([1,2,7,7, 6,6,5,5, 4,4,3,2],inf) / 70 + Pbrown(-0.02,0.02,0.001,inf),\r\n\t\t\t\\hpfFreq, 400\r\n\t\t)\r\n\t])\r\n).play;\r\n)\r\nPdef(\\hats).stop;",
   "id" : "1-57q",
   "is_private" : null,
   "labels" : [
      "drums"
   ],
   "description" : "I like the discoey feel. The snare's probably much too noisy but what the hell.",
   "ancestor_list" : [],
   "name" : "Moth drums",
   "author" : "badnumbersmusic"
}
