diff --git a/remembering_clive_wearing_score.pdf b/remembering_clive_wearing_score.pdf index 0e0cd9a..7766487 100644 Binary files a/remembering_clive_wearing_score.pdf and b/remembering_clive_wearing_score.pdf differ diff --git a/supercollider/remembering_clive_wearing_synthdef.scd b/supercollider/remembering_clive_wearing_synthdef.scd index 2aaccda..daeb181 100644 --- a/supercollider/remembering_clive_wearing_synthdef.scd +++ b/supercollider/remembering_clive_wearing_synthdef.scd @@ -9,7 +9,7 @@ SynthDef(\flicker, { |automate = 1, bufs = #[0, 1, 2, 3, 4, 5, 6, 7, 8], // end times / fade outs (must be same length as fadeInTimes with fadeInTimes[i] < fadeOutTimes[i]) var fadeOutTimes = [47, 106] * 60; // These are the times to wake up with a flourish of activity and the reading of an entry in the journal - var wakeTimes = [4, 9, 17, 24, 34, 44, 53, 57, 73, 97, 101, 106] * 60; + var wakeTimes = [4, 9, 17, 24, 34, 44, 53, 57, 73, 97, 101] * 60; // These are the frequency ratios of the ensemble parts var freqRatios = [2, 3/2, 5/4, 7/4, 11/8, 13/8, 17/16, 19/16, 23/16]; // Triggers @@ -34,7 +34,7 @@ SynthDef(\flicker, { |automate = 1, bufs = #[0, 1, 2, 3, 4, 5, 6, 7, 8], // Triggers for wakeTimes wakeUpTrigs = Select.kr(automate, [InTrig.kr(wakeTrigBusNum), timedTrigger.value(wakeTimes)]); - //~~~~~ Rich-get-richer Algorithm ~~~~~ + //~~~~~ Rich-Get-Richer Algorithm ~~~~~ // Update resolution pulse = Impulse.kr(30); // State of consciousness: asleep or awake; a wake up lasts 60 seconds plus a bit of a tail @@ -55,7 +55,7 @@ SynthDef(\flicker, { |automate = 1, bufs = #[0, 1, 2, 3, 4, 5, 6, 7, 8], // Feedback binary representation LocalOut.kr({|i| (i <= selects) * (selects <= i) } ! 9); - //~~~~~ Control signals ~~~~~ + //~~~~~ Control Signals ~~~~~ // The norms are basically the amount of energy to each element energy = norms; // In a toy model manner, this mimics voltage to the system @@ -87,10 +87,10 @@ SynthDef(\flicker, { |automate = 1, bufs = #[0, 1, 2, 3, 4, 5, 6, 7, 8], // Final mix currently set to output stereo where the multiplier is the final output level // Send to separate channel for more control of the indivuals sounds (e.g. with a mixer) // The lamentations of a 50 / 50 chance of sounding at all - Out.ar([0,1], Mix.new(lamentations) * fadeInOutEnv * wakeEnv * 0.75 * TIRand.kr(0, 1, wakeUpTrigs)); + Out.ar([0,1], Mix.new(lamentations) * fadeInOutEnv * wakeEnv * 0.8 * TIRand.kr(0, 1, wakeUpTrigs)); Out.ar([0,1], Mix.new(hums) * fadeInOutEnv * wakeEnv * 0.075); - Out.ar([0,1], Mix.new(ensemble) * fadeInOutEnv * wakeEnv * 0.125); - Out.ar([0,1], Mix.new(drone) * fadeInOutEnv * 0.25); + Out.ar([0,1], Mix.new(ensemble) * fadeInOutEnv * wakeEnv * 0.12); + Out.ar([0,1], Mix.new(drone) * fadeInOutEnv * 0.2); //~~~~~ Visualization Control ~~~~~ // Send signals to visualizer (these could be sent and scaled appropriated to control real lights) diff --git a/supercollider/remembering_clive_wearing_visuals.scd b/supercollider/remembering_clive_wearing_visuals.scd index 85805de..c1d2e9c 100644 --- a/supercollider/remembering_clive_wearing_visuals.scd +++ b/supercollider/remembering_clive_wearing_visuals.scd @@ -43,7 +43,8 @@ projectionWin.drawFunc = { Pen.addOval(innerSquare); Pen.fillRadialGradient(innerSquare.center, innerSquare.center, (innerSquare.width / 16), (innerSquare.width / 2), - Color.black.blend(Color.new255(255, 214, 170, 255), pow(blend[(i * 9) + j], 0.5)), Color.black); + Color.black.blend(Color.new255(255, 214, 170, 255), pow(blend[(i * 9) + j], 0.5)), + Color.black); } ! 9 } ! 2 }; projectionWin.refresh;