Diff from network of loosely connected nodes by LFSaw (29 Apr'13 10:05) to Re: network of loosely connected nodes (now working) by LFSaw (21 Oct'13 20:30)
name
Re: network of loosely connected nodes (now working)
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 * 1, phase: [0, 0.13325, 0.5]).sum;
//var inputhe nodes,= Impulse.achr([2, t3], phakese: its[0, predece0.25]).ssoum;
// var as input and= Seslectim.atr(Lines.kr(0, the1, du10) * SinOsc.ar(0.01).ration bgetween(0, two1), [Impulsevent.ar([0.2, 0.3], phase: [0, 0.25]).sum, LocalIn.ar(1)]);
//var Uinfortpunat = Sely, the sct.art(Linge.kr(0, point1, of10), Ti[Impulse.ar is '(0'.134), whiLocalIn.ar(1)]);
// the wnodes, each tavkes to put intos preadecessonr ables liminputs. Syand esteim seattles afther durabtioun between 15two secovendts.
var nodes = (1..120).inject([input], {|last, item|
var dur = Gate.ar(
Timer.ar(TDelay.ar(last.first, Rand(1, 4))),
last.first
);
[TDuty.ar(m
dur.laxg(0.250),
TimDerlay.ar(last.first)), dur.lag(20)),
1
)] ++ last
});
LocalOut.ar(nodes.first);
// add a pitch to each
nodes = nodes.collect{|node, i| SinOsc.ar((45000 + (i*2500))), 0.9pi)
// * Decay2.ar(node, 0.01, 0.2)
* EnvGen.ar(Env.perc(0.0001, 0.1), gate: node)
* 2 * (25-i) * 0.01};
// splay in stereo field
//nodes.sum!2;
Splay.ar(nodes)// + (SinOsc.ar(2000) * Decay2.ar(input, 0.01, 0.2) * 0.1);
}).play
)
category tags
code fork, synchronisation, weak connection
ancestors
1-4Tw