Virtual Audio Cable software allows you to transfer audio (wave) streams between applications and/or devices.
It creates a set of virtual audio devices named "Virtual Cables", each of them consists of a pair of the waveform input/output devices. Any application can send audio stream to an output side of a cable, and any other application can receive this stream from an input side. All transfers are made digitally, providing NO sound quality loss (a bitperfect streaming).
VAC behavior is similar to "What You Hear" (or "What U Hear", "Stereo Mix") feature of Sound Blaster Live! and Audigy cards. But it is only similar, not equivalent. If you simply need a function like "Stereo Mix" under Vista/Win7, there could be better to try to enable it in your audio adapter.
If more than one applications are sending audio to Virtual Cable device, VAC mixes all streams together. If more than one applications are receiving audio from Virtual Cable device, VAC distributes the same audio data among all targets.
VAC is useful to record application's audio output in real time (audio player, instant messenger or software synthesizer), or transfer a sound stream to another application processing it. You can, for example, use two or more software audio players/generators/synthesizers/sequencers to produce audio streams, sending them to Virtual Cablet device and record a mixed stream from the same Virtual Cable device, using any recording software - Windows Sound Recorder, Audacity, Sound Forge, WaveLab, Adobe Audition (formerly Cool Edit Pro), Gold Wave, Cakewalk/Sonar, Cubase/Nuendo etc.
With an ASIO wrapper like ASIO4ALL from Michael Tippach, you can use VAC in ASIO supporting applications.
If you use an audio encoder application that encodes a stream coming from a sound card, you can use VAC to supply such encoder with a stream produced by other application.
You can use VAC to capture an output sound stream from the application that doesn't allow to write it into WAV file directly. Unlike Total Recorder allowing you to simply save audio stream, VAC allows to route it in real time.
If you are using some Voice Over IP (VoIP) and/or Internet Telephony applications like Skype, you can use VAC to record your calls and conversations.
VAC needs no hardware audio card; it is a "virtual audio card" itself.
A detailed description is included into a free trial package.
Since VAC 4 is a WDM driver, there are some benefits but some (generally older) applications that use MME (waveIn/waveOut) interface can work better with the older VAC 3 version. This version also supports Windows 98/ME.
If you need to simply share your In/Out wave ports among several applications under Windows 2000 and earlier Windows versions, take a look to the Wave Clone software.
Please note that VAC is not a self-sufficient software that may work alone just under operating system control. VAC is a tool. Like hardware tools (for example, a screwdriver or a saw) that are used only together with other objects (screws or boards), VAC should be used only together with audio applications to route audio streams produced or consumed by these applications.
Local session only (not available from Remote Desktop).
Native WDM/KS audio technology.
Up 256 Virtual Cables (Windows limits number of MME devices to 32. Number of DirectSound devices is not limited).
1..20 milliseconds per interrupt.
1..100 pin instances.
Almost any of fixed point PCM audio formats (200..1000000 samples per second, 8..32 bits per sample, 1..8 channels). Floating point formats are not supported.
Almost no sound latency with maximal interrupt frequency.
Unlimited number of clients connected to each port.
Signal mixing (with saturation) between output port clients.
PCM format conversion.
Volume control features.
Control Panel application to dynamically configure cables.
Audio Repeater application that transfers from any Wave In to any Wave Out port.
Windows XP/2003/Vista/Server 2008/Win7 platform (32-bit and 64-bit).
Any hardware suitable for a host OS.
A native hardware or a fully virtualized environment (VMware Server/Workstation, VirtualBox, VirtualPC etc.). With partial virtualization (VPS, Virtuozzo etc.), only host OS installation is possible (see VAC user manual for details).
Trial version the following limitations:
Supports up to 3 cables.
Adds female voice reminder each several seconds.
In other features and characteristics, trial version is identical to full version.
VAC is distributed in two different forms:
Full-featured version
| Caution: please evaluate trial version before purchasing the full version to ensure that VAC works properly in your system and satisfies your needs. |
Registered VAC 3 users who bought it from this site (not from other distributors) can purchase VAC 4 with 50% discount. To do that, please contact the author for a discount link.
People living in Russia can purchase VAC 4 for non-commercial usage with 33% discount. To do that, please contact the author for a discount link.
VAC package is distributed as a ZIP archive. Simply unpack it into an empty folder, run setup.exe application and follow the instructions displayed. If you use VAC for the first time, please read the readme.txt and vac.chm files before installation. If you have already installed previous version of VAC 4, don't forget to uninstall it before installation.
Registered VAC 4 users can freely obtain bugfixed versions as described in the order confirmation email message.
There are some stability issues with 4.10 version. If you have such issues, please try previous 4.09:
If you bought 4.10 and want to download signed 4.09 package, simply replace "410" with "409" in your private download URL provided in the "Thank you" message. This message will be provided two ways: on the final order page and in the order confirmation email message.
If you have experienced problems with VAC, please try to fund an answer in its user manual. If your issue is not covered by the manual, please ask for support. See the Support chapter in the Manual for the request format guidelines.
Support requests are usually processed within 2-3 business days.
Please don't confuse between support and teaching. The support is provided to solve technical problems and unexpected behavior issues. Questions like "I want to use VAC to ..., please provide an exact setup for this configuration" are considered annoying.
In general, it is impolite to ask for support without reading the user manual first.
Version 4.10 (15.02.10)
Added IPrefetchOffset interface support (more stable audio in XP/Vista/Server 2008/Win7).
Added a workaround to avoid Skype freezing and to stabilize streaming in heavy load cases.
Changed voice reminder policy in trial version.
Added tray icon support to Audio Repeater.
Added Kernel Streaming version of Audio Repeater.
Added Wikipedia references in the user manual.
Fixed some bugs in volume control code.
Fixed a bug caused timer resolution restoration when a last cable stream was closed.
Added timer resolution correction on return from standby.
Added load splitting among CPUs/cores.
Added Authenticode digital signature from NTONYX.
Added instance closing feature to Audio Repeater.
Version 4.09 (11.06.08)
Fixed a bug caused system crash in case of incorrect volume settings.
Now multichannel nodes are exposed correctly (individual sliders instead of the Pan slider).
Fixed a bug caused break instruction crash (0x80000003) on a floating point format query.
Fixed a bug caused system crash in low memory situation.
Added a test signature to 64-bit driver module.
Increased average time interval between voice reminders in trial version.
Increased clock correction precision in Control Panel to 1/1000th of a percent.
Version 4.08 (14.09.07)
Clock correction amount is now represented and specified in percent values.
Changed clock correction algorithm to increase sampling rate precision.
Fixed a bug in the INF file that prevented Virtual Cables from being used via KS Proxy (for example, as a DirectShow WDM filter).
Fixed a bug in format checking code that limited number of channels to 2 under Vista.
Version 4.07 (28.06.07)
Removed another debug break instruction caused a bugcheck in rare cases.
Version 4.06 (15.05.07)
Fixed installer bug caused the driver to stay disabled after installation.
Removed a debug break instruction caused a bugcheck in rare cases.
Version 4.05 (12.05.07)
Added a clock correction feature.
Added configuration options for source line set (affects endpoint creation in Vista).
Changed service name in INF file to eliminate conflicts with VAC 3.
Added more correct multi-channel support under Vista.
Added a workaround for Vista portcls.sys bug (a miniport stream can be destructed without been stopped).
Removed the "Mic" source line (capture endpoint in Vista) from the default source line set.
Changed "Milliseconds per interrupt" default value to 7 to improve DirectSound stability.
Improved stream stability on short buffering times.
Changed the Control Panel interface.
Version 4.04 (31.12.06)
Fixed a bug in topology description (fake recording controls were not accessible).
Fixed some synchronization bugs (the system hangs while several cables are heavily used).
Added a pitch (frequency) shifting support.
Added a limited Vista support.
Version 4.03 (16.07.06)
Fixed a bug that caused change of signal pitch. This issue was previously considered as DirectSound bug and was described in FAQ section related to speech engines. This section has been removed from the FAQ.
Version 4.02 (22.05.06)
Added 64-bit binaries.
Some minor corrections.
Version 4.01 (24.03.06)
Fixed some bugs.
Changed default stream format limiting type to the "Cable range".
Version 4.00 (06.03.06)
First public release of VAC 4.
You can become an affiliate, placing a link to VAC at your page and receive a commission from each sale.
VAC is a WDM driver miniport written entirely in MS C++ using object-oriented technology. No external assembly files or additional driver development tools like VtoolsD are used.
VAC also supports a custom (proprietary) version creation to be used together with a particular application only. Each of custom versions has an unique key to identify its "native" application. This "native" application uses a special way to open the driver. Such opening way is called a "open in the native mode". When the driver is opened in native mode, it transfers audio signal without any limitations.. If not, it adds a noise to the signal to prevent unauthorized usage.
Please note that custom version of VAC has the same functionality as the common version. Customization includes only unique names and unique key, not additional custom functionality.
To order VAC sources or a custom version, please contact the author.
If you want to explore my other projects, please visit Eugene Muzychenko Software Homepage.