{
   "author" : "zepadovani",
   "name" : "\"basso gettato\" sctweet autopsy",
   "description" : "An attempt to explain my sctweet \"basso gettato\", published in the web-album \"SC140\" by The Wire by an initiative of Dan Stowell. (http://supercollider.github.io/community/sc140.html).",
   "ancestor_list" : [],
   "labels" : [
      "bass",
      "sctweet",
      "sc140",
      "granulation",
      "basso gettato",
      "trig",
      "grainin"
   ],
   "is_private" : null,
   "id" : "1-4Zx",
   "code" : "//Some people have asked me to explain my sctweet \"basso gettato\" published in the web-album \"SC140\" by The Wire by an initiative of Dan Stowell. (http://supercollider.github.io/community/sc140.html)\r\n\r\n//Here is my attempt to explain the code:\r\n\r\n//original sctweet\r\nplay{x=165;b=SinOsc;p=Trig.ar(Saw.ar(x),1);y=b.ar(p*x);z=b.ar(p);(GVerb.ar(GrainIn.ar(2,y,y/2,z,p*z,-1),9))/9}//basso gettato #SuperCollider\r\n\r\n\r\n//p\r\n//creates a \"nice series\" of numbers above 0 and below 1 with the duration of 1 second\r\n{Saw.ar(165)}.plot(0.1) //simple sawtooth wave\r\n{Trig.ar(Saw.ar(165),1).poll}.play //get values just after the \"above 0\" jump\r\n{Trig.ar(Saw.ar(165),1)}.plot(30) //wait 30 seconds, go get a cofee, and come back to see the skyscraper profile of the \"nice numbers\" generated\r\n\r\n//z\r\n//is a variable LFO as it is a SinOsc with frequency argument equal to the current \"nice number\" generated by p\r\n{SinOsc.ar((Trig.ar(Saw.ar(165),1)).poll)}.play\r\n\r\n//y\r\n//is a faster version of z, as the sinusoids have the frequency values generated by the multiplication of p \"nice values\" and 165\r\n{SinOsc.ar((Trig.ar(Saw.ar(165),1)*165).poll)}.play \r\n\r\n//grainin\r\n// creates grains of z at y rate, duration is y/2 and pan of each grain is given by p*z\r\n// althought z itself is not in the audible range, the rate makes the little pulses audible either as a slow rhythm (when y is very low) or as a low note (when y is near 165)\r\n// trigger argument:\r\nGrainIn.ar(2,y,y/2,z,p*z,-1)\r\n\r\n//GVerb: well... everything is cooler with GVerb!\r\n{Saw.ar(0.1)}.plot(1)\r\n\r\n//A final note: 165 works well because it does not fit to the samplerate / block size values. For example, try to use the value (44100/64) – or any simple ratio of it – instead and you will have something a bit more monotonous"
}
