{
   "author" : "wondersluyter",
   "name" : "No Quarter pluck synth bass sound",
   "ancestor_list" : [],
   "description" : "In response to http://sound.stackexchange.com/questions/35138/help-me-make-a-patch-for-this-bass-stab-pluck\r\n\r\nListen at http://ericsluyter.com/sounds/noquarterbass.mp3",
   "labels" : [
      "bass",
      "synth",
      "pluck"
   ],
   "code" : "(\r\nSynthDef(\\bass, { |outbus, midinote = 42|\r\n  var freq = midinote.midicps;\r\n  var subfreq = freq / 2;\r\n  \r\n  // Envelopes\r\n  var subenv = EnvGen.kr(Env.perc(0, 1), doneAction:2);\r\n  var env = EnvGen.kr(Env.perc(0, 0.5));\r\n  \r\n  // Component synthesis\r\n  var pluck = Pluck.ar(PinkNoise.ar, 1, 0.2, subfreq.reciprocal) * subenv * 2;\r\n  var tri = VarSaw.ar(freq) * env;\r\n  var sin = SinOsc.ar(freq) * env;\r\n  var sub = (SinOsc.ar([subfreq, subfreq - 2, subfreq + 2]).sum * subenv).tanh;\r\n  var click = RLPF.ar(Impulse.ar(0), [2000, 8000], 1).sum * 1000;\r\n  \r\n  // Initial signal\r\n  var sig = pluck + tri + sub + click;\r\n  \r\n  // Resonant LPFs\r\n  sig = RLPF.ar(sig, XLine.ar(freq * 100, freq * 10, 0.15));\r\n  sig = sig + (MoogFF.ar(sig, freq * 20, 2.5) * 0.1);\r\n  \r\n  // EQ resulting signal\r\n  sig = BPeakEQ.ar(sig, 400, 0.5, -9);\r\n  sig = BPeakEQ.ar(sig, 2000, 0.5, 6);\r\n  sig = BHiShelf.ar(sig, 8000, 1, 3);\r\n  sig = BPeakEQ.ar(sig, 200, 1, 3);\r\n  \r\n  // Apply another envelope to dampen a bit more\r\n  sig = sig * XLine.kr(1, 0.6, 0.1);\r\n  \r\n  // Tanh distortion / limiting\r\n  sig = (sig * 1).tanh;\r\n  \r\n  // Another round of signal coloring, using another RLPF\r\n  // and sine components\r\n  sig = sig + RLPF.ar(sig, XLine.ar(freq * 100, freq * 10, 0.15)) + sin + sub;\r\n  \r\n  // Another round of tanh distortion / limiting\r\n  sig = (sig / 2.3).tanh;\r\n  \r\n  // Another resonant LPF\r\n  sig = MoogFF.ar(sig, XLine.ar(freq*150, freq*30, 0.1), 0.1);\r\n  \r\n  Out.ar(outbus, sig!2);\r\n}).add;\r\n)\r\n\r\n(\r\nTempoClock.default.tempo = 1.8;\r\n\r\nPbind(\r\n  \\instrument, \\bass,\r\n  \\midinote, Pseq([\r\n    Pseq([Rest, 42, 42], 3),\r\n    Pseq([Rest, 42, 42, 42]),\r\n    Pseq([Rest, 42, 42], 3),\r\n    Pseq([Rest, 45, 45, 42])\r\n  ], inf),\r\n  \\dur, Pseq([\r\n    Pseq([0.75, 0.75, 0.5], 3),\r\n    Pseq([0.5, 0.25, 0.75, 0.5])\r\n  ], inf)\r\n).play\r\n)",
   "id" : "1-4YY",
   "is_private" : null
}
