{
   "is_private" : null,
   "id" : "1-56B",
   "code" : "s.boot;\r\n\r\n\r\n(\r\nNdef(\\ambienceMaker).addSpec(\\rWet, [-1, 1, \\lin]);\r\nNdef(\\ambienceMaker).addSpec(\\rateRedux, [0, 1]);\r\nNdef(\\ambienceMaker).addSpec(\\bits, [1, 32, \\lin]);\r\n\r\nNdef(\\ambienceMaker).addSpec(\\bpWet, [0, 1, \\lin]);\r\nNdef(\\ambienceMaker).addSpec(\\bpFreq, \\freq);\r\nNdef(\\ambienceMaker).addSpec(\\bpRq, [0, 2, \\lin]);\r\n\r\nNdef(\\ambienceMaker).addSpec(\\hpnoise, [-48, 0, \\db]);\r\nNdef(\\ambienceMaker).addSpec(\\white, [-48, 0, \\db]);\r\nNdef(\\ambienceMaker).addSpec(\\pink, [-48, 0, \\db]);\r\nNdef(\\ambienceMaker).addSpec(\\brown, [-48, 0, \\db]);\r\nNdef(\\ambienceMaker).addSpec(\\gray, [-48, 0, \\db]);\r\nNdef(\\ambienceMaker).addSpec(\\dust, [-48, 0, \\db]);\r\nNdef(\\ambienceMaker).addSpec(\\dustDensity, [1, s.sampleRate/2, \\exp]);\r\n\r\nNdef(\\ambienceMaker).addSpec(\\drops, [-48, 0, \\db]);\r\nNdef(\\ambienceMaker).addSpec(\\dropDensity, [1, s.sampleRate/2, \\exp]);\r\nNdef(\\ambienceMaker).addSpec(\\dropDecay, [0.001, 1, \\exp]);\r\nNdef(\\ambienceMaker).addSpec(\\dropFFreq, \\freq);\r\nNdef(\\ambienceMaker).addSpec(\\dropFRq, [0, 2, \\lin]);\r\n\r\n\r\n\r\nNdef(\\ambienceMaker, {\r\n\tvar noise, src;\r\n\tvar zeroAmp = 0.0039811;\r\n\tvar hpnoise = \\hpnoise.kr(1).dbamp - zeroAmp;\r\n\tvar hpNFreq = \\hpNFreq.kr(1000, 0.1);\r\n\tvar white = \\white.kr(1).dbamp - zeroAmp;\r\n\tvar pink = \\pink.kr(1).dbamp - zeroAmp;\r\n\tvar brown = \\brown.kr(1).dbamp - zeroAmp;\r\n\tvar gray = \\gray.kr(1).dbamp - zeroAmp;\r\n\tvar dust = \\dust.kr(1).dbamp - zeroAmp;\r\n\tvar dustDensity = \\dustDensity.kr(1);\r\n\r\n\tvar drops = \\drops.kr(1).dbamp - zeroAmp;\r\n\tvar dropDensity = \\dropDensity.kr(1);\r\n\tvar dropDecay = \\dropDecay.kr(1);\r\n\tvar dropFFreq = \\dropFFreq.kr(1);\r\n\tvar dropFRq = \\dropFRq.kr(1);\r\n\r\n\r\n\tvar bpF;\r\n\tvar bpWet = \\bpWet.kr(0);\r\n\tvar bpFreq = \\bpFreq.kr(20000, 0.01);\r\n\tvar bpRq = \\bpRq.kr(1, 0.01);\r\n\r\n\r\n\tvar redux;\r\n\tvar rWet = \\rWet.kr(0);\r\n\tvar rateRedux = \\rateRedux.kr(1, 0.01);\r\n\tvar bits = \\bits.kr(32);\r\n\r\n\r\n\thpnoise = {HPF.ar(PinkNoise.ar(hpnoise), hpNFreq)}!2;\r\n\twhite   = {WhiteNoise.ar(white)}!2;\r\n\tpink    = {PinkNoise.ar(pink)}!2;\r\n\tbrown   = {BrownNoise.ar(brown)}!2;\r\n\tgray    = {GrayNoise.ar(gray)}!2;\r\n\tdust    = {Dust2.ar(dustDensity, dust)}!2;\r\n\r\n\r\n\r\n\tsrc = Mix([white, pink, brown, gray, dust, hpnoise]);\r\n\r\n\tdrops = {Decay.ar(Dust.ar(dropDensity, drops), dropDecay) * PinkNoise.ar}!2;\r\n\r\n\tsrc = Mix([src, drops]);\r\n\r\n\tbpF = BPF.ar(src, bpFreq, bpRq);\r\n\tsrc = SelectX.ar(bpWet, [src, bpF]);\r\n\r\n\tredux = Latch.ar(src, Impulse.ar(SampleRate.ir * (rateRedux/2)));\r\n\tredux = redux.round(0.5 ** bits);\r\n\tSelectX.ar(1 + rWet, [src - redux, src, redux]);\r\n\r\n})\r\n)\r\n\r\nNdef(\\ambienceMaker).gui\r\n13280 * 2\r\n\r\n(\r\nNdef('noiseBurst').set('white', -48.0, 'pink', -40.494860819681, 'bpWet', 0.76190476190476, 'bpRq', 1.2910052910053, 'dust', -17.0397263296, 'dropDecay', 0.0066895487869141, 'dustDensity', 4.89136346687, 'bits', 3.952380952381, 'noiseType', 1.1746031746032, 'dropFFreq', 119.89685006379, 'bpFreq', 928.31776672256, 'brown', -36.400703367795, 'dropDensity', 6.7191745397468, 'dropFRq', 0.074074074074074, 'gray', -48.0, 'rateRedux', 0.47619047619048, 'drops', -9.8101205277825, 'rWet', 0.37037037037037);\r\n\r\n)",
   "labels" : [
      "rain",
      "noise",
      "ambience",
      "background",
      "wind",
      "snow",
      "room tone",
      "hiss"
   ],
   "description" : "Create (atm. constant) wind and rain. Infinite possibilities! Easily expandable! A breeze!",
   "ancestor_list" : [],
   "author" : "LFSaw",
   "name" : "Ambience Maker"
}
