56

I have an audio connector on board (Asus P8H67-I) and an USB audio card (Teufel). How can I use the two devices simultaneously?

As far as I can see I have to set one device to the standard output device. I am looking for a way to set both to the standard output device in order to hear on both the same sound.

Any ideas?

4
  • Wow, 154,163 views? Anyway, I have the same question. Unfortunately, it looks like the only answers here require either buying new hardware, or purchasing software of similar cost. =/
    – Ajedi32
    Aug 11, 2014 at 0:48
  • @Ajedi32: Not anymore. We now have a canonical answer after all these years. superuser.com/a/997538/101043 Nov 8, 2015 at 0:12
  • 1
    That "canonical" solution only works if your primary device implements "stereo mix" as a device. Many USB devices do not. This really would be simple to implement in the kernel streaming mixer, if you allow dropping or duplicating the occasional sample for the "mirrored" device.
    – Jon Watte
    Jun 1, 2016 at 0:54

9 Answers 9

20

Windows does support multi streaming audio.

Microsoft calls it stream routing.

This actually existed back in Vista. . .

http://social.technet.microsoft.com/Forums/en-US/w7itprogeneral/thread/b1d1acac-1f21-4d23-8d68-98964d67c2c7/

http://louisgale.blogspot.com/2009/08/live-messenger-and-default.html

http://laptopsall.com/configuring-multi-streaming-playback-for-realtek-audio-on-intel-desktop-boards

For a hands on example, play something on Youtube. Fire up Windows Media Player. Go to Tool, Options, then click on the Devices Tab. Doubleclick the speakers and switch the output to, say from Back Speakers to Front Headphones. Now you have Youtube through the Back connections and an MP3 going on the front headphones.

Media Player Classic along with VLC also support this feature, again, which was available since Vista. In MPC, it's an obscure listbox on the bottom of the Output options. VLC, switch to Advanced and look under the Audio tree.

As long as your Audio drivers are updated and the Application supports it, then you are good to go. Some programs can be fooled into playing onto another output device by switching the default device after you've hit play. . .

7
  • 2
    I want to put Starcrafts battle sound on the headphone and everything else on the USB speaker.
    – ceving
    Aug 29, 2011 at 9:02
  • 1
    That probably isn't possible.
    – Mike Wills
    Aug 29, 2011 at 13:41
  • 1
    @ceving: If the program doesn't support it, then there is nothing the OS can do. . .
    – surfasb
    Aug 30, 2011 at 7:22
  • 3
    So what if I want to output audio from the same application to two different devices?
    – Ajedi32
    Aug 11, 2014 at 0:36
  • 1
    Link rot: The laptopsall link is dead. Any replacement? Mar 22, 2016 at 2:44
29

You need to use Stereo Mix feature. Go to Sound -> Playback, set your primary device as default, then go to Recording tab, find Stereo Mix device (you may need to enable it and/or show disabled devices first), go to Properties -> Listen, check Listen to this device and select Playback through this device to be your other output device. You don't need to set your other device as default, it will still work. This way you can continue using your microphone to record sound. I found these instructions in this video:

For my case, I needed to play simultaneously through my speakers connected via 3.5mm jack and also via my Logitech headphones. For recording, I wanted to use my Logitech headphones as well. Below screenshots explain how I did it (click to zoom):

enter image description here

Using this feature, you also get two volume control bars, which is handy, if you want to set "normal" volume different on the headset vs speakers, something you cannot two with a hardware splitter, which is the approach I used previously:

enter image description here

