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

closed as off-topic by Nifle, DragonLord, mdpc, fixer1234, DavidPostill Feb 6 at 6:20

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking product, service, or learning material recommendations are off-topic because they become outdated quickly and attract opinion-based answers. Instead, describe your situation and the specific problem you're trying to solve. Share your research. Here are a few suggestions on how to properly ask this type of question." – Nifle, DragonLord, mdpc, fixer1234, DavidPostill
If this question can be reworded to fit the rules in the help center, please edit the 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

6 Answers 6

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

One way to accomplish the same thing; although it is not technically what you are asking for, is to use a virtual audio loopback device such as Virtual Audio Cable. Such software creates new virtual send and receive devices that can be used to take e.g. the default Windows sound device output, set to a virtual device, and send it to an audio processing application. Thus, the plug-in is not in the driver, but you can still get yer fx by sending sound to the default sound device. You then should use an ASIO driver for low latency. If your sound-card is not an audiophile device, then it probably doesn't come with an ASIO driver; although I suggest you check anyway. If it does not, use ASIO4ALL, which provides an ASIO driver for almost all audio devices. You will then need a platform that speaks ASIO, and as such, probably uses VST effects. Protools can als probably be used, but is overkill for this application. Reaper is one inexpensive possibility; and it has a non-expiring demo. There are free ones, as well. What is crucial here, is that it can do real-time audio effects, since e.g. not all wave file editors can. You then start the application, create a track, select your loopback device for the input and yer sound-card's ASIO driver for the output, plug in your VST effect (Reaper comes with a nice assortment of simple fx), and enable monitoring on the track (check the help for info on doing this). It sounds involved, but can actually be started pretty quickly. Reaper even reloads the last used project by default.

share|improve this answer

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