Cybernetic+Orchestra+Winter+2015

Jamie Beverley Robert Feurtado Sam Godfrey Tanya Goncalves Aaron Hubbell Ian Jarvis Aaron Hutchinson David Ogborn Jason Rule Franco Simões Cameron Taylor
 * List of orchestra members for CD cover (please CONFIRM by end of Tuesday 31st March 2015):**

1. everybody gets a cable (SuperCollider) 8:27 2. swirl (Tidal/extramuros; live at the Factory) 7:32 3. ghost thread (SuperCollider) 8:17 4. introducing the orchestra (Tidal/extramuros; live at the Factory) 11:08
 * Track titles and durations for the EP**:

Love and gratitude to all past and future members of the Cybernetic Orchestra, our friends, family and supporters, the live coding community, McMaster University (especially Communication Studies and Multimedia, Humanities Media and Computing, Research and High Performance Computing Services, and the Faculty of Humanities), the Factory Media Centre, the rest of Hamilton's James Street N scene, James McCartney, Alex McLean and everyone who has ever contributed to SuperCollider or Tidal, the creators of and contributors to node.js, 0mq and share.js, logo creator Amy McIntosh, Eldad Tsabary, Jacques Carette, Mark Guzdial, Scott Wilson, and... you - for listening!
 * Thank yous to be printed on EP cover:**

d0kt0r0 Tanya Goncalves Jamie Beverley Cameron Taylor frAncIs
 * Sign-up for a solo live coding set at the CD release party (put your name here):**


 * Code Ideas (SuperCollider)**

__Backbeat__
(

SynthDef(\bassDrum,

{

arg amp = 0.1, out = 0;

var sig, env;

env = Env.linen(0.010,0.015,0.020);

env = EnvGen.ar(env,doneAction:2);

sig = LFTri.ar(10,mul:amp);

Out.ar(out,env*sig);

}

).add;

) (

Pbindef(\a,\instrument,\bassDrum).play;

Pbindef(\a,\dur,Pseq([0.25,0.75,1],inf));

Pbindef(\a,\db,24); gain control

Pbindef(\a,\out, [0,1]); should be coming out of speakers L R?

Pbindef(\a).play;

)

(

SynthDef(\drum,

{

arg freq = 55, amp = 0.1;

var signal;

signal = SinOsc.ar(freq:freq,mul:amp);

signal = signal * EnvGen.ar(Env.linen(0.001,0.05), doneAction:2);

Out.ar(0,signal!2); }

).add;

) Pbindef(\test,\instrument,\drum,\db,-7,\dur,2).play;

Pbindef(\test,\midinote,[35]).play

Pbindef(\test).stop

__Pulse__

 * TSH -** when used with low "filt" numbers (like 100~500), it sounds like a drum.

( SynthDef (\tsh, {

arg amp = 0.1, sustain = 0.5, filt = 1000;

var audio, env;

audio = PinkNoise.ar (mul:amp);

env = EnvGen.ar (Env.perc (0.01, sustain, 1), doneAction:2);

audio = HPF.ar (audio, filt);

audio = audio * env;

Out.ar (0, [audio, audio]);

}).add;

) Pbindef (\b, \instrument, \tsh);

Pbindef (\b, \dur, Pseq ([0.25, 0.75, 1],inf));

Pbindef (\b, \filt, Prand ([100, 1000], inf));

Pbindef (\b, \db, Prand([-6], inf));

Pbindef (\b, \legato, 2);

Pbindef (\b, \sustain, 0.1);

Pbindef (\b).play;


 * DUSTY -** can have interesting effects when you change the density of the synth - in Dust.ar ( x ). Parameters like room, mix and legatto also allows very different applications of the synth

(

SynthDef (\dusty,

{ arg amp = 0.1, freq = 440, sustain = 0.5, gate = 1, mix = 0.15, room = 0.15, damp = 0.5;

var audio, env;

audio = Ringz.ar (Dust2.ar(2), freq:freq, decaytime:0.1, mul:amp);

env = Env.adsr(attackTime:0.5,decayTime:0.5,sustainLevel:1,releaseTime:0.9);

audio = audio * EnvGen.ar (env, gate:gate, doneAction:2);

audio = FreeVerb.ar (audio, mix, room, damp, amp);

Out.ar (0, audio);

}).add;

) Pbindef(\h,\instrument,\dusty);

Pbindef(\h,\midinote,Pseq([70],inf));

Pbindef(\h,\dur,4);

Pbindef(\h, \db, -10);

Pbindef(\h, \mix, 0.5);

Pbindef(\h, \room, 0.7);

Pbindef(\h,\legato,1.5);

Pbindef(\h).play(quant:4);

