-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better smoothing #14
Comments
Other idea is to use Cappe's adaptation of Ephraim-Mallat non linear smoothing for wiener filtering. As suggested in REAL-TIME BROADBAND NOISE REDUCTION paper |
Try using critical bands and modulating the smoothing based on spectral flatness or directly masking thresholds |
I can supply 48kHz WAV / MP3 / WMA recordings of noisy HF transmissions if this helps. Your work is excellent. |
Thanks Simon! You are being too generous with your compliments. I have many more ideas and the motivation to keep going with many of the improvements listed here so development will stay active for a while. And by the way if you have any input given your experience in SDR Console, it's well received. I definitively want this library to be a community thing if possible. I don't particularly have HF examples so that would be cool! |
OK, I'll create some WAV files, SDR Console creates @ 48kHz. Link later today I hope. |
Here's a ZIP with two WAV 48kHz samples https://1drv.ms/u/s!AovWaZDu7HrdgYBuRhbhmNWAOcFvUw?e=OhDFE7. |
@SimonG4ELI I've been testing these. Quite difficult to treat. I guess the main concern for these is really to improve intelligibility and not really that much to not introduce distortions right? I've found that using the manual learning of the profile with the newly introduced max profile learn works really well. Still the random sine like noises are there. If you are interested there are recent advancements that Jean Marc Valin and his team has done with respect to these difficult cases https://www.amazon.science/publications/poconet-better-speech-enhancement-with-frequency-positional-embeddings-semi-supervised-conversational-data-and-biased-loss and https://www.amazon.science/publications/a-perceptually-motivated-approach-for-low-complexity-real-time-enhancement-of-fullband-speech I also plan to do and adaptation of the rnnoise library as a Vocal Activity detector into my algorithms. This could improve also these cases. Anyway, there's the expose-more-functionality in which I'm working to expose all these internals that you requested. |
Maybe something like proposed in SPECTRAL SUBTRACTION WITH ADAPTIVE AVERAGING OF THE GAIN FUNCTION.
Time smoothing between current and past fft_p2 (similar effect to ephraim and malah). Is done by applying a release envelope to signal power spectrum. The best option would be to adaptively smooth 2D spectral components so it will require a bigger buffer as suggested by Lukin in Suppression of Musical Noise Artifacts in Audio Noise Reduction by Adaptive 2D Filtering. Bilateral filter or non local means + DFT (This is the best improvement but it will need a big rehauling of the stft).
The text was updated successfully, but these errors were encountered: