{
   "ancestor_list" : [],
   "description" : "I aimed for the sound of a creaky door but fell a little short - you be the judge.",
   "author" : "38nonprivate",
   "name" : "Creaking door or roulette wheel?",
   "code" : "(\r\n\r\n{\r\n\r\nvar output, basePitch = 387, macroPitch, macroPitchAmt = 400;\r\nvar modOsc, modAmt = 1.3, amp = 0.8;\r\nvar creakRate, creakTrig, creakEnvGen, noise, combs, oscFreq;\r\n\r\nnoise = LFNoise1.ar(LFNoise0.kr(4.8).lag(0.4).range(3646, 7777), 0.6);\r\n\r\ncreakRate = EnvGen.kr(\r\n Env(\r\n  [40, 25, 15, 2],\r\n  [0.9, 0.6, 1.0],\r\n  -4\r\n ),\r\n doneAction: 2\r\n\r\n);\r\ncreakTrig = Impulse.kr(creakRate);\r\n\r\ncreakEnvGen = EnvGen.kr(\r\n Env(\r\n  [0.0, 1.0, 0.0],\r\n  [0.02, 0.1],\r\n  [5, -8]\r\n ),\r\n creakTrig,\r\n timeScale: SinOsc.kr(1.5).range(0.12, 0.26) * Line.kr(0.5, 2.3, 2)\r\n\r\n);\r\n\r\nmacroPitch = EnvGen.kr(\r\n Env(\r\n  [0.0, 4, 0.1, 0.3, 0.4, 0.7, 0.9],\r\n  [0.2, 0.2, 0.4, 0.3, 0.48, 0.59],\r\n  [2, 2, -4, -3, -2, -4]\r\n )\r\n\r\n);\r\nmodOsc = SinOsc.ar( (basePitch + (macroPitch * macroPitchAmt)) * 0.17);\r\nmodOsc = SinOsc.ar( (basePitch + (macroPitch * macroPitchAmt)) * 0.232, modOsc * 0.3);\r\n\r\noscFreq = basePitch + (macroPitch * macroPitchAmt);\r\noscFreq = oscFreq * (1 + (creakEnvGen * 2));\r\noutput = SinOsc.ar(oscFreq, modOsc * modAmt, 1);\r\noutput = output * SinOsc.ar(SinOsc.kr(1.6).range(1220, 1355));\r\noutput = output + noise;\r\noutput = output.clip(-0.5, 0.5) * creakEnvGen * amp * TRand.kr(0.8, 1.0, creakTrig);\r\n\r\ncombs = Mix([CombC.ar(output, 0.2, 0.0084, 0.12), CombC.ar(output, 0.2, 0.00181, 0.03)]);\r\noutput = output + (combs * 0.2);\r\noutput ! 2\r\n}.play\r\n\r\n\r\n)",
   "is_private" : null,
   "id" : "1-s",
   "labels" : [
      "sound effects"
   ]
}
