Tuesday, June 8, 2010

Final Post #4: main file

This file contains the code that runs during the performance.  The live voice processing algorithm is called 'jackSynth'

(
var events, micinput, init, kill;
var pbMouseXAmp, pbMouseYAmp, playbuf, surgsynth1, surgsynth2, surg2synth, sublowSynth, pbFunc,
    pbXFunc, pbYFunc, docBFunc, jackSynth, jackFunc, surg1Func, surg2Func, subFunc, riotsynth1,
    riotSynth, riotFunc, hsFunc, forebodeFunc, surgsynth3, surg3Func;
var procNumChannels = 1;
var bfprelude,
    bfcoff, bfdocb, bfdocl1, bfdocl2, bfdocl3, bfdocl4, bfdocMono, bfRay,
    bfsurg1, bfhs1, bfhs2, bfhs3, bfpartyLead, bfpartymus, bfslowmo,bfpartycrowd,
    bfheadv1, bfheadv2, bfheadv3, bfheadv4, bfheadv5, bfheadv6, bfheadv7,
    bfheadv8, bfheadv9, bfheadv10, bfheadv11, bfheadv12, bfheadv13, bfheadv14,
    bfheadDoc1, bfheadDoc2, bfpresurg3, bfsurg2, bfconfprep, bfconf1, bfriot,
    bfwoosh, bfwhisk;
var fftbuf, centbuf, crossbuf, chain3buf;
var submainbus, sublowbus, centerbus, ringbus, nbus, sbus, ebus, wbus;
var panArray;

/* --------------------------------- buses --------------------------------- */

submainbus = CtkAudio.new(1, 4);
centerbus = CtkAudio.new(2, 6);
//ringbus = CtkAudio.new(4, 2);
ringbus = CtkAudio.new(2, 0);
sublowbus = CtkAudio.new;

/* --------------------------------- buffers --------------------------------- */
// bfprelude = CtkBuffer().load;

fftbuf = CtkBuffer.buffer(2**11).load;
centbuf = CtkBuffer.buffer(2**11).load;
crossbuf = CtkBuffer.buffer(2**11).load;
chain3buf = CtkBuffer.buffer(2**11).load;

bfwhisk = CtkBuffer("/Users/bion/Desktop/Surgeries/fun.wav").load;
bfRay = CtkBuffer("/Users/bion/Music/recording/Ray Recordings/Ray_5.10.Mono.Cut.wav").load;
bfcoff = CtkBuffer("/Users/bion/Desktop/Underlying/Coffeeshop.wav").load;
bfdocb = CtkBuffer("/Users/bion/Desktop/Underlying/DocBack.wav").load;
bfdocl1 = CtkBuffer("/Users/bion/Desktop/DocLines/DocLine1.wav").load;
bfdocl2 = CtkBuffer("/Users/bion/Desktop/DocLines/DocLine2.wav").load;
bfdocl3 = CtkBuffer("/Users/bion/Desktop/DocLines/DocLine3.wav").load;
bfdocl4 = CtkBuffer("/Users/bion/Desktop/DocLines/DocLine4.wav").load;
bfdocMono = CtkBuffer("/Users/bion/Desktop/DocLines/DocMonologue.wav").load;
bfwoosh = CtkBuffer("/Users/bion/Desktop/Underlying/woosh.wav").load;
bfsurg1 = CtkBuffer("/Users/bion/Desktop/Underlying/FunWithSkalpels.wav").load;
bfhs1 = CtkBuffer("/Users/bion/Desktop/Underlying/HeadSpace/amDevII.wav").load;
bfhs2 = CtkBuffer("/Users/bion/Desktop/Underlying/HeadSpace/amDevIII.wav").load;
bfhs3 = CtkBuffer("/Users/bion/Desktop/Underlying/HeadSpace/amDevIIII.wav").load;
bfpartyLead = CtkBuffer("/Users/bion/Desktop/Underlying/partyLead.wav").load;
bfpartymus = CtkBuffer("/Users/bion/Desktop/Underlying/PartyMusic.wav").load;
bfpartycrowd = CtkBuffer("/Users/bion/Desktop/Underlying/college_inn_ri4nao.wav").load;
bfslowmo = CtkBuffer("/Users/bion/Desktop/Underlying/slomo.wav").load;
bfheadDoc1 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/headDoc1.wav").load;
bfheadDoc2 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/headDoc2.wav").load;
bfpresurg3 = bfsurg1;
bfsurg2 = bfsurg1;
bfheadv1 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine1.wav").load;
bfheadv2 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine2_Proc.wav").load;
bfheadv3 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine3_Proc.wav").load;
bfheadv4 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine4_Proc.wav").load;
bfheadv5 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine5_Proc.wav").load;
bfheadv6 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine6_Proc.wav").load;
bfheadv7 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine7.wav").load;
bfheadv8 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine8_Proc.wav").load;
bfheadv9 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine9_Proc.wav").load;
bfheadv10 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine10.wav").load;
bfheadv11 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine11_Proc.wav").load;
bfheadv12 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine12_Proc.wav").load;
bfheadv13 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine13.wav").load;
bfheadv14 = CtkBuffer("/Users/bion/Desktop/Transitions_In-Humanity/HeadVoice/ProcHeadLines/HVLine14.wav").load;

/* --------------------------------- synths --------------------------------- */

playbuf = CtkSynthDef(\bfplay, {
    arg buffer, gate=1, amp=1, lop=1,
    subAmp, centAmp, ringAmp, pan;
    var outS;
    outS = PlayBuf.ar(1, buffer, loop: lop);
    Out.ar(sublowbus, outS);
    Out.ar(ringbus, PanAz.ar(2, outS, pan, ringAmp, 1.35, 0));
    Out.ar(centerbus, outS*centAmp);
});
pbMouseXAmp = CtkSynthDef(\bfplayMouseXAmp, {
    arg buffer, dur, loop, gate=1,
    subAmp, centAmp, ringAmp, pan;
    var outS, amp;
    amp = MouseX.kr(-24.dbamp, 1.0);
    outS = PlayBuf.ar(1, buffer, loop: loop);
    Out.ar(sublowbus, outS*amp);
    Out.ar(ringbus, PanAz.ar(2, outS, pan, ringAmp*amp, 1.35, 0));
    Out.ar(centerbus, outS*centAmp*amp);
});
pbMouseYAmp = CtkSynthDef(\bfplayMouseYAmp, {
    arg buffer, dur, gate=1,
    subAmp, centAmp, ringAmp, pan;
    var outS, amp;
    amp = MouseY.kr(-16.dbamp, 1.0);
    outS = PlayBuf.ar(1, buffer, loop: 1);
    Out.ar(sublowbus, outS*amp);
    Out.ar(ringbus, PanAz.ar(2, outS, pan, ringAmp*amp, 1.35, 0));
    Out.ar(centerbus, outS*centAmp*amp);
});
sublowSynth = CtkSynthDef(\sublowsynth, {
    var in, outS, filt;
    in = In.ar(sublowbus, 1);
    filt = LPF.ar(in, 120);
    outS = filt;
    Out.ar(submainbus, outS);
});
jackSynth = CtkSynthDef(\jacksynth, {
    arg routebus;
    var chain, env, outS, in, cent, width, yi, er, san, avg, adj, centchain;
    var cross, chain2, waste, filt, chain3;
    env = EnvGen.kr(Env([0, 1, 0], [0.1, 0.1], \sin, 1), 1, doneAction: 2);
    in = SoundIn.ar(0);
    chain = FFT(fftbuf, in);
    chain = PV_MagAbove(chain, 0.01);
    chain3 = PV_Copy(chain, chain3buf);
    centchain = PV_Copy(chain, centbuf);
    centchain = PV_MagAbove(centchain, 4);
    chain2 = PV_Copy(centchain, crossbuf);
    cent = SpecCentroid.kr(centchain);
    er = DelayC.kr(cent, 0.08, 0.08);
    san = DelayC.kr(cent, 0.04, 0.04);
    avg = (cent+er+san)/3;
    avg = avg.min(800);
    avg = avg.max(60);
    adj = LinLin.kr(avg, 60, 700, 0, 0.4);
    chain = PV_MagSmear(chain, 100);
    chain = PV_Morph(chain, chain2, adj);
    chain = PV_MagShift(chain, 0.6);
    chain = IFFT(chain)*10.dbamp;
    chain3 = IFFT(chain3)*(-40.dbamp);
    width = (1-(adj+0.01));
    avg = avg*1.3;
    filt = Mix.ar(BPF.ar(chain, avg*[0.5,0.75], (width*[20, 50])/avg*[0.5,0.75]))*3.dbamp;
    filt = filt + Resonz.ar(filt, 80, 60/100);
    outS = filt+chain+chain3;
    outS = outS*env;
    outS = Compander.ar(outS, outS, -4.dbamp, 1, 0.5, clampTime: 0.01, relaxTime: 0.01);
    OffsetOut.ar([submainbus, centerbus], outS); // change
});
surgsynth1 = CtkSynthDef(\gendsynth, {
    arg tScale,
    subAmp, centAmp, ringAmp, pan;
    var n=20, conGend, bassgend, outS, env, tscale, env2, tscale2;
   
    conGend = Mix(Resonz.ar(Mix.fill(n,{
        var freq, numcps;
        freq= rrand(120,700.3);
        numcps= rrand(2,20);
        Pan2.ar(Gendy4.ar(6.rand,6.rand,1.0.rand,1.0.rand,freq,MouseX.kr(freq,2*freq), 1.0.rand, 1.0.rand,         numcps, SinOsc.kr(exprand(0.02,0.2), 0, numcps/2, numcps/2), 0.5/(n.sqrt)), 1.0.rand2)
        }),
        MouseX.kr(60,3000))*(-1.dbamp)
    );
   
    tscale = 150;
    env = Env(
        tscale.collect({arg i; Tendency(
            Env([-30.dbamp, -9.dbamp],[tscale]),
            Env([-6.dbamp, 1], [tscale])
            ).at(i)}
        ),
        (tscale-1).collect({arg i; Tendency(
            Env([0.5, 5], [tscale-1]),
            Env([2, 10], [tscale-1])
            ).at(i)}
        ).normalizeSum,
        \welch
    );

    env = EnvGen.kr(env, timeScale: tScale);
    outS = conGend*env;
    Out.ar(sublowbus, outS);
    Out.ar(ringbus, PanAz.ar(2, outS, pan, ringAmp, 1.35, 0));
    Out.ar(centerbus, outS*centAmp);
});

surgsynth2 = CtkSynthDef(\surgsynth2, {
    arg tScale, cps=20, minFreq=20, maxFreq=100,
    subAmp, centAmp, ringAmp, pan;
    var env, gend, outS;
   
    env = Env([0, -20.dbamp, -40.dbamp, -32.dbamp, -44.dbamp, -32.dbamp, -44.dbamp,
                -24.dbamp, -30.dbamp, -20.dbamp, -30.dbamp, -18.dbamp, -22.dbamp,
                -10.dbamp, -12.dbamp, -16.dbamp, -12.dbamp, -16.dbamp, -12.dbamp,
                -16.dbamp, -12.dbamp],
                [1, 4, 5, 6, 4, 5, 3, 5, 6, 4, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3].normalizeSum,
                [-2, 4, \step, -2, \sin, 3, -2, -3, 5, \sin, \exp, \exp, \exp, \exp, \step, \step,
                \step, \step, \step, \step]);
    env = EnvGen.kr(env, timeScale: tScale);
    gend = Gendy4.ar(initCPs: cps, minfreq: minFreq, maxfreq: maxFreq);
    outS = env*gend;
    Out.ar(sublowbus, outS);
    Out.ar(ringbus, PanAz.ar(2, outS, pan, ringAmp, 1.35, 0));
    Out.ar(centerbus, outS*centAmp);
});
   
surg2synth = CtkSynthDef(\gend2synth, {
    var mx, my;

    mx= MouseX.kr(220,440);
    my= MouseY.kr(0.0,1.0);
    OffsetOut.ar(0,
        Gendy4.ar(2,3,1,1,minfreq:mx, maxfreq:8*mx, durscale:my, initCPs:7, mul:-18.dbamp))
});

surgsynth3 = CtkSynthDef(\surgsynth3, {
    arg subAmp, centAmp, ringAmp, pan;
    var grains, outS, amp;
    amp = MouseY.kr(-60.dbamp, -12.dbamp);
    grains = GrainBuf.ar(1, Impulse.kr(20+LFNoise0.kr(2.5, 3)), sndbuf: bfwhisk, interp: 4, pos: MouseX.kr(0.0, 1.0));
    outS = grains;
    Out.ar(sublowbus, outS);
    Out.ar(ringbus, PanAz.ar(2, outS, pan, ringAmp*amp, 1.35, 0));
    Out.ar(centerbus, outS*centAmp);
});

riotsynth1 = CtkSynthDef(\riot1, {
    arg pan;
    var grains, outS, amp;
    amp = MouseY.kr(-60.dbamp, -12.dbamp);
    grains = GrainBuf.ar(1, Impulse.kr(84+LFNoise0.kr(2.5, 3)), sndbuf: bfRay, interp: 4, pos: MouseX.kr(0.0, 1.0));
    outS = grains;
    Out.ar(sublowbus, outS);
    Out.ar(ringbus, PanAz.ar(2, outS, pan, amp*1.5, 1.35, 0));
    Out.ar(centerbus, outS*amp);
});

/* --------------------------------- functions --------------------------------- */

docBFunc = {
    arg globalEnv, id, globalAmp,
    subAmp=0, centAmp=0, ringAmp=0, pan=0;
    var procMod;
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, -1, id).function_({
        arg group, routebus, envbus, server, pm;
        var task;
        task = Task({
            var now;
            0.005.wait;
            id.postln;
            playbuf.new(target: group).buffer_(bfdocb).centAmp_(centAmp)
            .ringAmp_(ringAmp).pan_(CtkControl.env(panArray[pan])).lop_(0).play;
            bfdocb.duration.wait;
            playbuf.new(target: group).buffer_(bfsurg1).centAmp_(centAmp)
            .ringAmp_(ringAmp).pan_(CtkControl.env(panArray[pan])).play;
        });
    task;
    });
procMod;
};

