|
|
|
@ -4,11 +4,7 @@ var trained = 0, entering = 0;
|
|
|
|
var va = Array.fill(10,{0.5});
|
|
|
|
var va = Array.fill(10,{0.5});
|
|
|
|
var input = Buffer.alloc(s,2);
|
|
|
|
var input = Buffer.alloc(s,2);
|
|
|
|
var output = Buffer.alloc(s,10);
|
|
|
|
var output = Buffer.alloc(s,10);
|
|
|
|
var maxIter = 1000;
|
|
|
|
var mlp = FluidMLPRegressor(s,[6],1,1000,0.1,0,1,0);
|
|
|
|
var learnRate = 0.01;
|
|
|
|
|
|
|
|
var momentum = 0.5;
|
|
|
|
|
|
|
|
var validation = 0.1;
|
|
|
|
|
|
|
|
var mlp = FluidMLPRegressor(s,[6],1,1000,0.01,0.5,1,0.1);
|
|
|
|
|
|
|
|
var entry = 0;
|
|
|
|
var entry = 0;
|
|
|
|
|
|
|
|
|
|
|
|
~inData = FluidDataSet(s,\indata);
|
|
|
|
~inData = FluidDataSet(s,\indata);
|
|
|
|
@ -55,28 +51,30 @@ d = Button(w, Rect(730,10,50, 20)).states_([["entry", Color.white, Color.grey],
|
|
|
|
StaticText(w,Rect(732,260,50,20)).string_("Error:");
|
|
|
|
StaticText(w,Rect(732,260,50,20)).string_("Error:");
|
|
|
|
e = TextField(w,Rect(730,280,50,20)).string_(0.asString);
|
|
|
|
e = TextField(w,Rect(730,280,50,20)).string_(0.asString);
|
|
|
|
StaticText(w,Rect(732,70,50,20)).string_("rate:");
|
|
|
|
StaticText(w,Rect(732,70,50,20)).string_("rate:");
|
|
|
|
TextField(w,Rect(730,90,50,20)).string_(0.01.asString).action_{|in|mlp.learnRate = in.value.asFloat.postln;};
|
|
|
|
TextField(w,Rect(730,90,50,20)).string_(0.1.asString).action_{|in|mlp.learnRate = in.value.asFloat.postln;};
|
|
|
|
StaticText(w,Rect(732,110,50,20)).string_("momentum:");
|
|
|
|
StaticText(w,Rect(732,110,50,20)).string_("momentum:");
|
|
|
|
TextField(w,Rect(730,130,50,20)).string_(0.5.asString).action_{|in|mlp.momentum = in.value.asFloat.postln;};
|
|
|
|
TextField(w,Rect(730,130,50,20)).string_(0.0.asString).action_{|in|mlp.momentum = in.value.asFloat.postln;};
|
|
|
|
StaticText(w,Rect(732,150,50,20)).string_("maxIter:");
|
|
|
|
StaticText(w,Rect(732,150,50,20)).string_("maxIter:");
|
|
|
|
TextField(w,Rect(730,170,50,20)).string_(1000.asString).action_{|in| mlp.maxIter = in.value.asInteger.postln;};
|
|
|
|
TextField(w,Rect(730,170,50,20)).string_(1000.asString).action_{|in| mlp.maxIter = in.value.asInteger.postln;};
|
|
|
|
StaticText(w,Rect(732,190,50,20)).string_("validation:");
|
|
|
|
StaticText(w,Rect(732,190,50,20)).string_("validation:");
|
|
|
|
TextField(w,Rect(730,210,50,20)).string_(0.1.asString).action_{|in|mlp.validation = in.value.asFloat.postln;};
|
|
|
|
TextField(w,Rect(730,210,50,20)).string_(0.0.asString).action_{|in|mlp.validation = in.value.asFloat.postln;};
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
//2- the synth (CAREFUL - LOUD!)
|
|
|
|
//2- the synth
|
|
|
|
(
|
|
|
|
(
|
|
|
|
b = {
|
|
|
|
b = {
|
|
|
|
arg val = #[0,0,0,0,0,0,0,0,0,0];
|
|
|
|
arg val = #[0,0,0,0,0,0,0,0,0,0];
|
|
|
|
var osc1, osc2, feed1, feed2, base1=69, base2=69, base3 = 130;
|
|
|
|
var osc1, osc2, feed1, feed2, base1=69, base2=69, base3 = 130;
|
|
|
|
#feed2,feed1 = LocalIn.ar(2);
|
|
|
|
#feed2,feed1 = LocalIn.ar(2);
|
|
|
|
osc1 = MoogFF.ar(SinOsc.ar((((feed1 * val[0]) + val[1]) * base1).midicps,mul: (val[2] * 50).dbamp).atan,(base3 - (val[3] * FluidLoudness.kr(feed2, 1, 0, hopSize: 64)[0].clip(-120,0))).lag(128/44100).midicps, val[4] * 4);
|
|
|
|
osc1 = MoogFF.ar(SinOsc.ar((((feed1 * val[0]) + val[1]) * base1).midicps,mul: (val[2] * 50).dbamp).atan,(base3 - (val[3] * (FluidLoudness.kr(feed2, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[4] * 3.5);
|
|
|
|
osc2 = MoogFF.ar(SinOsc.ar((((feed2 * val[5]) + val[6]) * base2).midicps,mul: (val[7] * 50).dbamp).atan,(base3 - (val[8] * FluidLoudness.kr(feed1, 1, 0, hopSize: 64)[0].clip(-120,0))).lag(128/44100).midicps, val[9] * 4);
|
|
|
|
osc2 = MoogFF.ar(SinOsc.ar((((feed2 * val[5]) + val[6]) * base2).midicps,mul: (val[7] * 50).dbamp).atan,(base3 - (val[8] * (FluidLoudness.kr(feed1, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[9] * 3.5);
|
|
|
|
Out.ar(0,LeakDC.ar([osc1,osc2]));
|
|
|
|
Out.ar(0,LeakDC.ar([osc1,osc2],mul: 0.1));
|
|
|
|
LocalOut.ar([osc1,osc2]);
|
|
|
|
LocalOut.ar([osc1,osc2]);
|
|
|
|
}.play;
|
|
|
|
}.play;
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
~inData.print;
|
|
|
|
~inData.print;
|
|
|
|
~outData.print;
|
|
|
|
~outData.print;
|
|
|
|
|
|
|
|
|
|
|
|
|