«fuzzy sirens» by clarkenciel

on 26 Nov'17 19:51 in
1
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
);
)
raw 1395 chars (focus & ctrl+a+c to copy)
reception
comments