235 lines
5.5 KiB
Plaintext
235 lines
5.5 KiB
Plaintext
// ----------------------------------------------------------------------------
|
|
// SINODA LULLABY
|
|
|
|
(
|
|
~tf.stop; ~tf = fork { loop { TempoClock.default.tempo = 0.15.rand + 1; 1.wait; }};
|
|
|
|
~fxFeedDelay1.set(\feedback, 0.7);
|
|
~fxFeedDelay1.set(\amount, 0.6);
|
|
|
|
fork {
|
|
|
|
">>> routine start...".postln;
|
|
|
|
"--- triSinSquare bliss...".postln;
|
|
Pbindef(\sinoL, *[
|
|
instrument: \triSinSquare,
|
|
dur: Pseq([1, 1/2, 1/2, 1/4, 1/4, 1/2, Pn(1/3,3)], inf) ,
|
|
scale: Scale.minor(\just),
|
|
legato: 0.01,
|
|
rls:4,
|
|
dec: 0.01,
|
|
atk:0.001,
|
|
sus:0.1,
|
|
sqamp: Pwhite(0,1),
|
|
pan:Pwhite(-1,1, inf),
|
|
octave:[4,5],
|
|
degree: Pseq([0,3,4,8],inf),
|
|
amp: 0.3 * Pseq([
|
|
Pseg([0,1],36,\sqr),
|
|
Pseg([1,0.7,1],24,\sqr,inf)
|
|
]),
|
|
mtranspose: Pdup(8,Pseq([3,0,4,-2],inf)) + [0,3],
|
|
lpf: Pseg([1,7,1],18,\exp,inf), //Pexprand(1, 10,inf)
|
|
ctranspose: 0,
|
|
outBus: ~fxFeedDelayBus1
|
|
]).play(quant:3);
|
|
|
|
60.wait;
|
|
|
|
"--- chords each 3 beats".postln;
|
|
Pbindef(\sinoLpiano, *[ type: \midi, midicmd: \noteOn, midiout: m, chan: 1,
|
|
scale: Scale.minor,
|
|
legato: 2, //Pwhite(0.5, 1) * Pseg([0.5, 2, 0.5], 30, \lin, inf),
|
|
amp: Ptuple([ Pwhite(0.6,0.9), Pwhite(0.6,0.9), Pwhite(0.6,0.9) ], inf)
|
|
* Pseg([0.5, 0.8, 0.6], 50, \lin, inf),
|
|
dur: 3,
|
|
degree: Pseq([[0,2,4],[0,8,4,3],Prand([[0,2,4],[0,8,4,3]])],inf),
|
|
octave: [6,5,4,7]-1,
|
|
mtranspose: Pdup(4, Pseq([3, 3, 0, 4],inf)),
|
|
ctranspose: 0
|
|
]).play(quant:3);
|
|
|
|
36.wait;
|
|
|
|
"--- dominant each 1.5 beats".postln;
|
|
Pbindef(\sinoLpianoS, *[ type: \midi, midicmd: \noteOn, midiout: m, chan: 1,
|
|
scale: Scale.minor,
|
|
legato: 2,
|
|
amp: Pwhite(0.6,0.9) * Pseg([0.5, 0.8, 0.4], 30, \lin, inf),
|
|
dur: 1.5,
|
|
// degree: [0,2,4,8,9,11,13,15],
|
|
degree: 0,
|
|
octave: Prand([5,6,7],inf),
|
|
ctranspose: 0
|
|
]).play(quant:3);
|
|
|
|
"--- recording, granulating...".postln;
|
|
~recBmono = Synth(\recBufMono, [\bufnum, ~pBufMono1, \loop, 1], addAction: \addToTail);
|
|
~mpulseGran = Synth(\gran, [\out, ~fxJPverbBus1, \buffer, ~pBufMono1, \atk, 30, \amp, 0.1]);
|
|
|
|
72.wait;
|
|
|
|
"--- stopping...".postln;
|
|
Pbindef(\sinoL).stop;
|
|
Pbindef(\sinoLpiano).stop;
|
|
Pbindef(\sinoLpianoS).stop;
|
|
~mpulseGran.release(6);
|
|
|
|
3.wait;
|
|
|
|
"--- ctranspose: -5.".postln;
|
|
~ctranspose = -5; // 0, 5, -2, 3, -4, 1, -6, -1, 4, -3 ?
|
|
Pbindef(\sinoL, *[ ctranspose: ~ctranspose, amp: 0.2 * Pseg([0,0,1],36,\sqr) ] ).play(quant:3);
|
|
Pbindef(\sinoLpiano, *[ ctranspose: ~ctranspose ]).play(quant:3);
|
|
Pbindef(\sinoLpianoS, *[ ctranspose: ~ctranspose ]).play(quant:3);
|
|
|
|
3.wait;
|
|
|
|
~mpulseGran = Synth(\gran, [\out, ~fxJPverbBus1, \buffer, ~pBufMono1, \atk, 30, \amp, 0.1]);
|
|
|
|
69.wait;
|
|
|
|
"--- stopping...".postln;
|
|
Pbindef(\sinoL).stop;
|
|
Pbindef(\sinoLpiano).stop;
|
|
Pbindef(\sinoLpianoS).stop;
|
|
~mpulseGran.release(6);
|
|
|
|
3.wait;
|
|
|
|
"--- ctranspose: 2".postln;
|
|
~ctranspose = 2; // 0, 5, -2, 3, -4, 1, -6, -1, 4, -3 ?
|
|
Pbindef(\sinoL, *[ ctranspose: ~ctranspose, amp: 0.2 * Pseg([0,0,1],36,\sqr) ] ).play(quant:3);
|
|
Pbindef(\sinoLpiano, *[ ctranspose: ~ctranspose ]).play(quant:3);
|
|
Pbindef(\sinoLpianoS, *[ ctranspose: ~ctranspose ]).play(quant:3);
|
|
|
|
3.wait;
|
|
|
|
~mpulseGran = Synth(\gran, [\out, ~fxJPverbBus1, \buffer, ~pBufMono1, \atk, 30, \amp, 0.15]);
|
|
|
|
69.wait;
|
|
|
|
"--- stopping...".postln;
|
|
Pbindef(\sinoL).stop;
|
|
Pbindef(\sinoLpiano).stop;
|
|
Pbindef(\sinoLpianoS).stop;
|
|
~mpulseGran.release(6);
|
|
|
|
|
|
3.wait;
|
|
|
|
"--- ctranspose: -3.".postln;
|
|
~ctranspose = -3; // 0, 5, -2, 3, -4, 1, -6, -1, 4, -3 ?
|
|
Pbindef(\sinoL, *[ ctranspose: ~ctranspose, amp: 0.3 * Pseg([0,1,1], 72, \sqr) ] ).play(quant:3);
|
|
Pbindef(\sinoLpiano, *[ ctranspose: ~ctranspose ]).play(quant:3);
|
|
Pbindef(\sinoLpianoS, *[ ctranspose: ~ctranspose ]).play(quant:3);
|
|
|
|
3.wait;
|
|
|
|
~mpulseGran = Synth(\gran, [\out, ~fxJPverbBus1, \buffer, ~pBufMono1, \atk, 30, \amp, 0.2]);
|
|
|
|
69.wait;
|
|
|
|
"--- fade sinoL... ".postln;
|
|
Pbindef(\sinoL, *[amp: Pseg([0.4,0], 30, \sqr)]);
|
|
|
|
73.wait;
|
|
|
|
"--- stop piano and recording ...".postln;
|
|
~recBmono.free;
|
|
Pbindef(\sinoLpiano).stop;
|
|
Pbindef(\sinoLpianoS).stop;
|
|
|
|
36.wait;
|
|
|
|
"--- release granulator.".postln;
|
|
~mpulseGran.release(24);
|
|
|
|
24.wait;
|
|
|
|
">>> routine end".postln;
|
|
|
|
}
|
|
)
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
|
|
(
|
|
( (0..11) * 7 ).mod(12)-12.postln;
|
|
|
|
)
|
|
|
|
(
|
|
Pbindef(\sinoL).stop;
|
|
Pbindef(\sinoLpiano).stop;
|
|
Pbindef(\sinoLpianoS).stop;
|
|
|
|
6.wait;
|
|
|
|
Pbindef(\sinoL).stop;
|
|
Pbindef(\sinoLpiano).stop;
|
|
Pbindef(\sinoLpianoS).stop;
|
|
|
|
|
|
(
|
|
~ctranspose = 3; // 0, 5, -2, 3, -4, 1, -6, -1, 4, -3 ?
|
|
Pbindef(\sinoL, *[ ctranspose: ~ctranspose ]);
|
|
Pbindef(\sinoLpiano, *[ ctranspose: ~ctranspose ]);
|
|
Pbindef(\sinoLpianoS, *[ ctranspose: ~ctranspose ]);
|
|
)
|
|
|
|
|
|
~ctranspose = 0; // 0, 5, -2, 3, -4, 1, -6, -1, 4, -3 ?
|
|
Pbindef(\sinoL, *[ ctranspose: ~ctranspose ]);
|
|
Pbindef(\sinoLpiano, *[ ctranspose: ~ctranspose ]);
|
|
Pbindef(\sinoLpianoS, *[ ctranspose: ~ctranspose ]);
|
|
)
|
|
|
|
// record // loop?
|
|
|
|
// granulate
|
|
~mpulseGran = Synth(\gran, [\out, ~fxJPverbBus1, \buffer, ~pBufMono1, \atk, 30, \amp, 0.2]);
|
|
~mpulseGran.set(\amp, 0.3)
|
|
|
|
|
|
(
|
|
~ctranspose = 0; // 0, 5, -2, 3, -4, 1, -6, -1, 4, -3, 2, -5, 0?
|
|
Pbindef(\sinoL, *[ ctranspose: ~ctranspose ]);
|
|
Pbindef(\sinoLpiano, *[ ctranspose: ~ctranspose ]);
|
|
Pbindef(\sinoLpianoS, *[ ctranspose: ~ctranspose ]);
|
|
//Synth(\recBufMono, [\bufnum, ~pBufMono1], addAction: \addToTail);
|
|
)
|
|
|
|
Pbindef(\sinoL).stop
|
|
(
|
|
Pbindef(\sinoL).clear;
|
|
Pbindef(\sinoLpiano).clear;
|
|
Pbindef(\sinoLpianoS).clear;
|
|
)
|
|
Pbindef(\sinoL, *[amp: Pseg([0.4,0],30, \sqr)])
|
|
|
|
m.control(1, ctlNum: 64, val: 127)
|
|
~mpulseGran.release(10)
|
|
Pbindef(\sinoLpianoS).stop
|
|
Pbindef(\sinoLpianoS).clear
|
|
m.control(1, ctlNum: 64, val: 0)
|
|
|
|
|
|
/////////////////////////////////////////////////////////
|
|
~mpulseGran.free
|
|
~pBufMono1.plot
|
|
|
|
// STOP
|
|
*/ |