Choose the dedicated cross platfom, independant ones over any microsoft job. The library should feature access to good quality noise filter algorithms as I see that as the most challenging part of the task. You might also consider SDL though am not sure on the capture aspects, it certainly allows media device control. There may well be an extension library written for it specifically audio capture.
I have never done anything like this myself but I would imagine a GUI will be required so you can indicate by selecting a portion of your sample that this is noise, this is heartbeat etc. Unless you recorded five seconds say noise, five seconds noise with heartbeat input also. and had those first five seconds coded to represent the noise sample
thre is an open Source project called audacity you may wish to investigate the code access / dev options there