Route program audio to different output devices on Windows

Back in the old days of Windows XP applications stuck with the given audio source at startup time. Newer Windows versions are more intelligent inform apps to adjust if the selected standard output device was changed. While is is in general a good thing, it prevents you from playing different audio on different output devices. Granted, this is a somewhat rare demand, but there are at least two legit scenarios for this. While the second is harder to achieve, the first is easy to accomplish.

1. you want to play audio on a speaker and listen to a different audio source on your headphones

If you want to play music on a speaker and listen to a different audio on your headphones, your favorite media player most probably can help out.
In most media player programs you can select the preferred audio output device. Normally the output is set to the default output. But if you select a specific device instead, the player is not affected if the default output device changes.

  • In Windows Media Player you can set the default device in Organize->Options->Devices->Speakers->Properties. A restart of WMP is required.
  • In VLC got to Preferences->All settings->Audio->Output modules->WaveOut->Select Audio Device.

    image

  • Other players like mplayer or foobar2000 can do the same…

2. You want to record the audio of an application isolated from other sounds

To route the output of one app to another you need extra software called Virtual Audio Cable – it does exactly that, but it’s not free. There is a trial to play with it, if you like to purchase you can get it for $25 + more for support.

Extra tip:

If you just want record the Windows system audio (let’s say, you listen to streaming audio and want to record it) without the need to reroute the output I would suggest to use Audacity. You can either activate the Stereo Mix Device to achieve this, as described here, or change the input source to WASAPI, as described here (prefer the second option).