Principles

Virtual Audio Cable

Principles

It is like an electric cable

A Virtual Cable behaves like a real electric cable. In a traditional modular audio system, you need to connect the output of each sound source (deck, pickup, guitar or synth) to the input of each sound destination/target (amplifier, equalizer, gate, processor etc.) by its own electric cable. If one component's input is connected to other component's output, the first can receive an audio signal from the second. Otherwise, it cannot.

Computer sound system works very similar. There are two kinds of objects that can be sound sources or destinations: applications that generate, play or record various sounds (WinAMP, Skype, Audacity, Cakewalk, Sound Forge, etc.) and audio devices (sound adapters/cards). Applications can transfer sounds using device audio ports; typical sound adapter has one recording (capture/input) and one playback (render/output) port. From a recording port an application can record sounds, and can play sounds to a playback port.

Some audio devices have multiple recording/playback ports, or a single recording/playback port only. For example, USB microphone adapter has a single recording port and USB speakers adapter has a single playback port.

In native Windows audio subsystem, there is no way to internally connect an application producing a sound to another application recording and/or processing this sound. For example, you cannot directly transfer a sound from Skype to Audacity. You need a full-duplex sound card with its line output jack connected to its own input jack, and there will be two digital/analog transforms, affecting sound quality and volume level, and there will be high latency (recorded sound arrives about 100-300 ms later than original sound was played).

Cable and application interconnection

VAC looks like a set of real full-duplex sound cards with their digital outputs hardwired to their digital inputs. Like a typical sound card, each Virtual Cable has two ports: playback and recording. Source application produces (plays) the sound, sends it to Virtual Cable playback port, VAC driver immediately transfers it to the recording port of the same Virtual Cable, and destination application receives the sound from this port:

Recording and playback sides

Keep in mind that a Virtual Cable is unidirectional. Only the playback side can accept audio data, and only the recording side can produce it. The playback side is a "data sink" and the recording side is a "data source".

At a beginning level, you can imagine a Virtual Cable as a kind of a pipe. When you direct a sound into your pipe end, other party can hear it from another end. But due to Windows audio principles, the pipe is unidirectional. That is, you can send a sound only to a playback end, and receive it only from a recording end.

Full independency

You can use VAC even without a real sound card in your system; but there will be no real sound to your ears, only digital sound in your computer.

Remember that VAC does not produce any sounds (except of trial voice reminder), it only transfers sounds produced by applications. With VAC only, as with simple electric cable alone, you will hear nothing. You need a complete sound signal path, i.e. source and target applications to transfer sounds, and a real sound adapter, either internal or external, to hear it or record from the real world. You also must make proper connections between your sound system components, otherwise your goals will not be achieved.

Possible usage methods

Using VAC and Audio Repeater, you can route an audio stream coming from any audio port to many applications at the same time, sharing the real audio port. You can also mix audio streams from several applications together, routing the result to any audio port. But VAC is not primarily intended for such purpose; it is better to use the Wave Clone software.