Closed SimonG4ELI closed 2 years ago
Hey Simon! Thanks for the demo. Yeah to really reach the level of understanding that this requires took me a lot of time and more than a 100 papers worth of read. I'm mentioning just the most representative in the wiki. Have a look!
For the years that this has been out as noise repellent I've learned that most user don't understand what is doing what even after a good explanation. I'm just restricting to the bare essentials to be easy to use. As you already found there's configurations that you can change but requires a recompile. I don't think it's too useful to expose those parameters in the API but it might be cool to expose them through a config file..what do you think?
Yes,
Config file maybe
Also,
Looking at the code I see rescale option adjusts beta but you don't have a way to adjust alpha, have you tried adjusting alpha dynamically?
That's being modulated by the masking thresholds. Yes it's signal dependant and so dynamic. Masking threshold is the best criteria from all of the implemented. You can check there are many enums that list the different available
OK, I'll try the different masking thresholds and see what I find.
I mean https://github.com/lucianodato/libspecbleach/blob/main/src/shared/pre_estimation/noise_scaling_criterias.h you have the enum for the implemented ones. I always resource to use the masking threshold one because it gives the best results. Note that this is entirely signal dependant. From what you show in your example the type of noise that you are dealing with seemed to be very colored. I think masking threshold would be probably the best. But let me know what you find
OK, I'll try the different masking thresholds and see what I find.
I would like the enum NoiseScalingType to be a parameter so the user can switch while it's running, otherwise I have no suggestions at the moment.
Fair enough! How about changing the name of this issue too? Also did you find other criteria better for your use case?
Hi,
Not sure how I change the name. It's hard to compare when I have to recompile etc., tomorrow I'll test with a recording and let you know.
Sure we can track whatever you find useful through the other issue which I renamed to Expose more key functionality through the api so it could be more general
Hi,
At the moment NoiseScalingType is interesting but expose as much as you want!
Post filter control should be exposed too. This is because there are profile modeling options now that will allow it to be configured a little bit more aggressively.
Also expose processing window size so the precision of the fft could be specified at the init stage
Done, will be included in next release
Hi,
https://www.vocal.com/noise-reduction/musical-noise/ is an interesting read, it'll take me some days to fully understand it. Would be good to get the musicality removed, I think you effectively have this in libspecbleach, maybe some parameters should be exposed.
Look at https://www.youtube.com/watch?v=eRIqabVpltM to see libspecbleach in action, sometimes the musicality is pronounced.
BTW - this is not a complaint!