RFC: Adding spectral noise reduction class
Closed this issue · 0 comments
This is not so much an Issue, as an RFC and note of intent.
I'm in the process of adding a Spectral noise reduction class to the OpenAudio library.
I've made a start, and have something working, but it needs refinement, some interface improvements, and documentation.
The work is based on the code you can find in the Convolution-SDR and UHSDR - see:
- Convolution-SDR code: https://github.com/df8oe/UHSDR/blob/active-devel/mchf-eclipse/drivers/audio/audio_nr.c
- UHSDR code: https://github.com/DD4WH/Teensy-ConvolutionSDR/blob/master/Teensy_Convolution_SDR.ino#L14526
A partly 'sanitized' version of the code can be found in the DSPham code base: https://github.com/grahamwhaley/DSPham/blob/master/spectral.cpp , but even that has a bunch of code that needs cleaning, documenting or removing (there is some old code and data blobs that are legacy from other previous NR data schemes from long ago in the code history).
The best introduction to how the code works can be found in the UHSDR wiki: https://github.com/df8oe/UHSDR/wiki/Noise-reduction
I've got some other stuff to do, so it may be a few weeks yet before I polish it enough for an initial PR.