Yes, the filter’s cutoff parameter is not using a note frequency scaling but uses a custom one, cause it fits better here. Also, if it would, it would be limited to Renoise’s 0-119 MIDI note range, which is ~8 to ~7902 Hz.
so which means no accurate kbd tracking to filter .
Serious ???
Lol it would be really cool…if the renoise devs would just give out the accurate formulas for every devices frequency or delay parameter range. Hey, this is not open sourcing any secrets, just enabling users to actually use your stuff in better ways. Then, one formula device would be enough to translate from a keytracker, and could even have stuff like real sensitive detune in it. Please, just do, do, do it - and also for the legacy devices and stuff.
What is holding you back? Some sense of humor, that some day one real nerdy geek will reverse assembly and post shit on the forums? Or waiting for some math geek doing number crunching on the parameters to extract forumulas? Or those measley custom lfo buissiness, by lua parsing parameters to-and-fro in inaccurate text string definition? It just sucks. Just give us the formulas. For real.
Those are pre-set LFO-tables with the values for each note “hardcoded”, I’d like to have direct and exact formulas for slider range 0.0…1.0 -> Freq_Hz/Delay_MS to work out metadevices myself (I bet other users would appreciate that, too). You have the code for each dsp device, in the code there’s translation from slider to Hz or Delay (for displaying the parameter value), so it would mean little work for you to just copy&paste the formulas/algorithms for this into the forum, and all will be happy. The LFO tables have their backdraws, and are hard to create. I.e. detuning or bends for frequency based parameters are hard to get exact with LFO’s - with the lots of points in them the LFOs seem to get “steppy”. Just not to say with such formulas you could easily create very custom LFO devices, with custom note ranges and or tunings. The way it was done until now involved some “brave hackery” i.e. a lua script to sample the frequencies of the device and read back a parameter value? This aren’t the true formulas for me.
I agree here with oops fly, some kind of note-to-freq translator device would be very helpful, so an octave is really an octave on every filter. Gova already built some kind of value grabber-translation-table generator, but it still requires to interpolate in between for the cost of a parameter delay. Or if you self would provide a formula for the more recent filters… Just which curve is used here and there for cutoff.
Well, sure thing.
Most device’s filters frequencies are scaled by:
(pow(10, log10(s)*x) - 1.0) / (s - 1.0), x=0 to 1,s = 100
Plot for s=100:http://www.wolframalpha.com/input/?i=plot%3A+%28pow%2810%2C+log10%28100%29*x%29±+1.0%29+%2F+%28100-1.0%29%2C+x%3D0+to+1
This includes the Filter3 device, all new filter devices in Redux, filters in Chorus, Flanger and old Comb devices.
Comb in Redux & Renoise 3.1 will use note frequency scaling.
LofiDevice uses the same formula withs = 16, old Ringmod device s = 20000.
Again Ringmod in Redux & Renoise 3.1 will use note frequency scaling instead.
So no “LFO tables” will be required for the RingMod or Comb in Renoise 3.1 - Redux. They can be directly connected to a KeyTracker. Same is true for AM filters in Renoise 3.1 and Redux’ instrument section. For filters you will need a map, for the reasons mentioned in my previous post above. DBlue’s LFO map fromhttps://forum.renoise.com/t/2-7-more-tuned-devices/32280 will do the job here.
Let me know if you need any others.
Thanks
Many big thanks for the formula. How cool is this!
is the formula for the eq points the same as for the filter3device cutoff? Haven’t tried yet, but the graph alwas seemed a little more stretched in the bass freqs, well, I dunno.
Now we can do it like this, put keytracker into a formula device instead of that lfo table, and do stuff like accurate pitch bending filters:
Click to view contents
<?xml version="1.0" encoding="UTF-8"?>
WhatAName
true
true
#Filtertracker
false
1.0
Device only
frq2flt(kt2frq(A, B))
local fromnote = 0.0
local tonote = 119.0
local bendrange = 12.0
local a4 = 57.0
local a4f = 440.0
local ffac = 1.0 / 22050.0
local lgfac = 1.0 / 4.6051701859880913680359829093687284
local trt = 1.0594630943592952645
function frq2flt (inp)
return log(99.0*(inpffac)+1.0) * lgfac
end
function kt2frq (inp, bnd)
local nnbr = inp(tonote-fromnote) + fromnote + (bnd-0.5)bendrange2.0
return a4f * pow(trt, nnbr-a4)
end
Key
Bend
-
true
1
0.277310938
Device only
0.5
Device only
0.0
Device only
-1
Device only
-1
Device only
-1
Device only
Thx OopslFly! Very helpful.
[SPOILER]
<?xml version="1.0" encoding="UTF-8"?>
true
true
key tracked filter 2
false
1.0
Device only
50
Device only
Bend
2
2
0.0
1.0
Linear
46.8000145
Device only
Rez
0
3
0.0
1.0
Linear
0.0
Device only
Inertia
0
5
1.0
0.0
Linear
100
Device only
Key range
1
4
0.5
0.0
Linear
1
5
0.5
1.0
Linear
50
Device only
Key Offs
2
3
0.0
1.0
Linear
0.0
Device only
Key Offs
50
Device only
Macro 7
50
Device only
Macro 8
5
true
Init
true
true
true
Init
true
1.0
Device only
2
Device only
0.508457482
Device only
6.55200195
Device only
-60
Device only
0.0078125
Device only
Butterworth 4n
keyfol
false
false
Init
true
1.0
Device only
-1
Linear
Clamp
0
119
-1
Device only
2
Device only
1.0
Device only
0.0
Device only
1.0
Device only
key2freq
false
false
note-freq-helper-filter3
true
1.0
Device only
frq2flt(kt2frq(A, B, C))
local fromnote = 0.0
local tonote = 119.0
local bendrange = 12.0
local a4 = 57.0
local a4f = 440.0
local ffac = 1.0 / 22050.0
local lgfac = 1.0 / 4.6051701859880913680359829093687284
local trt = 1.0594630943592952645
function frq2flt (inp)
return log(99.0*(inp*ffac)+1.0) * lgfac
end
function kt2frq (inp, bnd, offset)
local nnbr = (inp+offset-0.5)*(tonote-fromnote) + fromnote + (bnd-0.5)bendrange2.0
return a4f * pow(trt, nnbr-a4)
end
Key
Bend
Key Offset
true
1
0.70588237
Device only
0.5
Device only
0.5
Device only
-1
Device only
0.0
Device only
2
Device only
[/SPOILER]
Can somebody create REDUX example preset please?
Hello!
Now that 3.1 is out, I wish to resume my work on making formula device keytrackers for the new filters etc. - Yay, the formula device is official now?
I also want to try to document my stuff in this forum, and share the formulas for each device.
There are some points I’m still missing, maybe @Taktik can help clearing up these formulas.
- The new analog/digital filter has a different scaling than the old filter device. It also seems to have a different frequency range. Please share the formulas for it, exp the new analog deems to bloom when keytracked, when self-oscillating! -
I did some measurement of key-tracking the new analogue filters (by playing a white noise sample thru instrument filters, with a single keytrack device), the resonant peaks seem to be about 3 octave higher than the note played.
roughly,
C2>D#5
C4>B6
C6>E8
Ah, sorry for my post. Now I feel just as dumb again as when I was first presented with the formula. It’s been a while since I found how to use the formula properly, and I lost my original document and just kept the resulting formula device code. I just had forgotten - you need to adjust the formula for the frequency range of the plugin, damn…
Now I have repeated the steps and found it works perfectly with the new analog filter device. Will post the corrected formulas in the other thread soon.
well the formula device is of no use when we want to play the POLYPHONIC FILTER’s frequency , that’s the filter in the instrument 's tab guys !
Oh, not mentioned yet, here a Thread with lots of devices: http://forum.renoise.com/index.php/topic/45617-renoiseredux-slider-translation-formulas/
@ gentleclockdivider, I haven’t investigated if some known formula for keytracking the modulation filters could be valid. There aren’t all formulas know yet, anyways, and we have to wait for Taktik to disclose them to know for sure. Or try to do some real math reverse engineering via datasets to come close. So far I have only looked into the DSP devices. When I find some time & peace of mind I’ll experiment with the known formulas and the modulation filters.
Controlling the modulation filters via a keytracked formula device has some downsides tho I think. The tracking won’t be polyphonic, I think this couldn’t be possible so far. You could only track a single offset for all currently played notes, but this could be independet of the notes pitches via some tricks, so it might be useful after all. As the keytracker isn’t polyphonic, and the formula device would also have no means to distinguish between the notes, there can only one value be sent to the modulation filters. Polyphonic accurate keytracking would need either a note-correct frequency control range like with the new comb and ringmod, or a polyphonic formula device in the modulation tab.
You can access some of the modulation filters as well via the chorus/flanger devices though. Just use them without any modulation and 100% wet. Most of the new (3.1) filters’ frequency formulas are known, look at my other thread linked in this post.
I’ve looked at it, the new 3.1 modulation filters respond to the same known formula as the new analog filter / chorus filters. But the limitations apply - sadly no way for polyphonic keytracked action.
It seems this is still the case, right?
Its nice that the filter is polyphonic, but its out of tune, not sure how i can fix this
I tried to replicate this tip in Renoise:
Hey…
Maybe this will help you…use dsp fx instead of modulation. And then this: [Effect Presets] tuned keytracked effects formulas/doofers Ktrk 1.1
I think the analog filter formula will also fit the modulation filter curve if applied via a macro. But no polyphony then, as the keytracker/formula combo will only be usable in monophonic ways (controlling the freq of all active notes at once).
Thanks, i found this already here in the forum, but as you mentioned not polyphonic. Wouldbe nice to get atleast a “Note” slot similar like the AM stuff in the filter section.