Virtual Audio Cable (VAC)
20+ years of experience. Connects audio apps together since 1998.
You have troubles reading this comprehensive manual and navigating in it.
Try to enter some keywords on the "Search" tab in the local copy (the .chm.file). If there are no related pages, try to read about the principles, features, simple usage rules, typical usage examples and frequently asked questions. After that, you may have additional keywords to search for.
VAC has been installed successfully but you don't know how to run it. There are no new shortcuts on the desktop.
VAC is a "passive" tool. It is not a self-sufficient application that you could simply run and show a window. This is determined by the design of Windows audio subsystem, not by an arbitrary choice of the developer.
The main purpose of VAC is to create virtual audio devices for you. You can use these devices with almost any audio application by selecting the appropriate endpoints in their audio settings. VAC cannot work standalone, with no audio applications (or system components) connected.
There is VAC Control Panel application that shows VAC driver state and allows to configure it. But it cannot be used to force third-party applications to work with VAC. You need either to configure the apps to use VAC endpoints explicitly, or let them to use system default ones, and associate these default endpoints with VAC.
Please read about VAC principles and consult other parts of this manual.
After successful VAC installation, some usual sounds disappear.
It may be the default device issues.
You hear an unwanted female voice in the recorded audio. How to get rid of it?
You are using the Trial version, so please note the trial version limitations. This voice reminder is normal for the trial. To get rid of this voice, purchase the Full version.
You have set output of an audio application to a Virtual Cable but you hear no sound.
If you connect an audio source (a sound-producing application) to the playback/render cable side and leave other side unconnected, you will not hear any sound. It is like plugging an electric cable to the speakers/headphones output of a computer or a phone, leaving other cable end unconnected.
You need to connect another (input/capture) side of the cable to another application that will receive (record/capture) the sound produced by the source application. See VAC principles, simple usage rules and examples for details.
You see red triangle icons with the exclamation marks in cable and/or stream list.
Such icon indicates stream and/or cable problem. Follow the guidelines to isolate and eliminate the problem.
You have set output of your audio application to the Virtual Cable N, then set input of recording application to the Virtual Cable N. Sound recording is fine but you hear no sound from the headphones/speakers during recording. How to hear a live sound?
You need to monitor the signal being transferred through the cable, as mentioned in the simple usage rules. The simplest way to monitor is using Audio Repeater application included in VAC package. See the example.
Starting from Win7, you also can monitor a cable using the built-in Listen feature.
You have configured playback and recording applications to be connected through Virtual Cable but audio signal is not passed as expected.
If there is a song/track position pointer, it should move.
If there is a playback/remaining time, it should go forward/back.
If there is a signal level indicator, it should show the presence of
signal.
Application's settings specify this Virtual Cable device or this Virtual Cable device is assigned to be system default.
VAC Control Panel application shows audio format and signal level indicator for this cable as you start playback and does not show them as you stop playback.
VAC Control Panel shows the appropriate playback stream(s) is the cable's stream list and signal level indicator
shows the presence of a signal.
Use Audio Repeater application or Windows Listen feature to monitor a
signal passed through the cable.
During or after installation, VAC driver is not loaded because of the digital signature problems.
From release to release, Windows uses more and more strong digital signature policies. If signature verification is not successful, the system displays various error messages: "The third-party INF does not contain digital signature information", "Cannot verify digital signature", "Code 52" in Device Manager etc.).
At first, make sure you obtained VAC distribution package from official sources. Packages distributed from third-party sources may be tampered with. Since VAC is quite popular, there are many fake "releases" that contain malware.
If you use Windows 7 or 2008 Server, make sure your system supports SHA-2 (SHA-256) digital signatures (KB3033929 update should be installed). Windows 8 and later systems don't require such update.
If Windows doesn't accept VAC driver signature, try to restart Windows in "Disable driver signature enforcement" mode. For that, press F8 or hold Shift at early boot time to enter Troubleshoot mode. If a text-mode menu appears, choose "Disable driver signature enforcement". If a graphical "Choose an option" menu appears, choose "Troubleshoot", then "Startup settings", then restart and "Disable driver signature enforcement" as startup settings menu appears. After installing VAC in this mode, restart Windows in normal mode.
During the installation, you get the error "device instance already exists".
Before product release 4.70, VAC installer (versions prior 1.14) might show the error message: "0x800F0207 - The device instance cannot be created because it already exists". In some cases, it means that a previous version was not correctly uninstalled. Device Manager shows "Virtual Audio Cable" device in the "Sound, video and game controllers" branch, and the problem can easily be fixed with the Advanced Setup Mode.
But sometimes, Device Manager does not show "Virtual Audio Cable" device or an unknown audio device in the "Sound, video and game controllers. It may be a "phantom device" problem. It may happen if a previous installation was not finished due to unexpected termination of the installer application (for example, if it was forcibly terminated by anti-viral software). In such case, the system creates a device entry in the Registry for VAC device, but marks it as hidden with a special "phantom" mark that doesn't allow to see and/or delete the device with Device Manager or other device management software.
VAC product installer 1.14 or later tries to fix this problem automatically. If it can't remove the "phantom" mark, or if you are trying to install an older version of the product, try the following:
If this procedure doesn't help, please save the entire registry key to a file, and attach the file to your support request.
When an external audio device is plugged in or out, some sounds disappear.
It may be the default device issue. Many USB/HDMI audio devices are configured to become a system default audio device when plugged in. So all default sounds become routed to newly connected device.
In some cases, such effect may occur due to endpoint arrangement issue because the system may rearrange audio devices if one of them is disconnected.
Wrong audio endpoints are actually used for playback/recording.
Usually, it caused by the default device issue or endpoint arrangement issue.
VAC was installed but there are no Virtual Cable devices and/or VAC Control Panel reports that driver is not loaded.
Please open Device Manager, expand the "Multimedia" or "Audio" device subtree and look for "Virtual Audio Cable" device. If there is no such device, it means that VAC is not properly installed. Make sure that you have carefully followed all installation instructions.
If "Virtual Audio Cable" device is present, open its properties and read device status in the "General" tab. There may be some common problems:
Error code 22 (This device is disabled) - try to enable device from a context menu.
Error code 39 (Windows cannot load the device driver for this hardware. The driver may be corrupted or missing) - VAC driver file was corrupted/deleted for an unknown reason. First, check for signature problems. Then try to uninstall VAC and install it back.
Error code 48 (The software for this device has been blocked from starting because it is known to have problems with Windows) - please read about virtualized environment compatibility issues.
If the device is working properly (no error codes in Device Manager) but VAC Control Panel reports that driver is not loaded, make sure that you run same version of Control Panel application executable (from the same distribution package).
If the problem is not described here, please contact support describing the problem in details.
VAC installation produces error 1072 (The specified service has been marked for deletion).
Most likely, you previously tried to uninstall VAC when some cables were in use and the uninstaller was unable to stop and remove the driver service.
Please restart the system and retry installation.
If there are "already exists" errors after system restart, use Advanced Setup Mode to repair.
VAC seem to be present although it doesn't seem to be installed
Sometimes it may turn out that you see VAC filters/endpoints in the system but VAC product doesn't seems to be installed. There are no related items in the Start Menu and related records in the Programs and Features or Apps and Features.
This is because VAC driver exists in the system, but some other product components and registration records were lost.
When a software product is being installed, many different things are performed: creating folders, copying files, creating Registry records, registered software components in system databases etc. Some of these actions are mandatory for product functionality but some others are not. For example, many software products don't require a special installation process to work properly; you can just copy their files to the system storage, and then run the appropriate EXEs. For such products, the installation process just makes their use more convenient, creating shortcuts and other associations.
In VAC product, only the kernel-mode driver requires a special installation procedure to register the driver in system databases, allowing it to be loaded and used by other software components. During this, driver files are being copied to a special system folder. All other product files are just copied to the product destination folder. Product record in "Programs and Features" or "Apps and Features" is being created just for convenience.
Accordingly, it is easy to delete product files from their destination folder (either intentionally or by error), as well as delete the shortcuts from the Start Menu and the desktop. If the system finds no uninstaller in the destination folder, it may automatically delete product record from "Programs and Features" or "Apps and Features". After that, you will see no signs of presence of the product in the common places. But the driver remains installed and loaded, so you can see the appropriate names in audio device settings.
The reverse situation is also possible: the product seems to be installed, but some files are lost, or the driver was not installed successfully, or it has been forcibly removed later. In such case, there is the destination folder, product record and Start Menu entries, but some product functionality is not accessibe.
In all such cases, use uninstallation troubleshooting measures.
KS version of Audio Repeater displays error 87 (the parameter is incorrect)
Some WDM/KS drivers may incorrectly return this error if some format parameters are not supported, instead of error 1169 that most applications expect. Try to use different format parameters for the appropriate input or output pin.
MME version of Audio Repeater displays error 1 (undefined external error)
If such error is shown for input/recording endpoints in Windows 10-11, check the Microphone Privacy settings.
Since MME error code 1 is the "unspecified error" code, it may be returned in some other cases, where specific error codes are not defined, for either input/recording or output/playback endpoints.
KS pins are accessible but higher-level endpoints are inaccessible.
Windows audio subsystem allows to selectively disable higher-level audio endpoints without affecting their underlying KS pins. So you may discover that Virtual Cable endpoints (or other device's endpoints) are not visible/accessible via WASAPI, MME or other higher-level interfaces (for example, by Audio Repeater MME), but KS pins are visible/accessible (for example, by Audio Repeater KS).
In such case, open Audio Properties Applet, switch to "Playback" and/or "Recording" tab, right-click on any endpoint, and make sure that "Show disabled devices" is checked. If there are endpoints marked as "Disabled", right-click on them, and click "Enable".
Also try to check "Audio inputs and outputs" in Device Manager.
Trying to start recording from Virtual Cable endpoint, you get a message saying it is busy.
At first, please make sure that error message really applies to Virtual Cable device, not to another audio device.
This error occurs if there are no available pin instances to allocate for recording operation. By default, each cable pin allows several instances but if all of them are exhausted, there will be an error message on any Windows platform. For details, please read about audio stack layering.
Another cause may be the known bug in Windows 6.x+ systems.
Trying to start transfer in KS Audio Repeater, you get "pin does not support requested format" error.
This error means that a selected input or output pin does not support the specified audio format.
Kernel Streaming version of Audio Repeater connects directly to audio device driver, not to System Audio Engine that has format conversion features. In most cases, device driver accepts only formats supported by the device and performs no format conversion. For example, if the pin accepts only 24-bit formats, 16-bit formats can be used only via high-level interfaces - MME/DS/WASAPI, and only 24-bit formats are allowed to be used via WDM/KS interface.
Audio signal passed through a Virtual Cable becomes distorted.
Signal distortion (garbling, crackling, popping, static-like clicking etc.) usually occur due to buffering problems in audio applications, System Audio Engine or VAC driver itself, if buffer lengths/sizes used for audio data transfer are not enough to compensate application and/or system processing delays. In particular, this is due to non-realtime nature of Windows system, and especially its kernel.
First of all, please check if your system is suitable for real-time audio streaming. To achieve a stable streaming, all buffering times must be 1.5-2 times greater than longest internal delay. For example, if LatencyMon shows 20 ms internal system delays, you will have a stable audio streaming only with buffering lengths of 30-40 ms or greater. But it may not solve the problem because System Audio Engine usually uses 10-30 ms buffers to communicate with audio drivers. If the delays occur in kernel-mode code, it makes no sense to increase application buffers.
If the system is considered suitable, check VAC driver and Audio Repeater application stability.
If Virtual Cable is the only path between two applications (one is playing back and another is recording), try the following:
If there are other (hardware or software) devices in the path (for example, an application records from a device and plays back to Virtual Cable, or vice versa), please also check if this issue is caused by the clock rate difference.
If you are using the Trial version that adds a female voice reminder, please pay attention to how this voice reminder sounds. Because it is added by VAC driver, playback side problems cannot affect it. Therefore, if you play a signal to a Virtual Cable endpoint and hear voice reminder clear but the signal becomes distorted, it means that recording side is OK but playback side has buffering problems. If both voice reminder and useful signal are distorted, it means that buffering problems occur on recording side and/or inside VAC driver.
Additionally, look to overflow/underflow counters for the particular Virtual Cable in VAC Control Panel. If overflow counter is not increasing, or is increasing rarely, but underflow counter is increasing rapidly, it means that buffering problems occur on the playback side, and vice versa. If both underflow and overflow counters are increasing rapidly, it means a total buffering problem due to CPU overload, high disk/network load, low cable timing event period, system timer problems etc.
If you still cannot eliminate cracks and/or distortions, please try deeper investigation and tuning described here.
As you start audio transfer over a Virtual Cable, there are distortions, but as you restart transfer, all works fine.
Many system and driver code and data parts are designed as pageable. It means that they are loaded to physical memory on demand as really needed so they may not be loaded automatically on system startup. Additionally, these parts may be unloaded from memory if not used frequently. To load such code/data parts, the system must perform some paging operations, reading from (and probably writing to) some disk files. Disk operations, especially on slow laptop HDDs, are much slower than memory operations and can affect real-time performance.
Therefore, when you start audio transfer, some code/data parts needed to process audio signals may not be loaded from their disk files or be unloaded to a paging file so the system must bring them back to physical memory before they can be used for signal processing. Additional time may be required for first-time initialization or re-initialization. It may cause delays and short-time distortions. Because these delays are random, streaming synchronization may be affected, especially if there are several real-time streams. As all code/data parts used for real-time processing are stabilized, streaming should become stable and smooth.
In Audio Repeater or similar applications used for device-to-device transfer, such delays may cause buffering failures (input or output queues become overflowed or underflowed immediately). In most cases, stopping and immediate restarting restores a smooth streaming.
Trying to change VAC parameters or perform a restart in VAC Control Panel, you get "Access denied" error.
To perform some privileged operations (for example, driver restart via device property change, or restart a service), VAC Control Panel needs to have administrative rights. So you need either to run VAC Control Panel "as administrator", right-clicking its shortcut, or log in using the native Administrator account (not a user with administrative privileges available).
Trying to restart the driver in VAC Control Panel, you get "Unable to restart driver" error.
Some applications and/or services may hold references to VAC devices without stream creation. Total count of these references is shown by VAC Control Panel in the "Clients" fields. Normally, there are 15-25 references from system processes, they don't prevent driver from restarting. But if other services/applications hold additional references, driver cannot be restarted until these references are released.
If you have closed all audio applications but the driver still cannot be restarted, you could try to search processes holding references to VAC devices.
If you found some non-Windows processes and/or services holding VAC device references, try to determine software products that they belong to (by name, by Internet search etc.). Maybe such product has a tray icon that allows to stop the service. As a last chance, try to kill the process in Task Manager.
Never kill svchost.exe processes except if you are familiar with Windows services.
Audio applications produce glitches on window animation.
Window animation process itself consumes some CPU resources. Additional window messages may be sent to the application queue during this process. If the application doesn't carefully isolate audio streaming code in a separate thread, such additional processing may break the uniformity of audio buffer processing.
Some MME audio applications, including old versions of Audio Repeater, use traditional window messaging (WM_xxxx) technique to receive real-time event notifications. When Windows performs window minimize/maximize animation, a delay in window message queue processing occurs and the application does not receive its buffer recording/playback events in the proper time.
To disable window minimize/restore animation:
In Win 6.x, you also can try to enable Aero interface that performs some graphical operations by hardware so there are more CPU resources available for audio transfer.
Starting from version 1.60, Audio Repeater MME, as well as all versions of Audio Repeater KS, are free of such problem.
Video-intensive applications cause sound distortions and/or interruptions.
The applications that draw images on the screen intensively (animations, games, presentations) often consume many CPU and bus resources. Many video drivers violate Microsoft load balancing requirements to draw faster and smoother. Since VAC has no own hardware and uses main CPU and bus resources too, there is a competition and video drivers might hold their critical sections for a long time, preventing VAC worker threads to maintain reliable data transfer.
To solve these problems, try the following:
The "Configure" button in playback audio device list of Audio Device Control applet is not accessible.
This is a known behavior of Windows 6.x+. These versions show Configure button only for speaker-type pins but don't allow to specify a name for the endpoint, always using "Speakers" name. Using speaker-type pins in VAC would not allow to distinguish between different Virtual Cables, they all would be equally named "Speakers".
So VAC uses LineOut-type output pins instead of speaker-type ones by default. These pins only allow to select a default format for shared-mode access.
You can enable speaker type using the "Enable spk pin" parameter in cable parameters section of VAC Control Panel. In such case, please carefully read the precautions.
You want to record a multichannel audio stream but there are only two channels.
At first, start VAC Control Panel and make sure that cable format range includes desired number of channels. For example, if you need 5.1 stream (6-channel), maximum number of channels should be set to 6 or more. In general, number of channels is set to 1..N but in some cases you could need to use a more strict rule (N..N) to disable undesired formats.
If you use Audio Repeater, make sure that an appropriate multichannel format is selected.
In Windows 6.x and later, shared-mode recording format is set to stereo by default. To use multichannel formats on recording, you need to configure default device format for the cable.
Trying to select default/shared format for the endpoint, you get "format not supported" error.
This problem may occur due to one of Windows bugs. As a workaround, set format attribute policy to ignore format attributes for the particular cable or for all cables (global policy).
After upgrading 4.15 or earlier to 4.50 or later, you have troubles with applications using KS interface.
Starting from 4.50, VAC supports RT Audio protocol and defaults to WaveRT port in Windows Vista and later systems, while previous VAC versions support only WavePci port in all systems. Some applications can use only standard Kernel Streaming protocol so they cannot interact with a Virtual Cable that uses RT Audio/WaveRT.
Try to change parameters of the appropriate Virtual Cable to use WavePci or WaveCyclic for the appropriate cable end, making sure that actual port types are successfully changed to WP or WC.
Trying to record from a unused endpoint in Windows 6.x or later, you are informed that it is in use.
Windows 6.x and later releases use endpoints to access different source (input) lines. Most modern audio devices have multiplexed source lines, not mixed ones, so only a single source line can be used at the same time. If a recording endpoint in a multiplexed source line group is currently in use, all other endpoints in the group become unavailable, and Audio Properties applet shows "Currently unavailable" for each of them.
An endpoint can be currently used by an application or by the system (as a default device, including default communication device). Audio device usage can be non-obvious, for example:
To make all recording endpoints available for explicit selection by recording applications, make sure that no endpoint from a multiplexed group is currently in use.
VAC Control Panel does not start, displaying error message with "0/1 - Incorrect function" text.
First make sure that VAC Control Panel executable file is started from the VAC installation folder and VAC was correctly installed before. If you start it from a folder with unpacked VAC distribution files, there may be incompatible driver and application versions.
To make sure that driver/application versions are the same, you can compare product version for both driver file (vrtaucbl.sys) located in System32\Drivers subfolder of Windows root folder, and application file (vcctlpan.exe) located in VAC installation folder (usually C:\Program Files\Virtual Audio Cable). To see a product version, right-click on the file, select Properties, open Version tab and select Product Version. Product version for driver and application files must be the same except for a build number (last of four numbers delimited with the period).
Also please make sure that VAC Control Panel is started from the folder you specified in last VAC installation. If installation and/or uninstallation procedures were performed inaccurately, there may be alternate folders containing different versions of VAC Control Panel application, and your Desktop and/or Start Menu may contain shortcuts to them.
If driver/application versions are the same, check if Creative Live! Cam Virtual driver is installed. It can be checked in Device Manager (by name) or in System32\drivers subfolder of Windows root folder (by the livecamv.sys file name). This driver was developed from VAC by a third-party company and incorrectly uses some identifiers used by VAC, making a collision.
Creative Live! Cam Virtual driver is a part of some Creative Live! Cam web camera products. To avoid a collision, disable or even uninstall it.
Please visit Creative website to obtain updated camera software.
At each boot, you see "the data is invalid" message window with "TBIA" header.
This message is generated by M-Audio Fast Track product. Most likely, this application queries audio drivers for their properties and handles returned values incorrectly. Please upgrade your Fast Track version and contact M-Audio for support if the message still appears.
Overflow and/or underflow counters in VAC Control Panel are increasing continuously.
Massive buffer overflows/underflows usually occur in two situations:
There are audible gaps, cracks and pops in the signal but there are no overflows/underflows in the cable.
Signal distortions may be causes solely by client applications, while VAC transport works reliably.
With RT Audio KS protocol and WaveRT port type, client-to-driver communication principles don't allow drivers to register buffer overflow/underflow on client side unless packet mode is used. If at least one part (the driver or the client) does not support packet mode, overflow/underflow counters don't work for the appropriate cable side.
You use Audio Repeater to monitor VAC cables with a soundcard and there are periodic short interrupts of the sound.
Like a hardware audio adapter, VAC has internal software clock to time audio data transfer. There always is a slight difference between each clock. Within several minutes, a total difference may become enough to buffer overrun or underrun. Try to use temporary or permanent cable clock adjustment methods.
KS version of Audio Repeater shows much lower actual sampling rate than specified in format settings.
To calculate actual sampling and clock rates, Audio Repeater periodically gets current stream playback/recording position from a driver to see how fast the position is moving. In looped streaming protocol, stream position is always moving through stream's circular buffer so position moving speed always represents playback/recording sampling rate accurately. But in standard streaming protocol, the position cannot go beyond a chain of buffers submitted by a client (in this case, Audio Repeater application). If all buffers submitted by a client have been processed and there are no available buffers in driver's queue, the position stops until a buffer is submitted and data processing is resumed. There is no way to get data-independent stream timing information in standard streaming protocol.
If KS version of Audio Repeater uses very short (1-2 milliseconds) buffer parts together with small (1-4) number of buffer parts (for example, 4ms of total buffer divided onto 4 parts), buffer part exchange rate between Audio Repeater and a driver (including VAC one) becomes very high (1000-3000 times per second). Each time, several user-to-kernel mode and back switches are performed. The system may be unable to maintain such high communication rate smoothly, and periodic internal kernel delays may disrupt a continuous data buffer flow. Therefore, gaps between buffer parts start to occur, some audio data are loss, and position movement becomes jerky.
In such case, try to increase number of buffer parts without touching total buffer duration. The more buffer parts in the queue, the more stable data flow is. If increasing number buffer parts to 8..16 does not help, try to increase total buffering time.
If you disconnect an external audio device or turn it off while Audio Repeater uses it, an error message is displayed.
It is quite normal. As you disconnect an audio device or turn it off (for example, a TV connected via HDMI), the appropriate audio endpoint disappears from the system and applications cannot use it anymore. Only specially prepared applications are capable to silently stop their audio streams, save current state and automatically restore the streaming as the endpoint reappears.
The best practice is to stop all device usage before disconnecting it or turning off, as suggested for USB storage devices, external disks etc.
Trying to re-install VAC, you get an error message saying that a file, folder or device is already present.
Maybe you forgot to uninstall the previous (trial or older) version of VAC or uninstallation completed with an error, failing to remove some components. Uninstall it and then carefully follow installation instructions. If you encounter an error, read the uninstallation troubleshooting section.
When Windows returns from a suspended state, audio streams are not resumed or there are error messages.
Going to a suspended (Sleep/Standby/Hibernation) state, Windows closes some or all active application-to-device connections and sometimes disconnects (unmounts) some audio devices. Returning back to working state, Windows tries to connect (mount) the devices back and/or restore application connections. But some devices, especially external ones, need some time and/or some additional conditions to be reconnected. So special non-trivial measures are required for an audio application to resume all streams automatically.
To avoid such problems, don't put your system into a suspended state if audio streaming is active. Don't close audio applications, just stop audio streaming (playback and/or recording).
VAC Control Panel shows that some cables are active but there are no audio applications open.
Unfortunately, Windows keeps no track of applications or processes that use audio devices. There is no way to show a list of applications or processes that use a particular device, you can find them only sequentially or by intuition.
An audio signal passed via the cable becomes very quiet.
If stream format limiting is not used or upper number of channels is greater than in your stream format, System Audio Engine creates its main stream with maximal allowed number of channels and converts your format, lowering channel volume.
To solve this problem, make sure that stream format limiting mode is not set to "Driver range" and correct upper channel limit for a particular cable.
Using VAC to route audio from the microphone, you hear an unwanted echo.
An echo can appear if your audio connection scheme has some loopbacks and/or multiple repeaters. For example, each audio card can repeat (monitor) an input signal to its own output (the speakers). If monitoring is enabled (input line is not muted), you will hear your voice in the speakers even there is no audio application running.
If an application records an input signal and also reproduces (repeats) it to the speakers, a signal copy is created, sounding as an echo. This copy appears slightly later due to the buffering. Input audio signal also could be copied to the speakers due to improper Virtual Cables assignment in applications.
To avoid an echo, you should disable either input line monitoring in the audio card or recorded data playback in the application. You can control audio card monitoring status (volume and mute) in its volume control panel (the mixer). To disable repeating in the application, see application's settings. Also check your Virtual Cable connection scheme to avoid possible loopbacks and parallel signal paths.
To isolate the cause of the loopback, modify your audio connections and settings step-by-step. If next modification eliminates or alters the loopback effect, you probably found the suspicious part.
Using Media Player with Virtual Cables, you see Virtual Cable is in use after playback ends.
It is known Media Player behavior in Windows 6.x+. Media Player opens playback device on first playback but does not close it until player window is closed. If you need to free Virtual Cable device (for example, to change cable format), close Media Player window.
Under Win 6.x, DirectSound interface cannot use more than two channels.
This problem occurs because DirectSound in Win 6.x gets channel configuration only from speaker-type pins. Try to enable speaker pin type for the cable.
When more than one Skype instances are used with multiple Virtual Cables, Skype freezes.
If you don't use PortCls data processing engine for WavePci port/miniport type, this most likely happens due to known PortCls bug. Please try affinity restriction technique.
An application accesses Virtual Cables via Kernel Streaming interface but sound is broken.
Maybe you have the same problem as with multiple Skype instances. If two applications (and even two threads in the same application) access PortCls simultaneously, it may cause buggy PortCls behavior. Please try affinity restriction technique.
When VAC is used with iTunes and/or QuickTime, sound is choppy.
iTunes uses QuickTime to play audio. To configure audio settings for iTunes, you must configure them for QuickTime instead.
To configure QuickTime audio settings, open its preferences by right-clicking QuickTime icon in system tray or by opening its applet in Windows Control Panel. Select SoundOut to display audio output settings page. In the playback device field, make sure that DirectSound interface type is selected, not the WaveOut (MME). If WaveOut is selected, change it to DirectSound and try to play again.
If DirectSound interface is already used but a sound is choppy, click Options to open advanced options page. Increase a buffering time in the FIFO size in millisecs field to 200..500 ms.
You have selected a Virtual Cable for the application but it still uses a different endpoint.
Some audio software developers test their software in a typical system that has only a single audio device. In such case, this device always has ID 0 and is a system default. Even if such application allows to select audio device explicitly, it could have a bug due to that it always uses ID 0 (first available device) instead of particular device ID (1, 2 or more). If such application is tested only in a single-device environment, there are no other IDs than 0 and the bug may not be caught. Since most users, having single-device systems too, will not report it, the bug may persist for a long time.
A similar bug may occur if an application always used ID -1 (a system default device) instead of real device ID.
If you select a particular device for playback/recording but the application remains to use a first available or system default device, try to contact application's developers and/or support service.
As you decrease event/interrupt period duration for some cables, CPU load increases significantly.
In most cases, even 1 ms per event/interrupt does not produce a significant overhead. But some poorly designed applications/drivers that need a small delay, use the "skip current time slice" operation instead of specifying a specific delay time. By default, Windows time slice duration is 15 ms so such applications/drivers don't cause context switches more than 66 times per second. But with, for example, 3 ms per interrupt/event, system timer resolution is set to 1.5 ms and they can switch their contexts up to 666 times per second, increasing their overhead more than 10 times.
You can use Windows Task Manager or Process Explorer utility from SysInternals to see which processes (and their threads) cause most context switches in the system and try to exit them for a while.
If you experience high CPU load by VAC driver (shown by LatencyMon software) or "System" process (PID 4) when Virtual Cable devices are involved in streaming, you can try to disable stream/cable signal level calculation to reduce CPU consumption.
Signal level calculation parameters are not supported by Control Panel application and can be set only via registry values. One of them disables level calculation for all cable streams, and the another disables level calculation for entire cable. To disable level calculation, set parameter(s) to 1 (in the SOFTWARE registry branch, not in the SYSTEM one) and restart VAC driver. If signal level calculations are disabled, Control Panel will not show them. To enable level calculations back, set parameter(s) to 0 and restart VAC driver to propagate changes.
Try to disable level calculation for desired cable's streams first. If it does not help, try to disable level calculation for the cable.
The same cable/application configuration under server OS works worse than under desktop OS.
Windows Server operating systems use different scheduling policies than Workstation (desktop) ones. In particular, default thread execution quantum (time slice) in server OSes is several times longer (usually six times). It allows server threads to make more work within a single execution period but decreases responsiveness to real-time events and audio/video streaming stability.
You could try to decrease the quantum using the System applet in Windows Control Panel. Open Advanced System Settings dialog, select Advanced tab and click Settings... button in the Performance frame. In the next dialog, select Advanced tab. If the Background Services option is selected in the Processor Scheduling frame, change selection to Programs. If Programs is already selected, your system is already configured to use a short quantum.
You use Remote Desktop connection (RDS/RDP) but there are no Virtual Cable endpoints.
It is a common problem that occurs if remote sessions are used. Please read about remote access compatibility issues.
You use Remote Desktop connection (RDS/RDP) and audio stops as you disconnect.
The problem is in audio endpoint (device) management for Remote Sessions. Even you had turned remote audio support off ("Play on remote computer" or "Leave at remote computer"), and no virtual audio endpoints are created for the session, Remote Session Manager always reconfigures all audio endpoints in the remote system on each session connection and disconnection.
During the reconfiguration process, every endpoint is deleted and re-created. If the endpoint is used by an audio application for that time, the application receives an error (as for a suddenly unplugged USB device), and cannot continue to work with the endpoint. To continue audio operations, the application needs to re-open the endpoint (and possibly re-enumerate all endpoints to ensure that there were no changes in their set).
Only Core Audio endpoints (MME, DirectSound, WASAPI) are reconfigured. Kernel Streaming pins remain accessible, so applications using KS (for example, KS version of Audio Repeater) will not stop.
Such audio endpoint reconfiguration is definitely unreasonable if no remote audio support is requested for the remote session. You can submit a problem report via the Feedback Hub.
When trying to use Kernel Streaming version of Audio Repeater, Windows crashes.
At first, please configure your system to create minidump files. They help to isolate the error.
Additionally, you can download either Sysinternals' sync utility or FlushVol utility to flush file buffers to disks immediately before clicking "Start" on Audio Repeater. If there will be BSOD, flushing the buffers will minimize a chance of information loss.
At second, please determine an error source. Audio Repeater is a user-mode application that cannot cause a system crash (the blue screen, BSOD). It can be caused only by a kernel-mode code like a driver. Since Audio Repeater works with audio devices via their audio drivers, each driver is possible to cause a crash. So please try KS version of Audio Repeater to transfer from/to your hardware audio devices only, not selecting Virtual Cable devices at all. If there will be a crash, it means a bug in hardware card drivers, not in VAC driver. If so, please contact audio card manufacturer for driver update. You may also attach some minidumps to help the manufacturer to fix the bug.
If KS version of Audio Repeater works normally with your hardware audio devices, try KS version with Virtual Cable devices only (for example, from VC1 to VC2). If there will be a crash, it will mean that bug is located in VAC driver. In such case, please send a couple of latest minidump files for investigation.
You have started wave record, then run Cakewalk but there are no Virtual Cables in Cakewalk endpoint list.
Cakewalk may behave slightly strange, querying audio devices upon startup only. During them, Cakewalk queries wave devices to know whether they support various audio formats or not. If wave device does not support a particular format, Cakewalk excludes it from available wave endpoints.
If the stream format limiting is enabled for a Virtual Cable, all wrong formats will be rejected. Thus, stop all activities for all cables whose you want to use in Cakewalk and/or disable stream format limiting. Then start Cakewalk, wait until it will be ready, and then restore previous settings/activities again.
You want to record a signal from (or play to) an application but it does not allow to set an audio format and starts using an unknown format automatically.
You can use VAC Control Panel which will show you formats that are currently in use with each cable. See the example.
You try to convert a speech recording into text using Google Speech service but it stops after about a minute.
It is the known peculiarity of Google Speech API/service. Similar behavior is observed if Google Speech records from a microphone (as usual) and you play recorded speech back from a phone, audio player or similar device.
There is no objective explanation of such behavior. Maybe Google servers keep fingerprints of all audio patterns submitted for speech recognition, and stop working if the pattern appears to be already known.
During VAC installation, Windows cannot find some files.
First, try to determine do these files belong to VAC file set or to Windows file set. For example, browse VAC distribution package contents. If required file names are present in the package, check if they are present in a folder where you have unpacked them before installation. Maybe you have unpacked the ZIP archive without pathnames (nested folders) or missed some files.
If the archive had been unpacked properly but Windows installer cannot access some files, it might be due to restricted access rights. Check file properties for the access rights. If a folder where files are unpacked has special characters in the full path (punctuation characters, national alphabet characters), try to unpack installation files to a folder that does contain only Latin characters in the path.
If Windows requires some files that are not present in VAC package, they might be system files that Windows needs to install and/or check their versions. Usually, all the original files needed are located at distribution packages (Windows installation disk, Service Pack disks). To minimize external package requirement, Windows keeps some frequently used files in its installation folder (Driver Cache, system32\dllcache subfolders) and use them instead of asking for a disk. But if you delete these packages (driver.cab, sp2.cab or others), Windows cannot find an original file on the hard disk and asks for a CD/DVD.
If Windows asks for a system or a service pack CD/DVD but you have no these disks, try to locate required files in Windows installation folder. For example, ksuser.dll file could be located in system32 subfolder and portcls.sys could be located in system32\drivers.
During installation, you get a driver selection error.
In some cases, VAC installer aborts with the following message: "Cannot install device (15/515 - There is no driver selected for the device information set or element.)". Most probably, this error occurs if your system is misconfigured.
Please locate the "setupapi.dev.log" file in your system and search it for "access is denied" or "error 5" messages. If you find such errors not only for VAC installation attempts, it means that your system is misconfigured (administrator account does not have enough rights and/or system folders have invalid Access Control Lists). You need system repair and even re-installation to restore proper file access rights.
If access deny errors are listed only for VAC installations, please send a report containing setupapi.dev.log file to analyze it.