hsFunc = {
    arg globalEnv, id, globalAmp, waitTime=0.005,
    subAmp=0, centAmp=0, ringAmp=0, pan=0;
    var procMod;
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, -1, id).function_({
        arg group, routebus, envbus, server, pm;
        var task;
        task = Task({
        waitTime.wait;
        id.postln;
        playbuf.new(target: group).buffer_(bfhs1).subAmp_(subAmp)
        .centAmp_(centAmp).ringAmp_(ringAmp).pan_(CtkControl.env(panArray[pan])).play;
        2.wait;
        playbuf.new(target: group).buffer_(bfhs2).subAmp_(subAmp)
        .centAmp_(centAmp).ringAmp_(ringAmp).pan_(CtkControl.env(panArray[pan+1])).play;
        2.wait;
        playbuf.new(target: group).buffer_(bfhs3).subAmp_(subAmp)
        .centAmp_(centAmp).ringAmp_(ringAmp).pan_(CtkControl.env(panArray[pan+2])).play;
        });
    task;
    });
procMod;
};

forebodeFunc = {
    arg globalEnv, id, globalAmp, waitTime=0.005,
    subAmp=0, centAmp=0, ringAmp=0, pan=0;
    var procMod;
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, -1, id).function_({
        arg group, routebus, envbus, server, pm;
        var task;
        task = Task({
            waitTime.wait;
            id.postln;
            inf.do({
                playbuf.new(target: group).buffer_(bfwoosh)
                .centAmp_(centAmp).ringAmp_(ringAmp).pan_(CtkControl.env(panArray[pan])).play;
                (bfwoosh.duration/5).wait;
            });
        });
    task;
    });
