«fuzzy sirens» by clarkenciel
on 27 Nov'17 01:51 in1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
(
SynthDef(\bank, {
arg startFreqs = #[300, 400, 500, 600], endFreqs = #[300, 400, 500, 600], vol = 40, bw = 0.0025, dur;
var signal = WhiteNoise.ar;
var shape = EnvGen.kr(
Env([0, 1, 1, 0], [dur * 0.05, dur, dur * 0.05], [\sin, \hold, \lin]),
doneAction: 2
);
signal = BBandPass.ar(
signal,
freq: (startFreqs +++ endFreqs).collect { arg freqPair;
var freq = Line.kr(freqPair[0], freqPair[1], dur: dur);
var wobble = SinOsc.kr(0.01 + 0.05.rand, mul: 10, phase: 1 - 2.rand);
freq + wobble
},
mul: shape * vol,
bw: bw
);
Out.ar(0, Mix.ar(signal) ! 2)
}).store;
)
(
var freqPairs = Pseq([
[[300, 400, 500, 600], 450 ! 4],
[450 ! 4, [300, 400, 500, 600]]
], 1
);
Pbind(
\instrument, \bank,
#[startFreqs, endFreqs], freqPairs,
\dur, 3600,
\vol, 1.0,
\amp, 0.9
).play;
)
// for recording
(
var options = ServerOptions.new.numOutputBusChannels = 2;
var freqPairs = Pseq([
[[300, 400, 500, 600], 450 ! 4],
[450 ! 4, [300, 400, 500, 600]]
], 1
);
Pbind(
\instrument, \bank,
#[startFreqs, endFreqs], freqPairs,
\dur, 1800,
\vol, 1.0,
\amp, 0.9
).asScore(duration: 3960).recordNRT(
"/home/danny/dev/live-code/sc/sketches/resources/20171126.osc",
"/home/danny/dev/live-code/sc/sketches/sounds/20171126.wav",
headerFormat: "WAV",
options: options
);
)
reception
comments