7
  • 3
    Nice hack. Unfortunately not everyone has a Stereo Mix device. I think it depends on your sound card.
    – Ajedi32
    Nov 8, 2015 at 0:47
  • @Ajedi32: Yes, you may be right. Some people are reporting that Stereo Mix is missing for them, even after following steps to show disabled devices. Honestly, that's a surprise for me, because I'm using a built-in Realtek sound card, which has this feature. My mobo is from Asus. The good side is that it's a free hack though. Nov 8, 2015 at 13:15
  • 1
    Note for those, who have default set to S/PDIF output: "What-U-Hear" works only with Analog output, unless you mark "Play stereo mix to digital output" in Advanced Features of Sound Blaster Pro Studio (comes with the drivers) and set default to Speakers output.
    – metalim
    Jul 22, 2016 at 19:20
  • 1
    That's a pretty cool trick, thanks for sharing this!
    – Codebeat
    May 24, 2017 at 12:49
  • 1
    One downside to this hack is that there's a slight latency between the primary and secondary devices. It's not much, but it's enough to put the two out of phase, so you won't wanna listen to both at the same time. This may be a nonissue, depending on what you want. Jul 24, 2017 at 9:38
10

What you're trying to do might require you to get a bit more physical. WINDOWS may not be able to split audio between two output devices, but YOU have the power to split it as many times as you want. Your USB device sounds like it didn't work out the way you wanted it to when you purchased it. You'll have a much easier time getting rid of that and simply splitting your motherboard's outputs with cables you can buy from any large electronics store.

For example: I just upgraded to a Digital Receiver with an option to have either S/PDIF or RCA inputs going to my new speakers. My old speakers take a direct stereo cable connection from the motherboard to their inputs.

In this case both speaker systems are 5.1 channel surround, and both have some form of surround simulation built-in for stereo sources.

The problem

The new speakers are connected to the sound board with an S/PDIF cable. Old speakers are connected with stereo cables. This means that Windows is seeing the S/PDIF optical out and my regular 5.1ch stereo outs as separate devices. I want to watch a movie in 5.1 surround, and I want it to come out of both sets of speakers, without using surround simulation on either set.

The solution

Sacrificing the digital out (which gets converted to analog at some point before it reaches your ear anyway) and sticking with analogs allows you to trick Windows into thinking it's only sending audio to one device. But how do I connect the analog receiver to the stereo jacks, which are already in use by the old speakers?

3 Stereo splitters, plus 3 Stereo-RCA adapters, plus 3 RCA cables. even if you have an extra stereo out for headphones, do not use it in this type of setup. Windows will not factor in preamp loss on splitting outputs, which means you'd be messing with volume levels just to save yourself the cost of 1 splitter.

So I'm splitting my 5.1ch stereo out into 2 separate speaker systems. One with 3.5mm input, and one with RCA. Windows thinks it's sending audio to a single speaker system. Obviously this means I'll have some(50%) preamp loss. Your signal to noise ratio may suffer heavily with this type of setup, depending on the quality of your cables, speakers, and onboard hardware.

The other solution

Take the old speakers (the ones that plug directly into my motherboard with Stereo cables and no adapters) And use a series of adapters to plug them directly into my stereo receiver instead. In this case, I could use Either S/PDIF or Multi Ch RCA in, depending on my specific output needs. Computer games, for example, are not surround encoded; your computer can't send a 6ch signal through S/PDIF, only encoded stereo signals which the receiver then decodes. So for some audio sources I will need true 6-channel output all the way from the mobo to my ears. This particular solution, however, can be risky, especially if you are attempting to split Speaker Cable output. If you aren't, you'll be limited by how many outputs the receiver lets you have at the same time.

The third solution

Plug the old speakers into my mobo, and then plug its subwoofer's RCA outputs into the receiver's multi ch in, instead of into the satellites. The sats then get plugged into the receiver's RCA outputs, while the new speakers stay on their +/- wires. This is essentially using the receiver to do what Windows can't. ALSO risky because now I've got a preamp on my receiver's inputs. Windows preamps the speaker volume at 100% (no splitters this time) and the old speakers' volume will now preamp the receiver volume, which is going out to my new speakers. And, I'm still limited by the amount of outputs my receiver supports at the same time. In my case this is RCA stereo + single RCA sub out == surround data only coming from new speakers, with subwoofer and stereo output reaching the old speakers. Your mileage may vary on this one. Just make sure to keep your "preamp" turned down as far as possible.

