{
   "author" : "LFSaw",
   "name" : "DFM & Greyhole dronin'",
   "ancestor_list" : [],
   "description" : "Exploring sonic possibilities of the DFM and Greyhole UGens.",
   "labels" : [
      "drone",
      "jit"
   ],
   "code" : "// requires sc3-plugins\r\n(\r\n// requires JITLibExtensions quark, if you don't have it, try global syntax \r\n//     Spec.add(\\root, [50, 800, \\exp]);\r\n// instead\r\n\r\nNdef(\\dfm).addSpec(\\root, [50, 800, \\exp]);\r\nNdef(\\dfm).addSpec(\\width, [0, 1, \\lin]);\r\nNdef(\\dfm).addSpec(\\ffreqIdx, [0.1, 4, \\exp]);\r\nNdef(\\dfm).addSpec(\\aNoise, [0, 0.1, \\lin]);\r\nNdef(\\dfm).addSpec(\\aSaw, [0, 1, \\lin]);\r\nNdef(\\dfm).addSpec(\\fWet, [0, 1, \\lin]);\r\nNdef(\\dfm).addSpec(\\aPing, [0, 1, \\lin]);\r\n\r\nNdef(\\dfm, {\r\n\tvar root = \\root.kr(80, 2);\r\n\tvar lfo1 = LFTri.kr([0.5, 0.501]);\r\n\tvar filter;\r\n\t\r\n\t\r\n\tvar src = VarSaw.ar([root,root*1.01], 0, \\width.kr(0.5, 1),0.1 * \\aSaw.kr(1)) + ({PinkNoise.ar(\\aNoise.kr(0, 1))}!2) + Splay.ar((LFPulse.ar([3, 5, 7, 11].scramble * 0.1, 0, 0.01, \\aPing.kr(0, 1)) * LFCub.ar(16 * root)));\r\n\t\r\n\t\r\n\tfilter = DFM1.ar(\r\n\t\tsrc,\r\n\t\tfreq: \\ffreqIdx.kr(2, 1) * root,\r\n\t\tres:  lfo1.linlin(-1, 1, 0.1, 1.1),\r\n\t\tinputgain: 1,\r\n\t\ttype: 0, // SinOsc.kr(10, [0, pi]).range(0,1),\r\n\t\tnoiselevel: 0.0003,\r\n\t\tmul: 0.5\r\n\t);\r\n\t\r\n\tsrc = SelectX.ar(\\fWet.kr(1, 4), [src, filter]);\r\n\t\r\n\tsrc\r\n\t// MyRotate2.ar(src, lfo1.first)\r\n});\r\n);\r\n\r\n(\r\nNdef(\\verb).addSpec(\\damp, [0, 1]);\r\nNdef(\\verb).addSpec(\\diff, [0, 1]);\r\nNdef(\\verb).addSpec(\\highband, [1000, 10000, \\exp]);\r\nNdef(\\verb).addSpec(\\highx, [0, 1]);\r\nNdef(\\verb).addSpec(\\lowband, [100, 6000, \\exp]);\r\nNdef(\\verb).addSpec(\\lowx, [0, 1]);\r\nNdef(\\verb).addSpec(\\modDepth, [0, 50]);\r\nNdef(\\verb).addSpec(\\modFreq, [0, 2]);\r\nNdef(\\verb).addSpec(\\midx, [0, 1]);\r\nNdef(\\verb).addSpec(\\size, [0.5, 3]);\r\nNdef(\\verb).addSpec(\\t60, [0.1, 60, \\exp]);\r\nNdef(\\verb).addSpec(\\wet, [0, 1]);\r\nNdef(\\verb).addSpec(\\shelfslope, [1, 10]);\r\nNdef(\\verb).addSpec(\\shelfFreq, \\freq);\r\nNdef(\\verb).addSpec(\\fb, [0, 1]);\r\nNdef(\\verb).addSpec(\\dtime, [0, 2]);\r\n\r\nNdef(\\verb, {\r\n    var src, delay, amp;\r\n\r\n    src = LeakDC.ar(Ndef(\\dfm).ar);\r\n    src = src * \\amp.kr(1);\r\n    // var src = Impulse.ar(0.5);\r\n\r\n    delay = Greyhole.ar(\r\n        src,\r\n        \\dtime.kr(0.1),\r\n        \\damp.kr(0.1),\r\n        \\size.kr(1),\r\n        \\diff.kr(0.707),\r\n        \\fb.kr(0.1),\r\n        \\modDepth.kr(0.01),\r\n        \\modFreq.kr(2)\r\n    );\r\n    delay\r\n})\r\n)\r\n\r\nNdef(\\dfm).edit\r\nNdef(\\verb).edit\r\n\r\nNdef(\\dfm).xset(\\root, 69)",
   "is_private" : null,
   "id" : "1-572"
}
