Troubleshooting

Virtual Audio Cable

Troubleshooting

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 an application that you can run, it is a virtual device driver. You can use it with almost any audio application by selecting "Virtual Cable N" devices in their audio settings. Please read about VAC principles and consult other parts of this manual.

You hear an unwanted female voice in the recorded audio. How can I get rid of it?

You are using a trial version, 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 your audio application to Virtual Cable N but you hear no sound.

If you connect audio source (an application) to the playback/render cable side and leave other side unconnected, you will not hear any sound. You need to connect other (input/capture) side of the cable to another application which will receive (record/capture) a sound produced by the source application. See VAC principles, simple usage rules and examples for details.

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. What to do to hear a live sound?

You need to monitor cable transfer 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.
  • Make sure that playback application really plays audio signal:

    If there is a song position pointer, it should move.

    If there is a playback/rest time, it should go forward/back.

    If there is a signal level indicator, it should move.

  • Make sure that playback application plays audio signal to the chosen Virtual Cable:

    Application's settings specify this Virtual Cable device or this Virtual Cable device is assigned to be system default.

    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.

  • Make sure that the proper audio signal is played by playback application:

     Use Audio Repeater application or Windows Listen feature to monitor a signal passed through the cable.

  • Make sure that recording application really records from the cable (time counter is running, level indicators are moved, Control Panel application shows npn-empty recording stream count.
After successful VAC installation, system sounds disappear.

Maybe you did not explicitly set your system default device before. In such case, Windows may decide to use some Virtual Cable device as a default one. Please read here for details.

When a USB audio device is plugged in, some sounds disappeared.

Many USB audio devices are configured to become a system default audio device when plugged in. So, if you have a device that is set as a system default and plug a USB device, the new device becomes to be a new system default, replacing a previous default device. All sounds that were routed to a previously chosen device are now routed to a newly connected device. A device that was previously set as a default was not lost, it remains accessible by a name, as all other devices.

To avoid this problem, configure audio applications to use explicitly chosen audio devices, not system default ones. Use system default devices only if the application does not allow to select a device from a list.

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 beed 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.

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. 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 uninstaller was unable to remove the service. Please reboot and retry installation. If there will be some "already exists" errors, use Advanced Setup Mode to repair.

Trying to start recording from Virtual Cable device, 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 "No appropriate pin found" error.

This error means that Audio Repeater was unable to find a pin that supports requested audio format for the specified device.

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 driver 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.

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" fiels. Normally, there are 4-5 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 client count is greater than 4-6 and driver cannot be restarted, you could try to search processes holding references to VAC devices. Download Process Explorer (GUI) or Handle (command line) utilities from Sysinternals and search for paths containing "\topo" and "\wave" substrings. VAC device interface paths end with "\topoN" and "\waveN" where N stands for cable number. Please note that some references are held by system services (svchost.exe processes) so there is no way to determine a service holding the reference.

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 you are familiar with Windows services.

Using Audio Repeater MME, you hear gaps in the audio stream if smooth window minimizing/restoring occurs.

MME version of Audio Repeater uses a traditional window messaging (WM_xxxx) technique to receive real-time event notifications. When Windows performs window minimize/maximize animation, a delay occurs in window message queue processing and Audio Repeater does not receive its buffer recording/playback events in the proper time.

To disable window minimize/restore animation:

  • Windows 7/Vista: Control Panel - All Control Panel Items - Performance Information and Tools - Adjust Visual Effects - Animate windows when minimizing and maximixing.
  • Windows XP: Control Panel - System - Advanced - Animate windows when minimizing and maximixing.

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.

KS version is free of such problem so you can use it instead of MME version if not don't want to disable window animation.

Video-intensive applications cause sound distortions and/or interruptions.

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:

  • If the problem is related to Windows interface visual effects like window animation, try to disable visual effects at all or enable Aero interface.
  • If the problem is related to a particular application, try to modify application's settings (for example, lower the frame rate in a game, simulation speed in a simulator etc.).
  • Try to increase worker thread priority.
  • Try to update video drivers to the latest.
The Configure button in playback audio device list of Audio Device Control applet is not accessible.

It is known Windows 6.x behavior. These Windows 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 node" 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, 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 record from a free device in Windows 6.x, you are informed that the device is in use.

Windows 6.x 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.

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 "0/1 - Incorrect function" error message.

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 of 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.

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 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 not caused by clock difference.

If you are using 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 back a signal to a Virtual Cable device 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.

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.

Overflow and/or underflow counters in VAC Control Panel are growing continuously.

Massive buffer overflows/underflows usually occur in two situations:

  • VAC driver client (an application or System Audio Engine) fails to provide memory/data buffers in time (fast enough). In such case, you need to check your system's performance (CPU and memory speeds, CPU consumption, background disk/network activity etc.).
  • Virtual Cable pin is used by System Audio Engine in shared mode and all System Audio Engine's clien streams are paused. It is a normal sutuation caused by System Audio Engine's behavior because VAC cannot distinguish between buffer/data absence due to a temporary client failure or such pause processing technique.
You use Audio Repeater to monitor VAC cables with a soundcard and there are periodic 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 adjust cable clock to match device's clock.

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.

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.

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.

  • Check all applications showing their icons in System Tray. Except system icons, each additional tray icon represents at least one hidden application. Do not forget that Win 6.x allows to hide some notification icons (up arrow is displayed in the tray).
  • Check if Audio Properties Applets are open. They can keep audio devices open to show signal levels.
  • Check if system default playback device is assigned to Virtual Cable device. If yes, system notification sounds (menu/button click, window maximizing/minimizing, device insertion/removal etc.) create audio streams at Virtual Cable.
  • Check if Listen feature is enabled for any recording device, using Virtual Cable as input or output.
  • Check if speech recognition is active. If yes, input device may be assigned to Virtual Cable.
When more than one Skype instances are used with several Virtual Cables, Skype freezes.

If you don't use PortCls data processing engine, most likely it 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.

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 "None" and correct upper channel limit for a particular cable.

You have selected Virtual Cable N for the application but it still uses a different device.

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 sevice.

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.

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 (RDP) but there are no Virtual Cable devices.

It is a common problem that occurs if remote sessions are used. Please read about remote access compatibility issues.

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.

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.

You have started wave record, then run Cakewalk but there are no Virtual Cables in Cakewalk port 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 ports.

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) your favorite 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.