Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm using Windows. I have two soundcards, and only one of them has an input. The other only has an output. For some reason, I can not change them.

What I have tried:

I am able to open Sound recorder set the recording device to the soundcard that has an input. Then I make a recording successfully. Then i am able to open the recording and play the recording out onto the soundcard that has an output (that goes to speakers/headset).

What I need:

What I need is the input of the one soundcard to always play over the the output of the second soundcard. How do you enable streaming into one soundcard input and then playing out the other soundcard's output/speaker?

Maybe I will need to write some code that opens the one soundcard... and then open's the other soundcard and stuffs the input sound into the other soundcard?

P.S. FYI, when i refer to "one soundcard only has an input" this is actually an external box with USB that when plugged in shows up as a "USB Audio Device" when you go to: Control Panel --> System --> Device Manager. When you go to properties of the device it seems to be using generic USB Audio drivers provided by Windows XP.

share|improve this question
I can record from the soundcard with the input. I can play the recording over the soundcard with the output/speakers. The recording is not what I need. I need the soundcard with an input to always play out the soundcard with the output/speakers. (recording to file and then playing is not the same as streaming the audio) – Trevor Boyd Smith Apr 19 '11 at 15:46

i had exactly the same problem, and a lot of folks does, actually, as it seems from the search on the internet. so - the other workarounds i found for myself here and there on the internet are:

  • use a program like Audacity (free and popular sound editor) which has a "Software Playthrough" option (found in Edit->Preferences) - in Audacity you can choose a different sound card for input and another for output, so with software playthrough enabled, whenever you record something from the selected line-in (soundcard A input, say), you hear it from the selected output (soundcard B output) - obviously the drawback of this is that you have to actually record stuff, which will be a problem if you don't have much ram/space etc. and listen to music for more than 1 hour at a time
  • use Audio Repeater, which is a small utility that circulates as a free download - when you download it for free it is supposed to be a restricted version that "locks" the latency between input and output at 5 sec - but if it's not a problem for you (as for me) - it's another solution - ok, you can write code too, but i am lazy personally to do that - so until somebody writes free code, i'll use one of these solutions..


share|improve this answer
I have found Audio Repeater as part of Virtual Audio Cable download. Just google and download it :) – Marki555 Mar 20 '13 at 19:39

On the control panel there's an item called 'Sounds and devices' or something similar (I don't have an English Windows XP available here).

This enables you to choose different default devices for recording and playback. Close all your applications before making any changes here.

share|improve this answer
You got it nearly right. It's "Sounds and Audio Devices" on the english version. In the Audio tab you can set the default recording and playback devices, and they can be different devices. You'll also want to set the same settings in the Voice tab. – music2myear Apr 19 '11 at 15:09
I went to the control panel --> sounds and audio devices --> i set the default recorder to the soundcard with the input --> i set the default playback to be the soundcard with the output/speakers. This does not make the sound come out of the speakers! – Trevor Boyd Smith Apr 19 '11 at 15:45

Double click the volume notification applet.

Choose options > properties.

Choose the input sound card in the dropdown and then the "recording" radial. Make sure the 'input' is then checked and press 'ok'.

The first window should have changed. Make sure the 'input' is not muted, is at top volume and enable any mic boosts if applicable.

Go back to options > properties.

Choose the output sound card on the dropdown and the "playback" radial. Make sure the 'input' is checked and press ok.

The first window should be back to how it was before. Make sure the 'input' is not muted, is at top volume and enable any mic boosts if applicable.

I don't have a way to test the above, its just a guess at what I think 'could' work. Downvote me to hell if I'm wrong :-)

Good luck, if this doesn't work I'm clueless :-)

share|improve this answer
i used to downvote "guess" answers like yours. but i don't do that anymore because it discourages new ideas. imo new ideas are very important so I definitely don't want to discourage them. – Trevor Boyd Smith Apr 19 '11 at 16:03
By this I guess it didn't work..? – PriceChild Apr 20 '11 at 17:50
no it didn't work out. I did not find a way to route audio from one soundcard into the output of another soundcard using any pre-built GUI. I had to write some java code to route the audio from one soundcard into another soundcard... I will post the soln sometime. – Trevor Boyd Smith Apr 21 '11 at 12:47
Bah, well please make sure you do! – PriceChild Apr 21 '11 at 12:51
up vote 0 down vote accepted

I wrote some code that:

  • finds a specific soundcard
    • iterate over all soundcards until you find a soundcard with a string description matching all the right keywords
  • then I opened an input on the soundcard that was found
  • then I opened an output on the default soundcard
  • then I had an infinite loop to forward audio from one soundcard to the next

Unfortunately I can't post code online due to it being written while on the job. :|

(If you do it with java it takes about 12 hours to code it up (with error checking) and test it and a little bit of command line options using "apache commons CLI".)

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.