procMod;
};

surg1Func = {
    arg globalEnv, id, globalAmp, outbus=0;
    var procMod;
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, outbus, id).function_({
        arg group, routebus, envbus, server, pm;
        var task;
        task = Task({
            surgsynth1.new(target: group).tScale_(60).centAmp_(-42.dbamp).ringAmp_(0.dbamp).pan_(CtkControl.env(panArray[7])).play;
            surgsynth2.new(target: group).tScale_(60).centAmp_(-38.dbamp).ringAmp_(0.dbamp).pan_(CtkControl.env(panArray[5])).play;
        });
    task;
    });
procMod;
};

surg2Func = {
    arg globalEnv, id, globalAmp, outbus=0;
    var procMod;
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, outbus, id).function_({
        arg group, routebus, envbus, server, pm;
        var task;
        task = Task({
        surg2synth.new(target: group).play;
        });
    task;
    });
procMod;
};

surg3Func = {
    arg globalEnv, id, globalAmp, outbus=0;
    var procMod;
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, outbus, id).function_({
        arg group, routebus, envbus, server, pm;
        var task;
        task = Task({
        surgsynth3.new(target: group).play;
        });
    task;
    });
procMod;
};

riotFunc = {
    arg globalEnv, id, globalAmp, outbus=0;
    var procMod;
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, outbus, id).function_({
        arg group, routebus, envbus, server, pm;
        var task;
        task = Task({
        id.postln;
        riotsynth1.new(target: group).pan_(CtkControl.env(panArray[7])).play;
        });
    task;
    });
