{
   "id" : "1-5dX",
   "is_private" : null,
   "code" : "(\r\ns.waitForBoot{\r\n\r\n\r\n/*\r\n=========== RHODES SYNTHDEF ==========\r\n*/\r\n\r\n\r\nSynthDef(\\FMRhodes1, {\r\n    arg\r\n    // standard meanings\r\n    out = 0, freq = 440, gate = 1, pan = 0, amp = 0.1, att = 0.001, rel = 1, lfoSpeed = 4.8, inputLevel = 0.2,\r\n    // all of these range from 0 to 1\r\n    modIndex = 0.2, mix = 0.2, lfoDepth = 0.1;\r\n\r\n    var env1, env2, env3, env4;\r\n    var osc1, osc2, osc3, osc4, snd;\r\n\r\n    env1 = Env.perc(att, rel * 1.25, inputLevel, curve: \\lin).kr;\r\n    env2 = Env.perc(att, rel, inputLevel, curve: \\lin).kr;\r\n    env3 = Env.perc(att, rel * 1.5, inputLevel, curve: \\lin).kr;\r\n    env4 = Env.perc(att, rel * 1.5, inputLevel, curve: \\lin).kr;\r\n\r\n    osc4 = SinOsc.ar(freq) * 6.7341546494171 * modIndex * env4;\r\n    osc3 = SinOsc.ar(freq * 2, osc4) * env3;\r\n    osc2 = SinOsc.ar(freq * 30) * 0.683729941 * env2;\r\n    osc1 = SinOsc.ar(freq * 2, osc2) * env1;\r\n    snd = Mix((osc3 * (1 - mix)) + (osc1 * mix));\r\n  \tsnd = snd * (SinOsc.ar(lfoSpeed).range((1 - lfoDepth), 1));\r\n\r\n    snd = snd * Env.asr(0, 1, 0.1).kr(gate: gate, doneAction: 2);\r\n    snd = Pan2.ar(snd, pan, amp);\r\n\r\n    Out.ar(out, snd);\r\n},\r\nmetadata: (\r\n\tcredit: \"Nathan Ho\",\r\n\tcategory: \\keyboards,\r\n\ttags: [\\pitched, \\piano, \\fm]\r\n)\r\n).add;\r\npostln(\"Rhodes Synth intialized.\");\r\n\r\n\r\n/*\r\n=========== HAT SYNTHDEF ==========\r\n*/\r\n\r\nSynthDef(\"hihat\", {arg out = 0, amp = 0.5, att = 0.01, rel = 0.2, ffreq = 6000, pan = 0;\r\n\tvar env, snd;\r\n\tenv = Env.perc(att, rel, amp).kr(doneAction: 2);\r\n\tsnd = WhiteNoise.ar;\r\n\tsnd = HPF.ar(in: snd, freq: ffreq, mul: env);\r\n\tOut.ar(out, Pan2.ar(snd, pan));\r\n}).add;\r\npostln(\"Hat Synth intialized.\");\r\n\r\n\r\n/*\r\n=========== CHORDS & TEMPO ==========\r\n*/\r\n\r\n~metronome = TempoClock.new(60/60).permanent_(true);\r\n~gdom7 =  [67, 71, 74, 77];\r\n~fmaj7 = [65, 69, 72, 76];\r\n\r\n~chord1 = [60, 64, 67, 71]; // Cmaj7 by default\r\n~chord6 = [ 57, 60, 64, 67 ];// Amin7 by default\r\n~chord2 = [ 62, 65, 69, 72 ];// Dmin7 by defauly\r\n~chord5 = [67, 71, 74, 77]; // Gdom7 by default\r\n\r\npostln(\"Chords and Tempo intialized.\");\r\n\r\n/*\r\n=========== DEFINING THE PBIND ==========\r\n*/\r\n\r\nPbindef(\\jazz,\r\n\t\\instrument, \\FMRhodes1,\r\n\t\\dur, Prand([\r\n\t\t\tPseq([Rest(1/2), 1/2], inf),\r\n\t\t\t// Pseq([1/2], inf)\r\n\t]),\r\n\t\\midinote, Pseq([\r\n\t\t~chord1, ~chord1, ~chord1, ~chord1,\r\n\t\t~chord6, ~chord6, ~chord6, ~chord6,\r\n\t\t~chord2, ~chord2, ~chord2, ~chord2,\r\n\t\t~chord5, ~chord5, ~chord5, ~chord5\r\n\r\n\t], inf),\r\n\t\\rel, 0.4,\r\n\t\\mix, 0.2,\r\n    \\modIndex, 0.2,\r\n    \\lfoSpeed, 0.5,\r\n    \\lfoDepth, 0.4,\r\n    \\inputLevel, Pgauss(0.8, 0.1, inf),\r\n    \\amp, 0.2,\r\n\t\\legato, Pseq([1/2], inf),\r\n\t\\strum, Pwhite(0, 0.02),\r\n\t\\ctranspose, -4,\r\n);\r\n\r\n\r\n\tPbindef(\\jazz).quant_(30/60 * 4);\r\n\r\nPbindef(\\drums,\r\n\t\\instrument, \"hihat\",\r\n\t\\dur, Pseq([1/12*2, Rest(1/6*2), 1/12*2, Rest(1/12*2), 1/12*2], inf),\r\n\t\\att, 0.01,\r\n\t\\rel, -0.005*~metronome.tempo + 1,\r\n\t\\ffreq, 11500,\r\n\t\\pan, 0,\r\n\t\\amp, 0.2\r\n);\r\n\r\n\tPbindef(\\drums).quant_(30/60 * 4);\r\n\r\n}\r\n)\r\n\r\nPbindef(\\jazz).stop;\r\nPbindef(\\drums).stop;\r\n\r\n~metronome = TempoClock.new(30/60).permanent_(true);",
   "labels" : [],
   "ancestor_list" : [],
   "description" : "",
   "name" : "SC Jazz",
   "author" : "suhelkeswani"
}