Bottom line: All operating systems have limitations; Not all limitations have workarounds. If you're willing to mess with a few cords, you can do some crazy stuff with audio.


P.S. Upon reading some your comments about what you're trying to do, Ceving, I'd say you have to just look at it backwards. You say you want Starcraft battle sound from headphone and "everything else" from USB speaker. Well, depending on how many things are included in "everything" that's totally doable in software. Set HEADPHONE as main audio device. Then, change MEDIA SOFTWARE's output to USB speaker. You must first tell me what "everything else on speaker" means before I can tell you what specifically you need to change. Basically, everything that ISN'T Starcraft, MUST have an option to play through USB speaker for what you're thinking of to actually work.

Also keep in mind that Windows does weird things with Audio device when it comes to Headphones specifically. If at all possible, don't tell windows that they are headphones, tell it they are stereo speakers. Tell windows that the USB speakers are a separate set of stereo speakers. That'll put you at a starting point. Keep in mind that to play STEREO (2 channel audio) through 2 separate devices in windows, you just need to disable "mute speaker when plug in headphone", plug one set into main jack, one set into headphone jack, and you're good to go. I hope that isn't what you were trying to do cuz that would have been way simple. And I hope you're talking about StarCraftII because Starcraft1 is actually set up in such a way that you get in-game music out of FrontLeft/FrontRight and SFX out of Center Channel when Windows is in a surround sound configuration-- which really is a whole nother explanation altogether.

1
  • Woah, that's the longest non-spammy, non-useless first-post on a Q&A I've ever seen. +1 for just that, but I think it's a bit long; I'll try to read it, but it's 'arcane' to me. Oct 9, 2011 at 0:23
7

I had a similar problem with my multi monitor setup. The only solution that I found was to use "Voicemeeter":
https://www.vb-audio.com/Voicemeeter/index.htm

You need to select your hardware outputs for A1 and A2 in the upper right corner:
screen1

And then you need to select "system tray (run at startup)" in the menu and the "hook volume keys"-option to allow volume control through your keyboard media buttons:
screen2

Finally you may need to check your delay to have a full synchronized sound through Menu -> Settings -> OUT A1 Monitoring Synchro Delay. I used an online metronome and choosed "27ms" as the best setting for me:
screen3

The only problem is, that you are not able to control the volume individually for A1 and A2. And it does not work if you need your audio on more then two audio devices (triple/quad monitor setups). If you need that, you need to use Voicemeeter Banana:
https://www.vb-audio.com/Voicemeeter/banana.htm

But it misses a "hook"-option to change the volume on all hardware outputs (A1+A2+A3+A4) at the same time so you need to setup those manually through the included MacroButtons application. So its not really comfortable to setup, but finally it works!

3
  • 1
    Nailed it! This solution worked for me :D Broken first link tho
    – Uzer
    Aug 7, 2018 at 21:07
  • This way A1 sound good but A2 has awful sound (lagging low quality with distortion) how do I fix that?
    – Rules
    Jun 12, 2020 at 7:03
  • 1
    Wow I solved it. I had A1 set to "seinheiser usb headset1" and A2 set to "seinheiser usb headset2" both of which were plugged into case's front usb panel. Probably the "case's motherboard_to_front_usb cable didn't have enough throughput/power" for both headsets playing simultaneously. Plugged one of them into motherboard/case's back.
    – Rules
    Jun 13, 2020 at 9:23
5

Windows can't play the same audio stream on two devices simultaneously. You can switch between devices, and some applications will let you choose which device to use for output.

Links supporting:

http://www.sevenforums.com/sound-audio/26200-sound-through-two-devices.html http://www.windows7taskforce.com/view/76

1
  • LOL only 850$ for MOTU Traveler
    – ceving
    Aug 29, 2011 at 8:56
3

This doesn't work if your primary device (HDMI out, USB device, etc) doesn't implement the "stereo mix" device. My on-board, RealTek, analog sound implements it, but I don't use that device at all, so I can't use this solution. (I want to mirror primary USB audio device to secondary HDMI monitor)

What's so frustrating is that this would be a simple thing to build for the kernel streaming subsystem for the Windows kernel engineers, if they just wanted to / were allowed to. If the devices aren't sample-locked, you will have to drop or duplicate buffers (or samples) very occasionally -- I'm OK with that! Or they could use a software sample rate converter with an adjustable target rate, and tweak the effective output rate for the output device to keep in sync. (I did this for the BeOS Media Kit probably 20 years ago!) Worked well enough in practice.

2
  • I wonder if this is because they were stupid or evil...
    – Milind R
    Oct 16, 2016 at 13:43
  • 2
    Pretty sure they are worried about digital cloning of sound streams. Like, as if that bird hasn't already flown ...
    – Jon Watte
    Oct 17, 2016 at 18:30
1

Use the following method if these conditions are met:

  • The accepted answer (surfasbs answer) does not fit your problem because you do not want to play two different streams to two different output devices using stream routing, but you want the same sound on both outputs (as in the original question).
  • You do not have a stereo mix device in your Recording devices list because your sound card/driver does not support that and thus you can't follow Neolisks answer.
  • You don't want to buy hardware (cables as suggested in Daves answer or an external mixer board as suggested in Antti Rytsölä's answer), maybe because you have a laptop and want to play on the internal speakers and on a headset where extra cables do not fit.
  • Stereo sound is sufficient (you need no more than two channels).
  • You accept closed source but free add on software.

The following is a copy of my answer on a similar question https://superuser.com/a/1574636/520268:

  • Install the free Virtual Audio Cable Lite version (not the trial version) from https://vac.muzychenko.net/en/download.htm.
  • Set the default sound output device to Line 1 (the playback end of the Virtual Audio Cable).
    This is done in the context menu of Line 1 on the Playback page of Sound settings.
  • Mirror the Line 1 recording device (the recording end of the Virtual Audio Cable) to one of your outputs:
    This is done in the Properties window of Line 1 on the Recording page of Sound settings:
    Check Listen to this device and select one of the outputs in the list box.
  • Use the Audio Repeater program included in Virtual Audio Cable to play Line 1 to the other output.
    I failed with the Audio Repeater KS (kernel streaming) version because of 100 % usage of one CPU core but I succeeded with the Audio Repeater MME (MultiMedia Extensions) version (no visible CPU usage).

Now playing audio to the default audio device will play to both of your audio devices at the same time, no matter whether sound from programs or system sounds. All programs work with this setup because all programs are able to play to the default sound output device.

If one of the sound outputs is a pluggable (USB) device and it is removed and plugged again, it automatically becomes the new default sound output device. That means every time the device is plugged, two of the above steps need to be repeated:

  • the 2nd step: reset the default sound output device to Line 1 (the Virtual Audio Cable).
  • 3rd or 4th step: the one involving the device in question.
0

Windows is allowed only one primary audio source, so you can not play from two different piece of hardware.

2
  • Hmm "only one primary audio source" might be right, but "not being able to play from two pieces of hardware" seems to be wrong.
    – ceving
    Aug 29, 2011 at 9:14
  • Incorrect. It's possible to use Stereo mix to play from two different pieces of hardware at the same time. superuser.com/a/997538/101043 Nov 8, 2015 at 0:10
0

My solution was to switch to external mixer board, e.g. (EUR 99)

https://www.thomann.de/intl/the_t.mix_xmix_802_usb.htm

It didn't cost even as much as a good headset and I have good control over different sources. The USB is cool to have for PC connection. Also Bluetooth might be nice.

1
  • Nice mixer but it has just USB in and no USB out.
    – ceving
    Sep 18, 2019 at 9:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .