Virtual Audio Cable (VAC)
25+ years of experience. Connects audio apps together since 1998.
Please note that your system default audio device can be changed in result of VAC installation. VAC installer itself never changes default device settings but there is no way to prevent Windows from changing default device/endpoint automatically.
Prior to Vista, it may occur if you had not previously assigned this device explicitly. If a default device was assigned explicitly, it remains unchanged. Otherwise, Windows selects a default device automatically, and there is no easy way to predict which device will be used.
Starting from Vista, a default endpoint always exists. But some Windows versions (especially Windows 10 and later) may automatically assign a newly installed endpoint as the default. So you might have an endpoint of your preferred permanent audio device set as default, but after VAC installation Windows may select one of Virtual Cable endpoints instead, and you have to manually restore your preferred settings.
To set a default endpoint, open Audio Properties applet. Then find a property page (tab) that displays Playback and Recording settings and select particular devices from the lists.
In XP, you must always select each device from a list and click OK or Apply, even the selection already shows this device. Windows creates default device registry record only if the device is set explicitly. If a device record is not present, Windows picks a device by its own rules, and displays it in Audio Properties page. If you will install/uninstall another audio device, Windows may pick some other device in the future. Starting from Vista, if a desired endpoint is already marked as default one, you don't need to perform any actions.
If playing and/or recording application does not allow to specify a recording/playback device directly, try to set Virtual Cable N as a system default device (Wave Mapper) using Audio Properties Applet.
Keep in mind that a system default playback device is used by Windows to play system event sounds when you open/close a menu, run/exit an application, when message boxes appear on the screen. If you set a system default playback device to the Virtual Cable, these sounds are directed to this cable. You will not hear them but they will be passed via the Virtual Cable to its recording clients. If you don't want these sounds to be passed via the Virtual Cable, disable them in the Sounds tab by setting a sound scheme to "No sounds". You will be prompted to save a current scheme to re-enable it in the future.
Some poorly designed applications always use a first available device and cannot be configured at all. In Windows 2000, to ensure that Virtual Cable 1 is a first device, you should disable all other audio devices. Don't remove audio cards or uninstall their drivers, just disable their functions in the Device Manager. This may allow you to achieve your goal but you would not hear any sound until you re-enable hardware audio.
In Windows XP and later, a device assigned as a system default always becomes a first-enumerated in MME, DirectSound and WASAPI interfaces.
Starting from release 1803, Windows 10 offers per-application device/endpoint selection: Windows Sound Settings - App volume and device preferences (named "Volume Mixer" in Windows 11). To change default sources/targets, the application should be running, otherwise it may not be shown in the selection list.
Open App volume and device preferences (Volume Mixer) now (Win10 1803 and later only)
Please note that this feature may not work properly due to just partial implementation. In particular, it does not work for applications using MME interface. Additionally, it may not work reliably for applications running several instances of the same executable (for example, Chrome, Firefox and some other browsers).
In Windows 5.x, default audio device is set at per-user basis so you can assign different Virtual Cable devices as default devices for different user accounts. For all applications started under a certain account, default recording/playback devices will be mapped to appropriate Virtual Cables.
In Windows 6.x, default devices are set at per-system basis so you cannot use this technique.
To create additional user accounts at your computer, log in to the Administrator account, open the "User accounts" applet in Windows Control Panel and create one or more user accounts. If you usually work under a limited (non-administrative) account, create limited accounts too, otherwise create administrative accounts because not all applications, especially old, can work properly under a limited account. Once each account is created, set a password for it.
Another way to manage user accounts is using Administrative Tools - Computer Management item in Windows Control Panel. User accounts can be controlled in User Accounts and Groups - Users item. Creating a new account, specify a password, uncheck "User must change password at next logon" and check "Password never expires".
Once additional accounts are created, log in under them using Fast User Switching feature or logoff/logon sequence, and set different Virtual Cable devices as playback and/or recording devices, as needed.
To start an application under a given account, use "Run as..." item from a shortcut context menu. Open the Start Menu, locate application shortcut as usual, but use right-click instead of left-click. A context menu will appear. Left-click at "Run as..." item, select "The following user" and enter account name and password. If both were entered correctly, application will be started under given account and use different preferences than it uses under your usual working account.
To start applications automatically from a command (batch) file, use the runas console command. See Windows Help and Support for details.
To avoid unneeded complexity, use additional accounts only for applications that don't allow to select any available audio device and use only a default one.
Please note that each user account has its own preferences: desktop themes, sound settings, application working directories, temporary files etc. For example, if an application uses a working directory, creating project files in it, such directory may be different under different user accounts. So you may need to specify these preferences manually if the application works under an account different from your usual working account.