Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Is there any (possibly free or open-source) virtual WDM audio driver for Windows, with additional processing plugins, which would add one more layer between windows applications and actual sound card's audio driver, allowing to:

  • Add software DSPs to general audio output. I would like to be able to use custom effects, like compressor, or stereophonic-to-binaural converter for listening online streaming media on headphones, etc.

  • Connect its output to some custom buffer instead of the sound card. For example, to be able to record audio, or to send audio via wireless connection to some other wireless source?

I know only about VAC driver, but don't know how I would use it to do any of these tasks. And unfortunately it is not free.

Also, audio driver was just my idea how to solve these issues - if you know other way, please share your knowledge.

I need this for Windows 7 and/or Windows XP.

share|improve this question
I have just discovered Airfoil as a possible solution to the second problem. The first remains open, however. –  Ognjen Nov 12 '11 at 1:55

5 Answers 5

Then there are several drivers working even without any physical sound card present:

but these two have no ability to apply effects, AFAIK.

share|improve this answer

There is now a free (donationware) alternative to VAC Virtual Audio Cable. Check out VB-Audio Virtual Cable.

VB-Audio Virtual Cable Screenshot

There are 32 bit and 64 bit drivers available to support one virtual cable. This cable appears to support 8 channels (7.1 surround) can handle 96kHz sample rate, and has an adjustable buffer size.

share|improve this answer

I've found a free open source API called Jack that appears to allow for both of what you've requested.

There are a number of applications that make use of Jack that offer what you've requested.

From their site:

JACK is system for handling real-time, low latency audio (and MIDI). It runs on GNU/Linux, Solaris, FreeBSD, OS X and Windows (and can be ported to other POSIX-conformant platforms). It can connect a number of different applications to an audio device, as well as allowing them to share audio between themselves. Its clients can run in their own processes (ie. as normal applications), or can they can run within the JACK server (ie. as a "plugin"). JACK also has support for distributing audio processing across a network, both fast & reliable LANs as well as slower, less reliable WANs.

I'm interested to know if this works for what you are doing.

share|improve this answer
JACK on Windows only works with ASIO compatible applications and sound cards. To my knowledge, there is no generic WDM driver allowing non-ASIO applications to interface with it. –  Brad Jun 9 '13 at 17:17

If you can deal with support for Windows Vista and later only, you can program in custom effects to the audio stack (the audio device graph, hosted by audiodg.exe)directly for applications using the following APIs:

  • WinMM (the oldest and most compatible sound API on Windows)
  • DirectSound
  • WASAPI in Shared mode

The following are unsupported:

  • Kernel Streaming (KS)
  • WASAPI in Exclusive mode
  • ASIO

The feature that allows you to program your own filters is called Audio Processing Objects and more info is available from Microsoft here (should be a stable link) with more detail here.

Note that all of this is laughably easy with Gstreamer and Pulseaudio on Linux; if you can get a similar stack to become the backend for all Windows audio, you won't have to do all the ugly machinations of a sAPO implementation.

share|improve this answer

Non-free but maybe useful for effects -- DMMF Virtual Audio Stream. Also, there is Dante Virtual Sound Card. Have you found anything useful by this time?

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.