procMod;
};

pbFunc = {
    arg globalEnv, id, buffer, globalAmp=1, env=0, waitTime = 0.005,
    subAmp=0, centAmp=0, ringAmp=0, pan=0;
    var procMod;
   
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, -1, id).function_({
        arg group, routebus, envbus, server, pm;
        var task;
        task = Task({
            var now;
            waitTime.wait;
            playbuf.new(target: group).buffer_(buffer)
            .subAmp_(subAmp).centAmp_(centAmp).ringAmp_(ringAmp).pan_(CtkControl.env(panArray[pan])).play;
            id.postln;
        });
    task;
    });
procMod;
};

pbXFunc = {
    arg globalEnv, id, buffer,loop=1, globalAmp=1, env=0, waitTime = 0.005,
    subAmp=0, centAmp=0, ringAmp=0, pan=0;
    var procMod;
   
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, -1, id).function_({
        arg group, routebus, envbus, server, pm;
        var task;
        task = Task({
            var now;
            waitTime.wait;
            pbMouseXAmp.new(target: group).buffer_(buffer).loop_(loop)
            .subAmp_(subAmp).centAmp_(centAmp).ringAmp_(ringAmp).pan_(CtkControl.env(panArray[pan])).play;
            id.postln;
        });
    task;
    });
