Display Assigned Audio

SamoanSavage824

Reputable
Apr 3, 2014
144
0
4,710
Hey all, I recently decided that instead of leave a TV sitting in my room doing nothing, why not set it across from the couch and use it as a second monitor for someone sitting on the couch to watch YouTube videos on while I play games on my monitor or even use it as a more relaxed gaming setting with a controller, basically getting the best of the console and PC worlds. However, I, as is usually expected when jumping into something that you've never done before on a computer, ran into some trouble when I realized that the audio from my system could only come from one source. To get it out there before I forget, I have a Gigabyte 970A-UD3P Motherboard with an MSI R9 280 and an FX-8320. What I was going for has nearly been achieved in the visual aspects(aside from some taskbar jittering until I toggle a setting) but the audio has stumped me. My TV is hooked up through HDMI and it is a Sony with exceptional speakers built in, so I would like to take advantage of those while I am on the couch instead of the computer speakers towards the corner of the room. I've searched around for a solution but have not found one thus far. I've seen suggestions saying that the Realtek drivers will allow sound mixing, but I cannot get the drivers to install. I press install and restart the computer and everything is unchanged. Even when I disabled the HD audio in the BIOS, the drivers did not appear whatsoever. I've enabled showing disabled and disconnected devices, but still no mixer or anything realtek. I'll post a picture of the sound settings for you guys to see, but I am supremely stumped. I thought that with the growing popularity of using more than one display windows or AMD's catalyst control center would have a simple option that said "assign this speaker to this display, and this speaker to this one" but I have not found such an option. I simply want the audio to assign to the speakers associated with each display so that if I, say, have a YouTube video playing on my monitor the sound will come out of the desktop speakers and a movie running on the TV behind me will play its audio through the TV speakers. And if I were to switch the YouTube video to the TV and the movie to the monitor, then the audio would switch sources as well. Please let me know if this configuration is possible, if at all, through software and if it is hopefully someone knows how to install it. If software cannot achieve it would a soundcard be a solution? I apologize for the onslaught of info and lack of knowledge, but this is my first build and I have much less experience overall with audio devices than video devices(I hardly learned what a soundcard was last year, yikes) Thanks, any help is greatly appreciated from this awesome community!!! #tomsftw
 
Solution
That's fine, just Large questions tend to beget large answers...

First the tl;dr - - if your applications won't let you choose their audio output device you need an intermediate application that can route audio to different sound devices simultaneously according to which application generated which audio. http://www.indievolume.com might work, you can trial it and if it works you must pay for it.

Now the explanation...

What you have to remember is that video and audio are separate things. At best a video file is still a combination of video and audio data, and very early on the softare processing the file splits it into the two parts. In programs that 'generate their own sound' e.g. games, the sound and video that the...
It can be done, kind of.

Firstly you need two ways of outputting audio. It sounds like you've got one in the R9 280 HDMI but are possibly having issues with the onboard Realtek sound. Get that sorted first, i.e. before trying to have multiple outputs at the same time, make sure you can choose between two different outputs through the default device in Windows. If you really can't get your motherboard sound working then get an inexpensive soundcard.

