Xiph.org's RNNoise library is wonderful. But as far as I could tell as of writing this, nobody has made an Audio Unit that does it for macOS yet. So here's my attempt at one.
I'm mostly doing this because I want to learn more about writing audio code and this seems like as good of a way as any to start learning.
Figure out why linking the AU extension fails(library needsextern "C" {…}
)Call into rnnoise to do most of the noise reduction- Write simple AU host that can take an input device and an output device and denoise from one to the other
- Implement noise gate using returned speech probability from librnnoise
- Build UI to control parameters
- Add space in AU host for the AU's UI
- Profile for power usage and ruthlessly optimize
- Consider replacing kissfft with Apple's FFT from the Accelerate framework