User manual

How to use this manual

In addition to reading topics, feel free to use powerful keyword search feature, the "Search" tab (available only in Windows, not on the website). Having a question or a problem, enter one or some related words, and corresponding pages will be displayed.

Of course, search feature will not help if you enter a mind-oriented question, like "how can I ...?". It simply finds manual pages containing given keywords. For example, "trial", "compatibility", "skype" and so on.

What is Virtual Audio Cable

The Virtual Audio Cable (VAC) software implements an idea of a physical interconnection cable applied to Windows audio applications. Like traditional audio devices (disk player, FM receiver, equalizer, amplifier etc.) are connected together by the electric (analog or digital) cables, Windows audio applications can be connected together by VAC.

VAC contains Windows WDM/KS virtual device driver that creates a set of virtual audio devices named Virtual Cables. Each Virtual Cable has a pair of audio endpoints, input and output. These endpoints are internally connected to each other, so all digital audio data sent (played) to the output endpoint by "source" application are implicitly transferred to the input endpoint and can be retrieved (recorded) by another (destination) application.

A Virtual Cable is similar to an ordinary audio adapter (a sound card) with its input and output externally connected between each other. Since a real adapter usually has a DAC (digital-to-analog converter) and ADC (analog-to-digital converter) in its signal path, an unneeded double digital-to-analog and analog-to-digital conversions are performed in case of such connection. Only rare and/or expensive adapters have a digital input and output that can be connected to transfer a signal clearly. VAC does such transfer itself, without any additional audio hardware.

Each pin of each Virtual Cable is multi-client, allowing multiple applications to open multiple streams on the same pin at the same time. In the WDM/KS terms, it means each cable pin can be instantiated several times. All sounds (audio streams) coming to the playback pin are mixed together, and each client connected to the recording pin will get an individual copy of a signal via its recording/capture stream. Mixing and distributing are performed on the cable basis only, different cables are completely independent from each other.

Being a KS filter, VAC driver component represents a lowest-level audio layer that can be effectively used by any upper-level layer (KS-aware applications, WASAPI, DirectSound and MME subsystems, ASIO wrappers and so on).

A small utility, Audio Repeater, is included into the package to perform various useful tasks.

What you can do with VAC

  • Connect two or more audio applications into a chain where each next application receives an audio signal produced by a previous application. For example, you can connect a player application to a sound processors and then connect a processor to an analyzer or a meter application to investigate the audio signal.
  • Intercept the digital audio signal from applications playing it to WASAPI, MME/Wave, DirectSound or KS Audio endpoints. For example, you can connect a browser to Audacity and record any portion of the sound played by a webpage, in real time, without quality loss. Or you can use it to route input and output signals to/from Skype from/to some recording/playback applications.
  • Record BitPerfect digital audio data produced by applications that don't create WAV files, sending audio only to MME/Wave, WASAPI, DirectSound or WDM/KS Audio device in real time.
  • Digitally mix several audio sources together and route resulting audio stream to a recording application.
  • Digitally distribute (share) an audio stream among several recording applications.
  • Convert audio data from one format to another in real time.
  • Remap audio channels (scatter channels to a stream or gather channels from a stream).
  • Bring multi-client feature to any audio device that has not such feature.

VAC allows to interconnect almost all audio applications: audio/video players, software synthesizers, sound processors, audio editors, music sequencers, VoIP applications, instant messengers, speech recognition software etc. There are almost no limitations to use a Virtual Cable endpoints instead of other audio device ones.

What you cannot do with VAC

  • Secretly intercept an audio signal coming from/to any another audio device unless a Virtual Cable is explicitly inserted into the signal path.
  • Transfer an audio data/signal over the network (but it can be done by some audio networking software, while VAC can help to link such software to local audio applications).
  • Render a MIDI sequence to an audio signal.

However, VAC can help you with these tasks if you use some third-party applications/drivers. For example, you can use a software synthesizer (for example, built-in Windows GS Synthesizer) that renders a MIDI sequence to an audio stream, and then use a Virtual Cable to receive this stream and route it to a recording application. And you can use network audio applications to transfer an audio stream over the network using a Virtual Cable to supply this application with a recorded data and/or to route its playback data.

How to start

If you experience troubles, first try to find solutions in Troubleshooting, FAQ and How To sections.

If your problems are related to audio distortions, it is reasonable to check if your system is suitable for real-time audio streaming, with LatencyMon analyzer. If it displays a warning about significant internal delays, try to perform some tuning steps described here.

Please note that VAC is not a self-sufficient, easy-to-use application with an intuitive interface. VAC is a wide purpose and powerful tool that works efficiently only if used properly. In particular, it is not for beginners. However a beginner can successfully use VAC, especially having detailed instructions, there is a risk of unexpected behavior due to improper usage.

VAC is not a harmful tool; using it improperly, you cannot damage and/or lose something, you simply will not get what you need. So please take care by reading instructions and following them.

If you want to use several cables at the same time, it is highly recommended to make a drawing graphically representing signal routing scheme you want to implement. The drawing should contain all signal sources and destinations, as well as transfer directions between them.

If this manual does not cover your issue, please contact the support.