After that...well, it's dependent on your software. Basically if within your software you can select the sound device as other than the Windows default device then you're good to go. Windows Media Player and VLC both let you do this. (Note that it's application specific, nothing to do with the graphics drivers. From your display driver's point of view it can deal with multiple displays because it's simply spreading an extended desktop between them, but intelligently dividing up audio outputs from different applications is another thing entirely.)

It's not going to be as clever as you just switching displays and the sound following, but it'll be most of the way to where you want to be provided that at least one of the applications you're using at any time lets you select the audio device independently of Windows default device.
 

SamoanSavage824

Reputable
Apr 3, 2014
144
0
4,710


Hey Moonstick, thanks for the reply and sorry for my long time before a response, I've been busy. Anyways, I understand that you can do this with some programs individually and it seems I've been using your solution already thus far. I feared that sound following the display might be a stretch but hoped that someone might've asked it in the past and that windows might've added support for it. Thanks for your answer though as at least I can try to find peace in not having a way to achieve this yet. With that aside, I guess my only question to you is how could I assign chrome to an audio output. I will use mainly chrome for video content so having it coming through my TV speakers while a game came through my desktop speakers(games that don't support audio output assignment). Lastly, would getting a soundcard or dac(not really sure what dacs are) be able to configure one display to play audio for programs running on it? Thanks again for your help and for braving such a large essay of a question!!!
 
That's fine, just Large questions tend to beget large answers...

First the tl;dr - - if your applications won't let you choose their audio output device you need an intermediate application that can route audio to different sound devices simultaneously according to which application generated which audio. http://www.indievolume.com might work, you can trial it and if it works you must pay for it.

Now the explanation...

What you have to remember is that video and audio are separate things. At best a video file is still a combination of video and audio data, and very early on the softare processing the file splits it into the two parts. In programs that 'generate their own sound' e.g. games, the sound and video that the progam wants to output are dealt with separately. Put another way, it's never a case of an application saying to the OS 'here's some video and sound data, please display and show them'; instead it's saying 'here's some video data, please display it; and here's some sound data, please play it'. And then the OS through its drivers puts the display out to some device for rendering and puts the sound out to some other device for converting. Those devices might exist on the same PCB (e.g. a video card that outputs sound over HDMI) but they're different.

(And forget about DACs - they're digital to audio convertors, it's the point at which digital sound is converted into the type of signal that defines how the speaker will move, and more explanation than that won't help you here.)

The point here is that continually thinking in terms of a second display (as per the thread title) is a bit of red herring - you can't associate sound with a display any more than you can associate video with a pair of speakers. Your GPU isn't sending sound to a display, a sound processor that happens to reside on the same PCB as the GPU is sending sound to some speakers that happend to be attached to the display through a cable alongside some video data. From the PC's point of view, all it ever does is send video somewhere and sends audio somewhere else. Soundcards can't 'configure' displays - all an extra soundcard does is give you an extra output option for your sound. You can connect a soundcard to the speakers in a second display, but then the sound will only come out of the display if an application is directing its sound to that soundcard, and that will then happen regardless of which screen the application is being displayed on.

So you have to approach your problem as 'how can I make one application play sound on one set of speakers at the same time as another application plays on another set of speakers?'

And this question is not an uncommon one, but there seems to be a dearth of solutions. Windows only does 'default audio device' - any application that asks it to play a sound and doesn't request it be routed to a specific device gets its sound played out of the default. None of the browsers seem to allow audio selection (and Flash apparently does its own thing anyway, sending only to the default device). The closest is this unapproved Firefox plugin - download and use at your own risk. http://www.indievolume.com appears to sit between applications and the OS and claims to be able to route application sound to different devices. This would do mostly what you want, if it works - mixed reviews on that one. You can test the trial version, but if it does what you want you have to pay.

And remember that if you manage to configure e.g. Chrome + Youtube to play out of the second display, you'll have to change a setting when you want to hear them play out of the first. You dream of the system magically diverting the audio according to which screen the application is on is not a reality, not yet.

So there you go - a long explanation that probably doesn't solve the issue but should at least clarify what you're looking for.
 
Solution

SamoanSavage824

Reputable
Apr 3, 2014
144
0
4,710


Wow, even without finding the answer to what I want, I am extremely happy with the info you've given. First off, thanks for all of your time and effort put into that answer and for explaining it to me, it has really opened my eyes to audio configuration. I will definitely try each of your suggestions, but even if they were not to work exactly as I wanted them to I would be perfectly fine and understanding of it. Your explanation was eye-opening and very informative, giving me advice that I couldn't find anywhere. Thanks for everything, and thanks for the long answer (I'm kind of one of those tech guys who likes to read and watch to learn the most he can about a subject) Without a proper solution for this right now, it'll only give me another feature to love and be excited about when a solution does breakthrough!!