audio filter driver

Hello

I want to write a driver filter capable of trapping any kind of sound input
signal (from webcam microphone, from Line input or Microphone input of a sound
card) and capable of applying effect on the sound like Pitch, and any other
sound effects.

My problem is that I need this driver to be used on XP and Vista.

For USB Audio, the solution, I think, is to write a lower filter driver that
could intercept the streaming and applies the effects. This solution can be
used for both systems: XP and Vista.
For USB Audio on XP, I saw that can be used GFX Filters as an alternatively
solution.

But for sound card there is any solution? What is your opinion? I looked a lot
for any documentation but found none about this part.

For Vista, I saw that the solution recommended is sAPOs, but for it there are
some samples on DDK and that it is all, no more details.

Thanks
Mihaela

Mihaela Laura Dumitrache wrote:

I want to write a driver filter capable of trapping any kind of sound input
signal (from webcam microphone, from Line input or Microphone input of a sound
card) and capable of applying effect on the sound like Pitch, and any other
sound effects.

My problem is that I need this driver to be used on XP and Vista.

For USB Audio, the solution, I think, is to write a lower filter driver that
could intercept the streaming and applies the effects. This solution can be
used for both systems: XP and Vista.
For USB Audio on XP, I saw that can be used GFX Filters as an alternatively
solution.

But for sound card there is any solution? What is your opinion? I looked a lot
for any documentation but found none about this part.

It depends. On XP, you can write a filter driver, similar to what you
describe for USBAudio. On Vista, this same technique will work for
devices that use XP-style drivers. For devices with WaveRT drivers,
however, the APO is the only way, and that isn’t going to be easy.

The scenario you describe in your first paragraph is counter to the new
Microsoft philosophy for audio. It is now their assertion that the
audio pipeline should be under the complete control of the audio-using
application. There shouldn’t be anything in that audio pipeline that
the application didn’t specifically ask for, including your audio
effects. Thus, for example, it is simply not possible to install an
arbitrary effects APO for every piece of hardware. An APO is associated
with one particular piece of hardware; the model is to think of the APO
as an extension of the hardware, provided by the hardware vendor.

I do not agree with their philosophy, because there are some very
reasonable and useful scenarios that are now rather difficult to
implement, but that’s the way it is.

You might want to subscribe to the wdmaudiodev list at
www.freelists.org/list/wdmaudiodev; most of the Windows audio geeks hang
out there, including several influential members of the Microsoft audio
driver team. They may be able to give you better advice.

For Vista, I saw that the solution recommended is sAPOs, but for it there are
some samples on DDK and that it is all, no more details.

There are a couple of white papers on the Microsoft site about this.
Look for “Custom Audio Effects in Windows Vista” and “Reusing Windows
Vista Audio System Effects”.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.