// title: network of loosely connected nodes // author: LFSaw // description: // 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 // code: ( 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 )