This is not a c# solution but may help with making a decision on what to use. http://pulseaudio.org/ is used in a few linux distros now and you can install it on windows as well.
From http://pulseaudio.org/wiki/WikiStart#Whatisit
PulseAudio is a sound server for POSIX and Win32 systems. A sound server is basically a proxy for your sound applications. It allows you to do advanced operations on your sound data as it passes between your application and your hardware. Things like transferring the audio to a different machine, changing the sample format or channel count and mixing several sounds into one are easily achieved using a sound server.
PulseAudio has been tested on Linux, Solaris, FreeBSD, NetBSD, Windows 2000 and Windows XP. It should also run on all other POSIX and Windows systems, but may require new backends to handle their sound systems.
Might be a good option depending on your scenario...