# Problem mapping to a frequency key

I have this not-very-good attempt at a bell-like synth with variable ‘inharmonicity’ in a control called `\bell` (0-1):

``````SynthDef(\dynk, { | out=0, amp=0.1, pan=0, freq=440, attack=0.001, decay=1, bell=0, gate=1|
var sig, freqs, excitation, env, number=7;
freqs = freq * (1..number);
freqs = freqs * Array.geom(number,1,(1 + bell)); // stretches
freqs = freqs * (1 - bell); // rough pitch correction
excitation = {WhiteNoise.ar * 0.01}!2;
excitation = BPF.ar(excitation, freq * 2); // smoother
env = Env.asr(attackTime: attack, releaseTime: 0.001).kr(gate: gate);
excitation = excitation * env;
sig = DynKlank.ar(`[freqs, Array.geom(number,1,0.9), decay!number], excitation);
FreeSelf.kr(DetectSilence.ar(sig + Impulse.ar(0)).product); // see helpfile :)
Out.ar(out, Splay.ar(sig, spread: 0.6, center: pan) *  amp )
``````

This works fine:

``````P(\a, \instrument, \dynk).play;
Ndef(\bell, {LFPar.kr(1/4).range(0.1,0.3)});
P(\a, \bell, Ndef (\bell));
``````

But this throws an error:

``````Ndef(\freq, {LFPar.kr(1/4).range(200,500)});
P(\a, \freq, Ndef(\freq));
> WARNING: BinaryOpPlug: Cannot calculate this value. Use direct mapping only.
``````

But this is fine:

`P(\a, \freq, 200)`

At a loss here as to what is wrong. Something to do with the way I am calculating the array of frequencies in the DynKlank?

Thanks!