{
   "is_private" : null,
   "id" : "1-4VL",
   "code" : "(\r\nSynthDef(\\prayer_bell, { |outbus, t_trig = 1, sing_switch = 0, freq = 2434, amp = 0.5, decayscale = 1, lag = 10, i_doneAction = 0|\r\n  var sig, input, first, freqscale, mallet, sing;\r\n  freqscale = freq / 2434;\r\n  freqscale = Lag3.kr(freqscale, lag);\r\n  decayscale = Lag3.kr(decayscale, lag);\r\n\r\n  mallet = LPF.ar(Trig.ar(t_trig, SampleDur.ir)!2, 10000 * freqscale);\r\n  sing = LPF.ar(\r\n    LPF.ar(\r\n      {\r\n        PinkNoise.ar * Integrator.kr(sing_switch * 0.001, 0.999).linexp(0, 1, 0.01, 1) * amp\r\n      } ! 2,\r\n      2434 * freqscale\r\n    ) + Dust.ar(0.1), 10000 * freqscale\r\n  ) * LFNoise1.kr(0.5).range(-45, -30).dbamp;\r\n  input = mallet + (sing_switch.clip(0, 1) * sing);\r\n\r\n\r\n  sig = DynKlank.ar(`[\r\n    [\r\n      (first = LFNoise1.kr(0.5).range(2424, 2444)) + Line.kr(20, 0, 0.5),\r\n      first + LFNoise1.kr(0.5).range(1,3),\r\n      LFNoise1.kr(1.5).range(5435, 5440) - Line.kr(35, 0, 1),\r\n      LFNoise1.kr(1.5).range(5480, 5485) - Line.kr(10, 0, 0.5),\r\n      LFNoise1.kr(2).range(8435, 8445) + Line.kr(15, 0, 0.05),\r\n      LFNoise1.kr(2).range(8665, 8670),\r\n      LFNoise1.kr(2).range(8704, 8709),\r\n      LFNoise1.kr(2).range(8807, 8817),\r\n      LFNoise1.kr(2).range(9570, 9607),\r\n      LFNoise1.kr(2).range(10567, 10572) - Line.kr(20, 0, 0.05),\r\n      LFNoise1.kr(2).range(10627, 10636) + Line.kr(35, 0, 0.05),\r\n      LFNoise1.kr(2).range(14689, 14697) - Line.kr(10, 0, 0.05)\r\n    ],\r\n    [\r\n      LFNoise1.kr(1).range(-10, -5).dbamp,\r\n      LFNoise1.kr(1).range(-20, -10).dbamp,\r\n      LFNoise1.kr(1).range(-12, -6).dbamp,\r\n      LFNoise1.kr(1).range(-12, -6).dbamp,\r\n      -20.dbamp,\r\n      -20.dbamp,\r\n      -20.dbamp,\r\n      -25.dbamp,\r\n      -10.dbamp,\r\n      -20.dbamp,\r\n      -20.dbamp,\r\n      -25.dbamp\r\n    ],\r\n    [\r\n      20 * freqscale.pow(0.2),\r\n      20 * freqscale.pow(0.2),\r\n      5,\r\n      5,\r\n      0.6,\r\n      0.5,\r\n      0.3,\r\n      0.25,\r\n      0.4,\r\n      0.5,\r\n      0.4,\r\n      0.6\r\n    ] * freqscale.reciprocal.pow(0.5)\r\n  ], input, freqscale, 0, decayscale);\r\n  DetectSilence.ar(sig, doneAction: i_doneAction);\r\n  Out.ar(outbus, sig);\r\n}).add;\r\n)\r\n\r\n\r\n(\r\nPdef(\\bell_1,\r\n  Pmono(\\prayer_bell,\r\n    \\dur, Pseq([8, 20], inf),\r\n    \\freq, Pseq([2500, 500], inf),\r\n    \\amp, 0.5,\r\n    \\lag, 0,\r\n    \\trig, Pseq([0.1], inf) * Pwhite(0.5, 1, inf) * Pwrand([0, 1], [1, 5].normalizeSum, inf),\r\n    \\sing_switch, Pseq((0!4) ++ (1!4), inf)\r\n  )\r\n);\r\n\r\nPdef(\\bell_2,\r\n  Pmono(\\prayer_bell,\r\n    \\dur, Pwhite(8, 20, inf),\r\n    \\trig, Pwhite(0.05, 0.09),\r\n    \\sing_switch, Pwrand([0, 1], [5, 3].normalizeSum, inf),\r\n    \\freq, Prand((240, 360 .. 2000), inf),\r\n    \\amp, 0.5\r\n  )\r\n);\r\n\r\nPdef(\\bell_3,\r\n  Ppar([\r\n    Pmono(\\prayer_bell,\r\n      \\freq, 100,\r\n      \\dur, 1,\r\n      \\trig, 0,\r\n      \\sing_switch, Pwrand([0, 1], [10, 3].normalizeSum, inf),\r\n      \\amp, Pwhite(0.1, 0.5)\r\n    ),\r\n    Pmono(\\prayer_bell,\r\n      \\freq, 200,\r\n      \\dur, 1,\r\n      \\trig, 0,\r\n      \\sing_switch, Pwrand([0, 1], [10, 3].normalizeSum, inf),\r\n      \\amp, Pwhite(0.1, 0.5)\r\n    ),\r\n    Pmono(\\prayer_bell,\r\n      \\freq, 300,\r\n      \\dur, 1,\r\n      \\trig, 0,\r\n      \\sing_switch, Pwrand([0, 1], [10, 3].normalizeSum, inf),\r\n      \\amp, Pwhite(0.1, 0.5)\r\n    )\r\n  ])\r\n);\r\n\r\nPdef(\\bell_1).play;\r\nPdef(\\bell_2).play;\r\nPdef(\\bell_3).play;\r\n)",
   "labels" : [
      "bell",
      "resonance",
      "peaceful"
   ],
   "description" : "Acoustically modeled based on [http://www.freesound.org/people/sarana/sounds/81832/](http://www.freesound.org/people/sarana/sounds/81832/)",
   "ancestor_list" : [],
   "author" : "wondersluyter",
   "name" : "Tibetan prayer bells"
}