procMod;
};

pbYFunc = {
    arg globalEnv, id, buffer, outbus=0, globalAmp=1, env=0, waitTime = 0.005,
    subAmp=0, centAmp=0, ringAmp=0, pan=0;
    var procMod;
   
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, outbus, id).function_({
        arg group, routebus, envbus, server, pm;
        var task;
        task = Task({
            var now;
            waitTime.wait;
            pbMouseYAmp.new(target: group).buffer_(buffer)
            .subAmp_(subAmp).centAmp_(centAmp).ringAmp_(ringAmp).pan_(CtkControl.env(panArray[pan])).play;
            id.postln;
        });
    task;
    });
procMod;
};

jackFunc = {
    arg globalEnv, id, outbus=0, globalAmp=1;
    var procMod;
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, outbus, id).function_({
        arg group, routebus, envbus, server, pm;
        var task, synth;
        task = Task({
            synth = jackSynth.new(target: group).routebus_(submainbus);
            0.5.wait;
            synth.play;
            id.postln;
        });
    task;
    });
procMod;
};

subFunc = {
    arg globalEnv, id, outbus=0, globalAmp=1;
    var procMod;
    procMod = ProcModR(globalEnv, globalAmp, procNumChannels, outbus, id).function_({
        arg group, routebus, envbus, server, pm;
        var task, synth;
        task = Task({
            synth = sublowSynth.new(target: group);
            0.5.wait;
            synth.play;
            id.postln;
        });
    task;
    });
procMod;
};

/* --------------------------------- control arrays --------------------------------- */
panArray = [
    Env([0,0],[1],\sin,1),
    Env([0.25,0.25],[1],\sin,1),
    Env([0.5, 0.5],[1],\sin,1),
    Env([0.75,0.75],[1],\sin,1),
   
    Env(22.collect({arg i; Tendency(1.0, 0.0, 0.7, 0.7).at(i, \betaRand)}), 21.collect({arg i; Tendency(1, 5, 0.3, 0.7).at(i, \betaRand)}).normalizeSum*bfdocb.duration, \welch, 21, 0),
   
    Env(35.collect({arg i; Tendency(1.0, 0.0, 0.7, 0.7).at(i, \betaRand)}), 34.collect({arg i; Tendency(1, 5, 0.3, 0.7).at(i, \betaRand)}).normalizeSum*60, \welch, 34, 0),

    Env(50.collect({arg i; Tendency(1.0, 0.0, 0.7, 0.7).at(i, \betaRand)}), 49.collect({arg i; Tendency(1, 5, 0.3, 0.7).at(i, \betaRand)}).normalizeSum*60, \welch, 42, 0),
   
    Env(43.collect({arg i; Tendency(1.0, 0.0, 0.7, 0.7).at(i, \betaRand)}), 42.collect({arg i; Tendency(1, 5, 0.7, 0.3).at(i, \betaRand)}).normalizeSum*60, \welch, 42, 0),

   
    Env(Array.rand(5, -1.0, 1.0), Array.rand(4, 0.0, 1.0).normalizeSum),
   
];

/* --------------------------------- events, etc --------------------------------- */

init = ProcMod.new.function_({"no fuckups, yet".postln});
kill = ProcMod.new.function({
    [bfcoff, bfdocb, bfdocl1, bfdocl2, bfdocl3, bfdocl4, bfdocMono, bfRay,
    bfsurg1, bfhs1, bfhs2, bfhs3, bfpartyLead, bfpartymus, bfslowmo,bfpartycrowd,
    bfheadv1, bfheadv2, bfheadv3, bfheadv4, bfheadv5, bfheadv6, bfheadv7,
    bfheadv8, bfheadv9, bfheadv10, bfheadv11, bfheadv12, bfheadv13, bfheadv14,
    bfheadDoc1, bfheadDoc2, bfpresurg3, bfsurg2, bfconfprep, bfconf1, bfriot]
    .do({arg item, i;
        item.free;
    });
    "yay we made it".postln;
});


