1 2s.reboot; 3 4/* 5 6left - right channels are the outputs of the two neurons. 7inputs are: 8in1, in2, x1, x2, w11, w12, w21, w22 9 10in1 and in2 are theta1 / theat2 11 12*/ 13 14 15 16( 17{ 18 var module = Dneuromodule(2, [MouseX.kr(-2, 3), MouseY.kr(-2, 3)], [0.1, 0.3], [-3, 2, -2, 0]); 19 var sig = Duty.ar(0.2, 0, module.dpoll); 20 Blip.ar(sig * 30, 150) * 0.1; 21 22}.play 23) 24( 25{ 26 var module = Dneuromodule(2, [MouseX.kr(-2, 3), MouseY.kr(-2, 3)], [0.1, 0.3], [-3, 2, -2, 0]); 27 var sig = Duty.kr(0.2, 0, module); 28 0.0 29 30}.play 31) 32 33///////////////////// 34 35( 36{ 37 var args = [[-2, 2], [0.1, 0.3], [-3, 2, -2, 0]]; 38 var module = Dneuromodule(2, *args); 39 var module2 = Dneuromodule2(*args); 40 var sig = Duty.kr(0.2, 0, module.dpoll("module 1")); 41 var sig2 = Duty.kr(0.2, 0, module2.dpoll("module 2")); 42 43 0.0 44 45}.play 46) 47 48//////////////////// 49 50( 51{ 52 var module = Dneuromodule2(MouseX.kr(-2, 3), MouseY.kr(-2, 3), 0.1, 0.3, -3, 2, -2, 0); 53 var sig = Duty.ar(SampleDur.ir, 0, module); 54 LPF.ar(sig * 0.1, 15000) * 0.03; 55 56}.play 57) 58( 59{ 60 var module = Dneuromodule(2, [MouseX.kr(-2, 3), MouseY.kr(-2, 3)], [0.1, 0.3], [-3, 2, -2, 0]); 61 var sig = Duty.ar(SampleDur.ir, 0, module); 62 LPF.ar(sig * 0.1, 15000) * 0.03; 63 64}.play 65) 66 67 68{ SinOsc.ar(Dneuromodule.ar(1/100, 2, [MouseX.kr(-2, 3), MouseY.kr(-2, 3)], [0.1, 0.3], [-3, 2, -2, 0]).lag(0.01) * 700 + 800) * 0.1 }.play; 69 70( 71{ 72 var dt = 0.001; 73 var m = Duty.ar(dt, 0, Dneuromodule2(MouseX.kr(-2, 2), MouseY.kr(-2, 2), 0.1, 0.3, -3, 2, -2, 0)).lag3(dt); 74 SinOsc.ar(m * 400 + 600) * 0.1 75}.play 76) 77 78// modulate w11 and w21 slowly and randomly 79( 80{ 81 var module = Dneuromodule2(MouseX.kr(-2, 3), MouseY.kr(-2, 3), 0.1, 0.3, LFNoise1.kr(0.1).range(-3, -2), 2, LFNoise1.kr(0.1).range(-2, -1), 0); 82 var sig = Duty.ar(SampleDur.ir, 0, module); 83 LPF.ar(sig * 0.1, 15000); 84 85}.play 86) 87// modulate everything slowly and randomly 88 89( 90{ 91 var module = Dneuromodule2(MouseX.kr(-2, 3), MouseY.kr(-2, 3), 0.1, 0.3, LFNoise1.kr(0.1).range(-3, -2), LFNoise1.kr(0.1).range(1, 2), LFNoise1.kr(0.1).range(-2, -1), LFNoise1.kr(0.1).range(-1, 1)); 92 var sig = Duty.ar(SampleDur.ir, 0, module); 93 LPF.ar(sig * 0.1, 15000); 94 95}.play 96) 97 98// sonified: 99( 100{ 101 102 var module = Dneuromodule2( 103 MouseX.kr(-2, 3), 104 MouseY.kr(-2, 3), 105 0.1, 106 0.3, 107 LFNoise1.kr(0.1).range(-3, -2), 108 LFNoise1.kr(0.1).range(1, 2), 109 LFNoise1.kr(0.1).range(-2, -1), 110 LFNoise1.kr(0.1).range(-1, 1) 111 ); 112 113 var dt = 0.001; 114 var m = Duty.ar(dt, 0, module).lag3(dt); 115 SinOsc.ar(m * 800 + 1100) * 0.1 116}.play 117) 118 119( 120{ 121 var w1 = LFNoise1.kr(0.1); 122 var w2 = LFNoise1.kr(0.1); 123 124 var module = Dneuromodule2( 125 MouseX.kr(-2, 3), 126 MouseY.kr(-2, 3), 127 0.1, 128 0.3, 129 w1.range(-3, -2), 130 w2.range(1, 2), 131 w1.range(-2, -1), 132 w2.range(-1, 1) 133 ); 134 135 var dt = 0.0001; 136 var m = Duty.ar(dt, MouseButton.kr(0, 1), module).lag3(dt); 137 SinOsc.ar(m * 800 + 1100) * 0.1 138}.play 139) 140 141 142 143 144// tests 145 146{ Duty.ar(0.2, 0, Dneuromodule2(2, -1, 0.1, 0.3, -3, 2, -2, 0).dpoll); 0.0 }.play 147{ Duty.ar(0.2, 0, Dneuromodule2(2, -1, 0.1, 0.3, -3, 2, -2, 0)); 0.0 }.play 148{ Duty.ar(0.2, 0, Dneuromodule2(MouseX.kr(-2, 3), -1, 0.1, 0.3, -3, 2, -2, 0)); 0.0 }.play 149{ Duty.ar(0.1, 0, Dneuromodule2(MouseX.kr(-2, 3), MouseY.kr(-2, 3), 0.1, 0.3, -3, 2, -2, 0)) * 0.03 }.play 150{ Duty.ar(SampleDur.ir, 0, Dneuromodule2(MouseX.kr(-2, 3), MouseY.kr(-2, 3), 0.1, 0.3, -3, 2, -2, 0)) * 0.03 }.play 151 152{ Duty.ar(0.2, 0, Dneuromodule2(2, Dseq([-1, -2, -3]), 0.1, 0.3, -3, 2, -2, 0).dpoll, doneAction:2); 0.0 }.play 153{ Duty.ar(0.2, 0, Dneuromodule2(2, -1, 0.1, 0.3, -3, 2, -2, 0).dpoll, MouseButton.kr); 0.0 }.play 154 155 156 157 158 159 160 161// fig. 82 162t = [2, -1]; w = [[-3, 2], [-2, 0]]; 163w = w + [0.2, -0.1]; 164w = w + [-0.2, 0.1]; 165 166