Comments (2)
While not directly related to the issues above, another thing we've discussed previously is that the current param <-> freq mapping is too coarse at low frequencies. Admittedly, the currently-used curve is something I just threw together as a "nonlinear mapping" and is basically x^2
mapped to the desired cutoff range. It seems the desired curve is typically logarithmic (eg exp(ln(20) + x * (ln(20000) - ln(20)))
, proposed here). I graphed the two to compare:
Clearly, the logarithmic curve offers significantly better resolution in the lowend (as well as other crucial parts of the spectrum), just like we want. Further, the curve is the same regardless of the base used, which is convenient for us, as we already have an implementation of exp2
in Helpers
. This implies that we'd likely need to add log2
as well, but this may not be the case - if we can get away with only ever doing the forward mapping, then because the inputs to log2
are only ever constants, constant folding removes the calls altogether.
Thus, I propose the new mapping be exp2(log2(low) + x * (log2(high) - log2(low)))
where low=10
(judging from the -3dB point in your graph above) and high=22000
, with no inverse; if an inverse is desired, it should be (log2(y) - log2(low)) * (1 / (log2(high) - log2(low)))
and the log2
shim, if required, is then trivial to write using fyl2x.
Admittedly, though, I have yet to actually try such a mapping (nor the extended range) in an actual plugin; these are just some notes as I happened to think about it. It should be tested, preferably against another plug like Pro-Q 3.
EDIT: Just to make the logarithmic mapping a bit clearer, I generated a log-linear plot as well:
Even though I've been a bit lazy with the labels, I still find it more intuitive to imagine scaling the parameter linearly and using this plot to determine what the frequencies would be. I'm guessing this would feel a lot better. In fact, even just comparing against a screenshot of Pro-Q 2:
Just to pick a point of reference, in both pictures, 1kHz appears to be mapped to ~0.6, which is a good sign.
from wavesabre.
Also, to clarify: the peaking behavior of the LPF with default settings currently, is that only due to the current โneutralโ Q mapping, and/or is it also related to the trig tables like the HPF?
from wavesabre.
Related Issues (20)
- Consider more consistent and precise time handling in converter/song
- Mark deprecated devices as such in their UIs HOT 1
- Properly handle threaded parameter updates
- Consider parameter smoothing solution
- Investigate potential improvements to StateVariableFilter
- Revisit (and likely remove) metaplugin/jbridge setups
- Add new sampler device
- Cover more VS versions when building in CI
- Fix VS 2015 support; add to CI matrix
- Live 10 support
- Live 11 support
- Binary plugin distribution HOT 1
- Proper tutorial(s)
- Make building deprecated code/VSTs opt-in
- Add changelog
- Support VST3 HOT 1
- Dual license MIT and GPLv3 HOT 4
- Investigate including VST3 SDK as a submodule HOT 14
- FL Studio project file conversion broken in FL Studio 20.9 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wavesabre.