Apply a DSP to my microphone in windows?

I'd like to be able to run my microphone through arbitrary DSP filters--Mostly for compression and amplification, but also noise cancelation would be nice. I'd then like to take that output and put it back in a virtual audio device that I could use as input for skype, mumble, teamspeak, or any other VOIP program.

With a program like Virtual Audio cable, I can do the 'fake devices' part but as far as I know it does not allow any kind of filtering inline.

Does a program like this exist? Or some combination of programs that can be combined to accomplish this?


Solution 1:

You are looking for a mic audio mixer. Windows already have one, but does not support much effects. You can look for a "mic mixer for windows" on google(what I did) and search your own results. My search returned me one good option called "Power Mixer", look it's features:

  • User-friendly, multilingual interface with themes support.
  • Quick volume adjusting by simply rotating the mouse wheel.
  • Supports advanced volume controls such as bass and treble, etc.
  • Unlimited, fully customized user presets for quick volume setup.
  • Quick changing the selected volume controls by using desks.
  • Customizable hot keys for any volume control, preset or desk.
  • Peak level meter for real time audio monitoring.
  • Works with multiple sound cards simultaneously.
  • Vista gadget to control volume from sidebar.
  • Supports changing the speaker configuration.
  • Supports changing default audio device.
  • Fine volume tuning from 0 to 100.
  • Supports Audio Tapers for volume controls.
  • Built-in scheduler with greater facilities.
  • Displays main volume value in the tray icon.
  • On-screen display for perfect volume adjustments.
  • Command-line support for use in a batch file or script.
  • Automatic loading of the program at the system start-up.
  • Can work as service or as an ordinary application.
  • Supports all features of the standard volume control.
  • Works on Windows 95/98/Me/NT4/2000/XP/2003/Vista/7.

And a printscreen:

enter image description here

Solution 2:

I'm not 100% sure if this would work (and cost may be an issue for your application), but Matlab has modules for taking input from/outputting to an audio device in the DSP System Toolbox.

  • http://www.mathworks.com.au/help/dsp/ref/fromaudiodevice.html
  • http://www.mathworks.com.au/help/dsp/ref/toaudiodevice.html

This would give you virtually limitless filtering options, and you might be able to couple this with a virtual audio device so it passes audio to a virtual microphone instead of outputting to a sound card.

Again, I haven't tried this myself, but thought this information might be helpful to other people reading your question.

Solution 3:

I like APO equalizer. It can be applied both to input and output channels individually based on processing API introduced in Windows Vista.

Permanent applying require reboot though you can change settings online during tuning.

Besides standard filters it can apply VCT plug-ins although I don't check that option.

Also I recommend to use spectrum analyzer to get better understanding of your microphone issues.