Successful Aggregate Audio Device in Windows 7

Mo Facta

Farts of Nature
As you guys most likely know but for the sake of those who don’t, in Mac OS X it is possible to create a multi-device called an “aggregate audio device” which enables you to use two (or more) different Core Audio devices across different bus types (firewire, USB, PCI, etc). It is also possible to set which device is the master clock, which keeps everything nicely in time.

Being a PC guy for the better part of my life I naturally envied this feature because expanding one's i/o with the simple addition of more interfaces just seems like a slick and easy expansion option. And just in case you're wondering, no, it is not possible to accomplish the same thing in Windows on the ASIO protocol.


I was later to find out that it is possible if the devices in question support the Windows Driver Model (WDM). Most interfaces do and even though Windows Vista introduced the UAA (Universal Audio Architecture) driver model, most interfaces still only support WDM. To my knowledge, anyway. Feel free to correct me if I'm wrong.

There is a problem with WDM, though. It has an inherent latency buffer of 30ms as a result of the Kernel Mixer, which is why any program running on a stock Windows full-duplex driver will be slow and unresponsive.

Anyway, one day I read somewhere that ASIO4all could accomplish audio device aggregation by wrapping the WDM drivers of multiple interfaces in the ASIO protocol but after trying it on a previous system, I was unsuccessful.

Until today.

On my new system, running Windows 7 64-bit, I successfully aggregated my Lynx AES16e and an ART Tubefire 8 for a total of 24 simultaneous inputs and outputs at 96kHz. The procedure is easy, really:

1. Install all additional audio interfaces.
2. Install ASIO4all
3. Set ASIO4all as your default driver in your DAW software.
4. Open the ASIO4all control panel and click on the wrench.
5. Enable all desired WDM devices.

The i/o should show up in your DAW.

There was one problem, however. It does not allow you to set the clock source so clocking externally to word clock is probably your best option.

Another thing is that this will probably work better for mixing/summing OTB than for tracking as there is no direct monitoring. I'm still figuring out the global latency for this system, too. Also, FWIW, I changed the firewire driver controller driver to legacy in order for the Tubefire 8 to work correctly in W7. This may or may not help you because it was only after I did this that the above procedure worked.

Cheers :)