I asked a similar question a while ago but I didn't know very much, so I wasn't able to be specific enough.
I want to write a program that takes input from my microphone, processes it, and then sends the output to a fake "virtual microphone" as if the processed sound I created was what a microphone was hearing. I would then like to be able to use this virtual microphone with any application that supports choosing your microphone input (pretty much any well written software) as a valid microphone. So what the application "hears" will be my processed version of the microphone input.
I'm working with Portaudio in C and I can capture from the mic, process, and send out to the speakers just fine. Now I need to replace my real speakers in the application with the phony microphone. Windows seems to have some APIs for this. http://msdn.microsoft.com/en-us/library/windows/hardware/ff536201%28v=vs.85%29.aspx So my sink pin will be the real microphone and I will have to create a NEW source pin that should be visible to other applications. How would I go about doing this? I'm having difficulty finding code samples or really even any very informative documentation.
Language: C OS: Windows 7