I am currently doing a project capturing audio stream from microphone. The stream I captured was full of background noise. I am wondering if there is library provided for removing the noise.
If not, what kinds of algorithm I should look for?
I haven't found a good library for audio noise reduction. However SoX is a really good open source command line sound processing utility. Check out their documentation page, specifically noiseprof and noisered.
What I would suggest doing to integrate it into your application, is to take the SoX executable and make it an embedded resource in your application. Then whenever you need to perform noise reduction, extract the resource to a temporary directory and call Process.Start() in order to execute SoX.
Hope this helps!