I am looking for all the translation functions of the cutoff parameters of all the Renoise filter devices. I think @OopsIFly did that? Can you help me? 8)
Also for melda eqs, I had the following working formula, but it’s expecting key number, can’t wrap my brain around it converting it to frequency offset. freq_start is 20, freq_end is 20000:
function func(a,b,freq_start,freq_end)
local keynum = b * 119
local keyoffset = a * 119-60
local C5 = 1391.915051294
local retval = C5 * pow(2.0, ((keynum + keyoffset) - (12 * 5)) * (1.0 / 12.0))
if (retval < 0) then retval = 0; end
retval = (log10(retval) - log10(freq_start)) / (log10(freq_end) - log10(freq_start))
if (retval > 1) then retval = 1; end
return retval
end
Have a look into the “pluginRegistry” inside the main.lua.
It contains not only the premade doofers, but also many formula device presets that cover a larger range of devices. The eq5 / eq10 should also be in there, they use the same formula for the eq tap frequencies. The formulas are mostly exact, just the delay is a little quirky to use as a comb filter, and I think the diode filter can be slightly detuned even when it shows an exact value, also the lofimat is quirky in the frequency as well.
You can find in each formula device a “frq2flt” function that will map a frequency in hz to the 0.0…1.0 value range for the frequency slider controlling a device.
Some formulas are valid for multiple purposes, for example the analog filter curve applies to the instrument filters and some chorus/flanger filters as well, or the digi filter curve can be used to tune the phaser as well.
Feel free to ask any questions, I would be glad if I can be of help.
Maybe you need the reverse for each function, too. So you can read out the exact slider value, calculate the frequency, and then the note from it…then applying the transpose offset, and translating back to the value to set the slider to. It is easy to get the reverse of a function with a math software. And I have a little collection of tuning functions other than the ones in the ktrk lib, maybe you find something from it useful. Just be warned I made them up myself for some puzzling fun, so even when they are exact I maybe calculate things in nonstandard ways.