__Harmony/Resonance__
(
 * BASIC**

SynthDef (\basic, {

arg amp = 0.1, freq = 440, sustain = 0.1, room = 0.15, mix = 0.25, damp = 0.5, freq2 = 110;

var audio, audio2, env;

audio = SinOsc.ar (freq - freq2, mul:amp);

audio2 = Saw.ar (freq, amp);

env = EnvGen.ar (Env.linen (0.01, sustain - 0.01, 0.2), doneAction:2);

audio = audio * env;

audio2 = audio2 * env;

audio = FreeVerb2.ar (audio, audio2, mix, room, damp, amp);

Out.ar (0, [audio, audio]); }).add; )

Pbindef (\x, \instrument, \basic);

Pbindef (\x, \dur, 0.25);

Pbindef (\x, \midinote, Pseq([35, 50, 40, 64], inf));

Pbindef (\x, \mix, 0.2);

Pbindef (\x, \room, 0.7);

Pbindef (\x).play;


 * LEAK -** very simple, but has a cool filter (leak) that can be controlled by the argument \coef

(

SynthDef (\leak, {

arg freq = 440, amp = 0.1, coef = 0.995;

var audio, env;

audio = LFPulse.ar (freq, 0.5, 0.5, amp);

audio = LeakDC.ar (audio, coef, amp);

env = EnvGen.ar(Env.linen (0.01, 0.2, 0.01), doneAction:2);

audio = audio * env;

Out.ar (0, [audio, audio]);

}).add; )

Pbindef (\m, \instrument, \leak);

Pbindef (\m, \dur, 0.5);

Pbindef (\m, \midinote, Pseq ([42, 54, 66], inf));

Pbindef (\m, \db, -20);

Pbindef (\m, \coef, Pseq ([0.1, 0.3, 0.5, 0.7, 0.9], inf));

Pbindef (\m).play;


 * GLITCHY -** this one is very flexible because of the parameters that can change the audio (numharm, filt [HPF])

(

SynthDef (\glitchy,

{ arg freq = 440, amp = 0.2, sustain = 0.5, numharm = 15, filt = 1000;

var audio;

audio = Blip.ar (freq: freq, numharm: numharm, mul:amp);

audio = audio * EnvGen.ar (Env.perc (0.01, sustain-0.01, 1), doneAction:2);

audio = HPF.ar (audio, freq:filt); Out.ar (0, audio);

}).add;

)

Pbindef (\x, \instrument, \glitchy);

Pbindef (\x, \db, Prand([-12,-10,-14,-6],inf));

Pbindef (\x, \midinote, Pwhite (20,40));

Pbindef (\x,\dur,Prand([1, 0.5], inf));

Pbindef (\x, \legato, 1.5);

Pbindef (\x, \numharm, Pwhite(10, 15));

Pbindef (\x, \filt, Pseq([100, 200, 400], inf));

Pbindef (\x).play;

__Texture__

 * BUZZ -**

(

SynthDef (\buzz, {

arg freq = 440, amp = 0.1, room = 0.15, mix = 0.25, numharm = 10;

var audio, env;

audio = Blip.ar (freq, numharm, amp);

env = EnvGen.ar (Env.perc (2, 0.1), doneAction:2);

audio = audio * env;

audio = FreeVerb.ar (audio, mix, room, 0.5, amp);

Out.ar (0, [audio, audio]);

}).add;

) Pbindef (\i, \instrument, \buzz);

Pbindef (\i, \db, -10);

Pbindef (\i, \dur, 1);

Pbindef (\i, \room, 0.7);

Pbindef (\i, \mix, 0.2);

Pbindef (\i, \legatto, 1.5);

Pbindef (\i, \numharm, 100);

Pbindef (\i, \midinote, Pseq ([30, 42, 54], inf));

Pbindef (\i).play;

__Other__
__**Panning:**__ //Adding the Pan2.ar UGen to your SynthDefs will provide an easily accessible parameter for panning//

//SynthDef(\click, { arg amp = 0, pan=0, dur = 0.3, lpf = 1000;// //var sig, env;// //sig = LPF.ar(BrownNoise.ar,lpf);// //env = EnvGen.ar(Env.perc(0.01,dur),1, doneAction: 2);// //Out.ar(0, Pan2.ar(sig*env, pan, amp))//

//}).add//

//Pbindef(\c, \instrument, \click, \delta, 0.5, \amp, -20.dbamp);// set delta and amp Pbindef(\c).play; Pbindef(\c, \pan, Pseq([0,-1,0,1],inf)); //the range is between -1 and 1 with 0 being in the middle// //Pbindef(\c, \pan, Prand((-1.0,-0.9.. 1),inf));// randomly choose a pan position between -1 and 1 using 0.1 as the base unit Pbindef(\c, \lpf, 1000); //change the low pass filter cutoff// //Pbindef(\c, \dur, 0.1);// change the duration of the release of the percussion envelope