I don't think this idea exists in any other music software.
I have been working quite a bit with Xpressive lately, and the possibilities it gives for shaping waves in the time domain are enormous. The fact that anyone with a little bit of time domain knowledge can rapidly create new timbres is amazing.
This got me thinking, if LMMS was able to implement an FX plugin which allowed the user to enter a transfer function in the frequency domain (instead of a time domain formula such as in Xpressive), the possibilities for user defined effects would be greatly expanded. I think this would really set LMMS apart from other music software.
The plugin could perform a Fast Fourier Transform (FFT) on the incoming audio, multiply by the user’s transfer function H(f), and then perform an inverse FFT.
For example, the user could enter something like:
H(f) = 1 / (1 + (f/2000)4)
to create a low-pass filter.
I believe that a transfer-function FX plugin could allow rapid creation of many different audio processes defined entirely by the user, similar to how Xpressive has expanded what is possible using time domain formulas.
In the frequency domain this could include things like:
custom EQ curves, spectral gating, spectral warping, phase shaping, pitch/timbre shifting, noise shaping, formants, filters, and compression.
And if memory or previous-frame data is allowed, possibly even reverb or delay-style effects.
I have some very limited C++ knowledge from introductory programming classes at University. However, I could come up with a proof of concept (as there are so many tools these days to assist) maybe in LADSPA if this would be feasible.
I understand that the team probably has a lot on. However, I believe that that this idea could be a game changer for LMMS.