I’m trying to make a formula device that maps Key Tracker to filter frequency, more specifically the Comb Filter frequency. Mapping A1 (55Hz) to A8 (7040Hz), I can calculate the frequency from Key Tracker with:
pow(2,(A*84)/12) * 55)
Then to normalize the output from 0 to 1 again:
((pow(2,(A*84)/12) * 55) - 55) / 6985
The problem is, the frequency in the filter is not scaled in a linear way. I’ve been trying to figure out how it’s scaled so I can get this Key Tracker->Formula Device->Comb Filter chain to work. Any ideas?
Well the filters are definitely not linear, they can’t be, really, because that would leave us lacking precision in the lows and mid lows (and you’d have perfect control over whether the cutoff point is 17023, or 17059 Hz)
Hope you can find the formula from dblue’s solution
The formula is a little bit different for every device, due to differences in each device’s frequency scaling. It would be nice if the key tracker was a bit more aware of the other devices in this sense, but at the moment it’s a bit clueless.
When creating my tuned devices as mentioned above, I’ve basically written some Lua code to set all of the correct LFO points for me. I use Lua to set the parameter’s frequency by value, ie “1234hz”, then record that to an automation envelope, then later copy all the generated points into the LFO’s custom envelope. I’ve also used my Scala .scl loading code in there, so I can apply any custom tunings if necessary. I’ve been meaning to release this crap as a tool for a long time now, but simply haven’t gotten around to it yet.
Cool, thanks for the info. I suspected they all had different scaling. Your method is definitely the most accurate, I’ve been getting some cool sounds out of it!