Closed micsthepick closed 1 year ago
Hi Michael! Sorry for the long wait; I don't have a fix for this yet and I think I need to do some research, but here's a sort of tree diagram of my thoughts at the moment.
Quick update on this:
This is the latest version of the denoiser that I have https://raw.githubusercontent.com/micsthepick/REAPERDenoiser/develop/REAPERDenoiserMDCTinverted.jsfx, it uses spectral blurring, and also uses an inverted technique to try and reduce the pre-reverb by putting it in the noise (which is subtracted out anyway) - I'm not sure if it makes that much difference
just realizing that the latest issue that I posted (#7) kinda addresses this issue
I've messed around with implementing this algorithm with the MDCT (built into JSFX), and it seems to have some interesting side effects. For one, it seems to greatly reduce the amount of ringing/echo from the processing, and it also seems to be significantly more effective for a given value of k squared.
I think it may be interesting to include a second copy that uses the MDCT (perhaps not replace the existing version, since the MDCT has a much smaller maximum frame size)
The reason that it is so effective may also be in part (but I suspect that this is not the whole story) because of the moving average in my version. (Each time the noise buffer is written to, it takes the weighted average of 3 times the old value and one times the new recorded value), so even if you don't include a MDCT version, I think it helps to get a more accurate noise profile by taking a proper average (perhaps even a moving average, so that all samples are weighted evenly, rather than more recent ones with greater weight)