[wdmaudiodev] Re: Expose multiple Audio Sources as a single virtual microphone

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 12 Jun 2015 09:13:12 -0700

Thomas Terhaar wrote:

my employer asked me to research the possibility of a very specific task:

Is it possible to write a driver that takes multiple audio signals (at
least 2), mix the audio signals and expose the result as a single
(virtual) microphone ?


So the driver I’m envisioning should have the following abilities :

- Take an audio input device (typically a microphone from a
headset) and the default audio-output device (loopback) as input

- Mix the signals

- Expose the result as a virtual microphone that can be
selected in Flash and WebRTC-enabled Browsers as input,
so the customer receives the mixed signal from the advisors (and also
himself because of loopback; that’s an issue I’m aware of)

Is this possible at all ?

Is your advisor using a custom application? If so, then you do not need
a driver at all.

The new audio APIs (WASAPI) have a loopback ability built in. Your
application can set up a graph where the audio loopback becomes just
another input pin. You can then mix that signal with the headset
microphone input pin, and send the result out over the web. That leaves
everything under the control of the application (including the switching
in and out), which is exactly what the Microsoft folks intended when
they rewrote the audio subsystem in Vista.

Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.

Other related posts: