«circling transpositions» by nova

on 18 Feb'20 06:54 in slowmelodicmelodiesarpeggiato

some playing around with m/c/g-transpose in Pbind. this stops after it has transposed 6 times a semitone up, but it could start at the beginning and go on forever - just change the last "1" in \ctranspose to inf or however cycles you want. also, it uses a JPverb, so you need sc3_plugins, otherwise change rev line in reverbBus SynthDef to rev = input; or some other selfmade poor-woman's reverb.

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
( // pure melody experiments
SynthDef("plucking", {arg out = 0, amp = 0.1, freq = 440, decay = 5, coef = 0.1;
	var env, snd;
	env = EnvGen.kr(Env.linen(0, decay, 0), doneAction: 2);
	snd = Pluck.ar(
		in: BrownNoise.ar(amp),
		trig: Impulse.kr(0),
		maxdelaytime: 0.1,
		delaytime: freq.reciprocal,
		decaytime: decay,
		coef: coef);
	snd = LeakDC.ar(snd).clip2;
	Out.ar(out, snd * env);
}).add;

b = Bus.audio(s,1);

SynthDef("reverbBus", { arg outBus = 0, inBus, wet = 0.1;
	var input, rev;
	input = In.ar(inBus,1);
	rev = JPverb.ar(input * wet, t60:6, damp:0.5);
	DetectSilence.ar(rev, doneAction: Done.freeSelf); 
    Out.ar(outBus, input + (rev));
}).add;

r = Synth("reverbBus", [\inBus, b, \wet, 0.5]);

Pbind(
	\instrument, "plucking",
	\scale, Scale.major.tuning_(\just),
	\octave, 4,
	\degree, Pseq([1,3,7,8], inf), // four main notes
	\mtranspose, Pseq([Pseq([0],3),Pseq([-5],3)],inf), // switched mode every 3 notes (*2)
	
	\gtranspose, Pseq([Pseq([0],36),Pseq([4],36),Pseq([[-3]],36),Pseq([2],36)],inf),
	\ctranspose, Pser([Pseries(-4,1,6) +.x Pseq([0], 144)],1),

	\coef, Pser([Prand([0.2,0.3,0.4,0.5],1), Prand([0.8,0.7,0.6,0.5],11)], inf),
	\dur, Prand([0.25,0.26,0.24,0.255,0.255,0.25], inf) * 0.9, 
	\decay, Prand([1,2,3,4,5], inf),
	\out, b, \amp, 0.4,
).play;
)
raw 1323 chars (focus & ctrl+a+c to copy)
reception
comments