events = ProcEvents([

        [subFunc.value(
            globalEnv: Env([0,1,0],[0.1,1],\sin,1),
            id: \sub),
        nil],

//        [jackFunc.value(
//            globalEnv: Env([0,1,0],[0.1,0.01], \sin, 1),
//            id: \jsynth,
//            globalAmp: -6.dbamp,
//            outbus: 0),
//        nil],
//        [nil,
//        \jsynth],
       
// prelude

        [pbFunc.value(
            globalEnv: Env([0,1,-6.dbamp,0], [0.3,4,8], [-2, -2, -3], 2),
            id: \coff,
            buffer: bfcoff,
            centAmp: -24.dbamp
            ),
        nil],
        [nil, \coff],
        [docBFunc.value(
            globalEnv: Env([0,1,0],[0.1,0.01], \sin, 1),
            id: \docb,
            centAmp: -30.dbamp,
            ringAmp: -42.dbamp,
            pan: 4
            ),
        nil],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfdocl1.duration,0.01],[-5,5]),
            id: \docl1,
            buffer: bfdocl1,
            ringAmp: 8.dbamp,
            pan: 2
            ),
        nil],
            [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfdocl2.duration,0.01],[-5,5]),
            id: \docl2,
            buffer: bfdocl2,
            ringAmp: 8.dbamp,
            pan: 2
            ),
        nil],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfdocl3.duration,0.01],[-5,5]),
            id: \docl3,
            buffer: bfdocl3,
            ringAmp: 8.dbamp,
            pan: 2
            ),
        nil],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfdocl4.duration,0.01],[-5,5]),
            id: \docl4,
            buffer: bfdocl4,
            centAmp: 8.dbamp,
            pan: 2
            ),
        nil],
       
// surgery 1

        [surg1Func.value(
            globalEnv: Env([0,1,0],[0.1,0.1], [3], 1),
            id: \surg1,
            globalAmp: -16.dbamp,
            outbus: 0
            ),
        nil],
       
        [nil,
        \surg1],
       
// headspace1

        [hsFunc.value(
            globalEnv: Env([0,1,0],[5,0.01], \sin, 1),
            id: \hs1,
            ringAmp: -26.dbamp,
            centAmp: -34.dbamp,
            pan: 5
            ),
        \docb],
       
        [nil,
        \hs1],
        [pbFunc.value(
            globalEnv: Env([0,1,0],[12,0.1], \sin, 1),
            id: \partyLead,
            buffer: bfpartyLead,
            ringAmp: -44.dbamp,
            centAmp: -60.dbamp,
            pan: 5
            ),
        nil],
        [nil,
        \partyLead],

        [[pbXFunc.value(
            globalEnv: Env([0,1,0],[1,0.01], [3], 1),
            id: \partymus,
            buffer: bfpartymus,
            ringAmp: -36.dbamp,
            centAmp: -28.dbamp,
            pan: 6
            ),
        pbYFunc.value(
            globalEnv: Env([0,1,0],[3,0.01], [3], 1),
            id: \partycrowd,
            buffer: bfpartycrowd,
            ringAmp: -22.dbamp,
            centAmp: -16.dbamp,
            pan: 6
        )],
        nil],
   
        [[pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfslowmo.duration-(0.01+0.2),0.2], \sin),
            id: \slomo,
            buffer: bfslowmo,
            centAmp: -16.dbamp,
            ringAmp: -12.dbamp,
            pan: 5
            ),
        pbFunc.value(
            globalEnv: Env([0,1,0],[0.1,0.01], [3], 1),
            id: \partytalk,
            buffer: bfpartycrowd,
            waitTime: bfslowmo.duration-0.1,
            centAmp: -9.dbamp,
            pan: 6
            )],
        [\partycrowd, \partymus]],
       

        [nil,
        \partytalk],
       
// ostrasized
        [hsFunc.value(
            globalEnv: Env([0,1,0],[0.5,4], \sin, 1),
            id: \hs2,
            centAmp: -36.dbamp,
            ringAmp: -24.dbamp,
            pan: 5
            ),
        nil],
       
