Virtual Audio Cable

Virtual Audio Cable

How to start

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

Reading the manual, don't forget that there is the "Search" tab. Having a problem, enter some words related to the problem and appropriate pages will be displayed. Of course, search feature will not help if you enter a question like "how can I use it?". It only finds pages containing given keywords.

Please note that VAC is not a self-sufficient, easy-to-use application with an intuitive interface. VAC is a wide-range and powerful tool that works efficiently only if used properly. In particular, it is not for beginners. A beginner can successfully use VAC, especially having detailed instructions, but there is a risk of unexpected behavior due to improper usage. VAC is not a harmful tool; using it improperly, 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.

What is Virtual Audio Cable 4

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 the Virtual Cables created by VAC.

VAC has Windows WDM/KS virtual device driver that creates a set of virtual audio devices named Virtual Cables. Each cable has a pair of audio ports, input and output. These ports are internally connected within each cable so all digital audio data sent (played) to the output port by "source" application are implicitly transferred to the input port 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 port of each Virtual Cable is multi-client, allowing multiple applications to open the port 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 port are mixed together, and each client connected to the recording port 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.

As a WDM/KS filter driver, VAC represents a lowest-level audio layer that can be effectively used by any upper-level layer (KS-aware applications, 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 MME/Wave, DirectSound or WDM/KS Audio ports. For example, you can connect Real Audio Player to Audacity and record any portion of played sound in real time, without a 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.
  • Scatter some audio channels to a stream or gather some 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 port instead of another audio device.

What you cannot do with VAC

  • Render a MIDI sequence to an audio signal.
  • 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 over a network.

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 a network application to transfer an audio stream over a network using a Virtual Cable to supply this application with a recorded data and/or to route its playback data.