{
   "code" : "(\r\n{ | dur = 0.15, atk = 0.005, amp = 1 |\r\n\tSinOsc.ar(\r\n\t\tEnvGen.ar( Env(\r\n\t\t\tNamedControl.kr(\\freq_l, [2960, 70, 90]),\r\n\t\t\tNamedControl.kr(\\freq_d, [0.07, 0.2]),\r\n\t\t\tNamedControl.kr(\\freq_c, [-13, -1]),\r\n\t\t) ),\r\n\t\tmul:amp * EnvGen.ar(\r\n\t\t\tEnv.perc( atk, dur - atk, curve: NamedControl.kr(\\amp_c, [-1, 6])),\r\n\t\t\tdoneAction: 2\r\n\t\t);\t\r\n\t) ! 2;\r\n}.asSynthDef.name_(\"kick\").add;\r\n\r\n{ | atk = 0.01, dur = 0.15, freq = 50, amp=0.8 |\r\n\tBPF.ar(LFSaw.ar(freq), freq, 2, mul: EnvGen.kr( Env.perc( atk, dur-atk, amp, 6 ), doneAction: 2 )) ! 2;\r\n}.asSynthDef.name_(\"bass\").add;\r\n\r\n{ | dur = 0.15, freq = 50, amp = 0.8, index = 10 |\r\n\tPMOsc.ar(freq, freq + 5, index, mul: amp * EnvGen.kr( Env.triangle( dur ), doneAction: 2 )) ! 2;\r\n}.asSynthDef.name_(\"bazz\").add;\r\n)\r\n\r\n\r\n(\r\nPpar([\r\n\tPbind(*[\r\n\t\tinstrument: \\kick,\r\n\t\tdelta: 1,\r\n\t\tdur: Pfunc({ thisThread.clock.beatDur }) / 4,\r\n\t\tamp: Pseq([\r\n\t\t\tPseq([1], 16),\r\n\t\t\tPseq([0.8, 1], 8),  \r\n\t\t\tPseq([1], 16),\r\n\t\t\tPseq([0.8, 0.8, 0.9, 1], 8)\r\n\t\t], inf) * 0.8,\r\n\t\tfreq_l: Pstutter(Prand(2.pow((1..4)),inf), Pseq([\r\n\t\t\t`[2960,70,90],\r\n\t\t\t`[1260,60,110],\r\n\t\t\t`[4360,60,120]\r\n\t\t],inf))\r\n\t]),\r\n\tPbind(*[\r\n\t\tinstrument: \\bass,\r\n\t\tdelta: 1/4,\r\n\t\tdur: Pkey(\\delta) * Pfunc({ thisThread.clock.beatDur }),\r\n\t\tfreq: Pseq([\\r, 50,60,70], inf),\r\n\t\tamp:0.6\r\n\t]),\r\n\tPbind(*[\r\n\t\tinstrument: \\bazz,\r\n\t\tdelta: 1/4,\r\n\t\tdur: Pkey(\\delta) * Pfunc({ thisThread.clock.beatDur }),\r\n\t\tfreq: Pseq([\\r, 30,35,40], inf),\r\n\t\tamp:0.2\r\n\t])\r\n]).play(TempoClock(156/60), quant:[1])\r\n)\r\n\r\n// kick from above?\r\n(\r\nPbind(*[\r\n\tinstrument: \\kick,\r\n\tdelta: Pseq(Array.geom(540, 1, 1.015).reciprocal.reverse),\r\n\tdur: Pkey(\\delta) * Pfunc({ thisThread.clock.beatDur }),\r\n\tatk: Pkey(\\dur) / 6,\r\n        amp: 0.8\r\n]).play;\r\n)",
   "id" : "1-7",
   "is_private" : null,
   "labels" : [
      "bass",
      "psy",
      "rhythmic"
   ],
   "ancestor_list" : [],
   "description" : "some initial thoughts on psytrance bassline",
   "author" : "vividsnow",
   "name" : "raw bass"
}
