{
   "name" : "RaggaTek-000001",
   "author" : "Robert Boyd",
   "description" : "",
   "ancestor_list" : [],
   "labels" : [],
   "is_private" : null,
   "id" : "1-5gK",
   "code" : "// Raggatek track in SuperCollider\r\n\r\nTempoClock.default.tempo = 190/60; // Set the tempo to 190 BPM\r\n\r\n// Define the bassline\r\n(\r\nSynthDef(\\bassline, {\r\n    arg gate = 1, freq = 60, cutoff = 80, resonance = 0.9, dist = 0.8, amp = 1;\r\n    var env, sound;\r\n    env = Env.adsr(0.01, 0.2, 0.6, 0.2, 0.1);\r\n    sound = Saw.ar(freq) * env;\r\n    sound = LPF.ar(sound, cutoff, resonance);\r\n    sound = Distortion.ar(sound, dist, 0.1);\r\n    sound = sound * amp * gate;\r\n    Out.ar(0, sound);\r\n}).add;\r\n)\r\n\r\n// Define the drums\r\n(\r\nSynthDef(\\drums, {\r\n    arg gate = 1;\r\n    var sound, env, amp;\r\n    sound = PlayBuf.ar(1, BufRateScale.ir(BufRd.ar(1, Impulse.kr(0.5), 1)), loop: 1, doneAction: 2);\r\n    sound = HPF.ar(sound, 50);\r\n    env = EnvGen.kr(Env.linen(0, 0.05, 0.2, 0.1), gate, doneAction: 2);\r\n    amp = EnvGen.kr(Env.new([0, 1, 0.6, 0], [0.1, 0.1, 0.8], [2, -3, -3]), doneAction: 2);\r\n    sound = sound * env * amp;\r\n    Out.ar(0, sound!2);\r\n}).add;\r\n)\r\n\r\n// Play the bassline and drums\r\n(\r\nPbind(\r\n    \\instrument, \\bassline,\r\n    \\degree, Pseq([0, 0, 7, 7, 9, 9, 7, 5, 5, 4, 4, 2, 2], inf),\r\n    \\dur, Pseq([0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5], inf),\r\n    \\gate, Pseq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], inf),\r\n    \\cutoff, Pseq([80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80], inf),\r\n    \\resonance, 0.9,\r\n    \\dist, 0.8,\r\n    \\amp, 1\r\n).play;\r\n)\r\n\r\n(\r\nPbind(\r\n    \\instrument, \\drums,\r\n    \\gate, Pseq([1, 1, 1, 1, 1, 1, 1, 1], inf),\r\n).play;\r\n)"
}