// headspace 2 HeadVoice Enters

        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv1.duration,0.01],[-5,5]),
            id: \headv1,
            buffer: bfheadv1,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        nil],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv2.duration,0.01],[-5,5]),
            id: \headv2,
            buffer: bfheadv2,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        nil],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv3.duration,0.01],[-5,5]),
            id: \headv3,
            buffer: bfheadv3,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        nil],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadDoc1.duration,0.01],[-5,5]),
            id: \headDoc1,
            buffer: bfheadDoc1,
            centAmp: 0.dbamp),
        nil],
        [[pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv4.duration,0.01],[-5,5]),
            id: \headv4,
            buffer: bfheadv4,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        pbFunc.value(
            globalEnv: Env([0,1,0], [16,0.01],[2, 5], 1),
            id: \surgb2,
            buffer: bfsurg2,
            centAmp: -10.dbamp,
            ringAmp: -6.dbamp)],
        \hs2],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadDoc2.duration,0.01],[-5,5]),
            id: \headDoc2,
            buffer: bfheadDoc2,
            centAmp: 0.dbamp),
        nil],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv5.duration,0.01],[-5,5]),
            id: \headv5,
            buffer: bfheadv5,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        nil],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv6.duration,0.01],[-5,5]),
            id: \headv6,
            buffer: bfheadv6,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        nil],

// surgery 2

        [surg2Func.value(
            globalEnv: Env([0,1,0],[0.1,0.1], [3], 1),
            id: \surg2,
            centAmp: -44.dbamp,
            ringAmp: -30.dbamp),
        nil],
       
        [nil,
        \surg2],
       
// headspace 3

        [[hsFunc.value(
            globalEnv: Env([0,1,0],[6,0.01], \sin, 1),
            id: \hs3,
            centAmp: -36.dbamp,
            ringAmp: -24.dbamp,
            pan: 5,
            waitTime: bfheadv7.duration-0.7),
        pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv7.duration,0.01],[-5,5]),
            id: \headv7,
            buffer: bfheadv7,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        forebodeFunc.value(
            globalEnv: Env([0,1,0],[0.1,6], \sin, 1),
            id: \forebode,
            centAmp: -16.dbamp,
            ringAmp: -24.dbamp,
            pan: 5),
            waitTime: 6],
        \surgb2],

        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv8.duration,0.01],[-5,5]),
            id: \headv8,
            buffer: bfheadv8,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        nil],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv9.duration,0.01],[-5,5]),
            id: \headv9,
            buffer: bfheadv9,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        nil],
   
        [nil,
        \hs3],
       
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv10.duration,0.01],[-5,5]),
            id: \headv10,
            buffer: bfheadv10,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        nil],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv11.duration,0.01],[-5,5]),
            id: \headv11,
            buffer: bfheadv11,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        nil],

        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv12.duration,0.01],[-5,5]),
            id: \headv12,
            buffer: bfheadv12,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        nil],
        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv13.duration,0.01],[-5,5]),
            id: \headv13,
            buffer: bfheadv13,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp),
        nil],
        [[pbFunc.value(
            globalEnv: Env([0,1,0], [16,0.01],[2, 5], 1),
            id: \presurg3,
            buffer: bfpresurg3,
            centAmp: 0.dbamp),
        pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfheadv14.duration,0.01],[-5,5]),
            id: \headv14,
            buffer: bfheadv14,
            pan: [0,1,2,3].choose,
            ringAmp: 0.dbamp)],
        \forebode],

// surg3 prep

        [pbFunc.value(
            globalEnv: Env([0,1,1,0],[0.01,bfdocMono.duration,0.01],[-5,5]),
            id: \bfdocMono,
            buffer: bfdocMono,
            ringAmp: 8.dbamp,
            pan: 2),
        nil],

        [surg1Func.value(
            globalEnv: Env([0,1,0],[0.1,1], \sin, 1),
            id: \surg3
            ),
        nil],

        [nil,
        \surg3],
        [nil,
        \presurg3],

        [jackFunc.value(
            globalEnv: Env([0,1,0],[0.1,0.01], \sin, 1),
            id: \jsynth,
            globalAmp: -18.dbamp),
        nil],
       
        [riotFunc.value(
            globalEnv: Env([0,1,0],[0.1,0.01], \sin, 1),
            id: \riotnoise
        ),
        nil],
           
        [nil,
        \jsynth],
       
        [nil,
        \riotnoise],

    ],
    -20.dbamp, initmod: init, killmod: kill, id: \Transitions_In_Humanity_Sound
);

events.perfGUI;
)

No comments:

Post a Comment