Scale FluidLoudness

hey, in the Flucoma tutorial series is a video using a MLPRegressor to control synthesis parameters:

the synth which is used here is this one:

(
{
	var val = In.kr(controlBus,10);
	var osc1, osc2, feed1, feed2, base1=69, base2=69, base3 = 130, loud1, loud2;
	#feed2, feed1 = LocalIn.ar(2);
	
	loud1 = FluidLoudness.kr(feed1,[\loudness],1,0,hopSize:64);
	loud2 = FluidLoudness.kr(feed2,[\loudness],1,0,hopSize:64);
	
	osc1 = SinOsc.ar((((feed1 * val[0]) +  val[1]) * base1).midicps,mul:(val[2] * 50).dbamp).atan;
	osc1 = MoogFF.ar(osc1,(base3-(val[3]*(loud2.clip(-120,0)+120))).lag(128/44100).midicps,val[4]*3.5);
	
	osc2 = SinOsc.ar((((feed2 * val[5]) +  val[6]) * base2).midicps,mul: (val[7] * 50).dbamp).atan;
	osc2 = MoogFF.ar(osc2,(base3-(val[8]*(loud1.clip(-120,0)+120))).lag(128/44100).midicps,val[9]*3.5);
	
	Out.ar(0,LeakDC.ar([osc1,osc2],mul:0.1));
	LocalOut.ar([osc1,osc2]);
}.play;
)

For beeing used with the MLPRegressor all the param values have to be scaled to 0 and 1, so thats the reason for some of the scaling math in the example synth.
I would like to rewrite this same Synth which was used in the example to grasp how FluidLoudness could be used to vary the filter frequency of a Synth in a feedback patch. So i have rewritten every parameter with NamedControls and ControlSpecs.
But there is one parameter valA or valB which is still in the range between 0 and 1 with my attempt.
I would like to rewrite: osc1 = MoogFF.ar(osc1, (130 - (\valA.kr(0, spec: ControlSpec(0, 1)) * (loud2.clip(-120, 0) + 120))).lag(128 / 44100).midicps, \gainA.kr(0, spec: ControlSpec(0, 3.5)));
to something with just one NamedControl for the filter frequency multiplied by the output of FluidLoudness without the .midicps and the additional scaling math. how can i do that? thanks.

(
SynthDef(\test, {

	var sig, osc1, osc2, feed1, feed2, loud1, loud2;

	#feed2, feed1 = LocalIn.ar(2);

	loud1 = FluidLoudness.kr(feed1, [\loudness], 1, 0, hopSize: 64);
	loud2 = FluidLoudness.kr(feed2, [\loudness], 1, 0, hopSize: 64);

	osc1 = SinOsc.ar(\freqA.kr(440, spec: ControlSpec(20, 2000)) * (1 + (feed1 * \indexA.kr(0, spec: ControlSpec(0, 5)))));
	osc1 = (osc1 * \boostA.kr(1, spec: ControlSpec(0, 50)).dbamp).atan;
	osc1 = MoogFF.ar(osc1, (130 - (\valA.kr(0, spec: ControlSpec(0, 1)) * (loud2.clip(-120, 0) + 120))).lag(128 / 44100).midicps, \gainA.kr(0, spec: ControlSpec(0, 3.5)));

	osc2 = SinOsc.ar(\freqB.kr(440, spec: ControlSpec(20, 2000)) * (1 + (feed2 * \indexB.kr(0, spec: ControlSpec(0, 5)))));
	osc2 = (osc2 * \boostB.kr(1, spec: ControlSpec(0, 50)).dbamp).atan;
	osc2 = MoogFF.ar(osc2, (130 - (\valB.kr(0, spec: ControlSpec(0, 1)) * (loud1.clip(-120, 0) + 120))).lag(128 / 44100).midicps.poll, \gainB.kr(0, spec: ControlSpec(0, 3.5)));

	LocalOut.ar([osc1,osc2]);

	sig = [osc1, osc2].sum;

	sig = Pan2.ar(sig);

	sig = LeakDC.ar(sig, mul:0.1);

	Out.ar(0, sig);
}).add;
)