«network of loosely connected nodes» by LFSaw

on 29 Apr'13 10:05 in synchronisationweak connection

Idea: network of loosely connected nodes. Each node has a dedicated pulse rate / phase. Inducing an irregular trigger signal influences the nodes to (gradually) adapt their pulsation freq (and phase?) to the one of the input. sound example: https://soundcloud.com/lfsaw/sync-weakconnection-tduty-time

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(
Ndef(\nodeTest, {
	 // the input
	var input = Impulse.ar([1, 3, 5].reciprocal, phase: [0, 0.133, 0.5]).sum;

	// the nodes, each takes its predecessor as input and estimates the duration between two events. 
	// Unfortunately, the starting point of Timer is '0' which we have to put into reasonable limits. System settles after about 15 seconds
	var nodes = (1..10).inject([input], {|last, item| 
		[TDuty.ar(max(0.25, Timer.ar(last.first)), 0, 1)] ++ last
	});

	// add a pitch to each
	nodes = nodes.collect{|node, i|  SinOsc.ar((4000 + (i*500))) * Decay2.ar(node, 0.01, 0.2)};

	// splay in stereo field
	Splay.ar(nodes);

}).play
)
raw 655 chars (focus & ctrl+a+c to copy)
reception
comments