• Computers
  • Using two ASIO Devices in Windows 10
2018/10/25 12:26:42
SEVerstraten
Here's something fun I discovered by accident: You can have 2 ASIO devices run in parallel in Win10, just not in the same program.
I had my IKMultimedia StompIO (the original one) hooked up using it's internal audio interface. Playing in Amplitube. Then started CBB and it loaded default with my OctaCapture. Then I took a cable from the one device and the other and was able to record and play  without issue. 
 
Not sure if it has any advantages, but it was an interesting thing to discover.
2018/10/26 20:17:53
azslow3
Using several devices in parallel with several programs was never a problem, independent from programs and devices.
 
Using several devices under ASIO with one program is not possible by ASIO API. In fact that is technically possible, but that is looking for troubles till these devices are physically synchronized.
 
Using one device by several programs in parallel is where concrete devices rock or fail. On the one end are "single ASIO user" devices, in the middle are "one ASIO + windows sounds" and at the top are "several ASIO + other drivers".
2018/10/26 21:20:16
msmcleod
azslow3
Using several devices under ASIO with one program is not possible by ASIO API. In fact that is technically possible, but that is looking for troubles till these devices are physically synchronized.


At some point, I think someone wrote an ASIO wrapper to do this but AFAIK the guy who wrote it sadly passed away, and the website has gone. I guess ASIO4ALL kind of does this, but it wraps up the WDM drivers rather than just hosting the actual ASIO drivers and marshalling the calls/data.
 
I was thinking about looking into writing a wrapper myself, even if it was hard-coded to only work with the ASIO devices I'm currently using.
 
All of my devices are currently word-clock synced via the BNC word-clock input, so assuming that they also need to have an identical buffer size, can you see any reason why this wouldn't work?
 
 
2018/10/27 21:06:19
tlw
One issue might be that the devices could have different inbuilt buffering/processing delays which would translate into differing effective latencies. The effects of which could range from needing to nudge the recorded audio from some around a little to get it where it should be to chaos. I guess the only way to find out if that’s a problem is to try it and see.

Adding in a wrapper might add some extra latency as well.

If the devices - I’m assuming they’re audio interfaces - have ADAT connections, linking them via ADAT might be a way to go.

If they’re RME or one of the other manufacturers who write ASIO drivers which allow more than one of their imterfaces to work at the same time then that would be the preferred way to go.
2018/10/28 08:07:51
azslow3
msmcleod
All of my devices are currently word-clock synced via the BNC word-clock input, so assuming that they also need to have an identical buffer size, can you see any reason why this wouldn't work?

tlw
Adding in a wrapper might add some extra latency as well.

I think the solution unavoidably add extra latency. One buffer at least. Even when devices are synced on sample level, so there is no drift in regularity of buffers exchange, the request to do so will come at different time from different real ASIO driver.
Theoretically ASIO4ALL based on ASIO end points can perform better then current. But how big this improvement can be is a good question.



2018/10/28 09:24:03
msmcleod
azslow3
msmcleod
All of my devices are currently word-clock synced via the BNC word-clock input, so assuming that they also need to have an identical buffer size, can you see any reason why this wouldn't work?

tlw
Adding in a wrapper might add some extra latency as well.

I think the solution unavoidably add extra latency. One buffer at least. Even when devices are synced on sample level, so there is no drift in regularity of buffers exchange, the request to do so will come at different time from different real ASIO driver.
Theoretically ASIO4ALL based on ASIO end points can perform better then current. But how big this improvement can be is a good question.



It did occur to me after writing my post that the overall round-trip could be different between ASIO devices. At the very least, I'd have to report the slowest round-trip and work out the best way to delay the faster one... but this might well involve using another buffer, further increasing latency... which would be a "deal breaker" for me.
 
tlw
If the devices - I’m assuming they’re audio interfaces - have ADAT connections, linking them via ADAT might be a way to go.

If they’re RME or one of the other manufacturers who write ASIO drivers which allow more than one of their imterfaces to work at the same time then that would be the preferred way to go.



This is basically what I'm doing at the moment. I've got a Focusrite Scarlett 18i20 which unfortunately has only one ADAT input / output.
 
My mLAN setup is effectively separate: a Yamaha 01X with 2 x i88x, connected to an old laptop running Vista (which basically acts as a patch bay GUI). One of the i88x's is connected via ADAT input to the Focusrite, the other i88x to the ADAT output, with a Behringer ADA8000 connected to the 2nd i88x's ADAT input. The 01x is used as 
an additional "Mackie" controller, which I use for controlling busses.
 
This works pretty well, as it gives me a crazy amount of inputs. However, it does limit me to recording only 8 tracks of the mLAN setup at once.
 
The idea was to try to get mLAN working on my main studio PC rather than the laptop (quite a few people have got this working, but I'm not sure how stable this is). This would give me 32 inputs/outputs mLAN via ASIO, with the 18 / 20 focusrite inputs & outputs on top.
 
In saying that, maybe it's not such a big deal.
 
If I really do need to record more than 8 tracks (which to be honest, is very rare), I've got a few choices:
 
1. Switch to WDM giving me both devices for recording my first lot of tracks; or
2. Switch to mLAN ASIO giving me the 32 inputs / outputs, although I'm not sure what the latency would be for the mLAN drivers.
3. Use Sonar 8.5 or X1 on the laptop or a separate boot on the PC, and use that for tracking.
 
 
The more I think about it, I'll probably live with my current setup.
 
The main reason for introducing the mLAN setup was to avoid having to constantly "rewire" everything when using different outboard pre-amps, so I can have everything setup, and use the mLAN patchbay GUI to re-route things as required.
 
 
2018/10/29 16:17:14
Jim Roseberry
FWIW, Trying to use two different ASIO audio interfaces simultaneously (via creating a software-based "aggregate device") is almost begging for problems.
 
The most obvious reason, record-latency.  Even if the audio interfaces are word-clock sync'd...
The odds of both audio interfaces having the exact same record-latency (in samples) is minute.
That means your audio tracks (across audio interfaces) would be slightly out of sync (phase issues/etc).
 
Many ASIO drivers don't report the exact record-latency correctly.
This is why Sonar/CbB (and most other DAWs) have a Record-Latency-Adjustment parameter.
If you're dealing with two different record-latency figures, the only way to resolve that would be to manually correct for one interface (sliding all audio recorded by it) after recording.  That can get extremely tedious.
 
If you need more I/O, get a proper setup where you can add additional I/O units.
In this case, all units function together as a single audio interface... running under a single ASIO driver.
That solves all sync/alignment issues.
 
 
 
2018/11/07 00:50:05
msmcleod
I managed to get MLAN working on Windows 10 64 bit, and it seems pretty stable so far.
 
My first attempt didn't work due to an incompatible firewire card, but getting a Belkin F5U502ea (£10 off eBay) solved this.
 
I can now record up to 32 simultaneous channels using the MLAN ASIO device. The ASIO buffer size works fine at 64, so latency is low.
 
As both the Focusrite ADAT IN and OUT is connected to the MLAN network via the i88x, so I can also use the Focusrite as an input device by routing its inputs through ADAT.... or I can go back to using the Focusrite ASIO and do it the other way around. The best thing is, I don't need to change cables at all. I can do all the patching through Focusrite Mix Control & the Yamaha MLAN Graphic Patchbay.
 
The 01X midi ports also work, so I can now also use the 01X as an additional Mackie controller over MLAN without having to route the ports through the i88x and use up yet another hardware MIDI port.
 
If anyone wants to bring their 01X or i88X back to life in Windows 10, you can get the drivers here:
http://happyharry.net/yamaha/01x/help/mLan_on_Win_10_x64_V.3.zip . Follow the recommendation of imaging your hard drive first though, as you'll want to restore the image if anything goes bad (I had to do this with my old firewire card).
 
As far as swapping between my Focusrite ASIO & MLAN ASIO devices, this is pretty easy too.
 
I've got two copies (one set for Focusrite, the other for MLAN) of:
  • AUD.INI
  • TTSSEQ.INI
  • Cakewalk.ini
  • ctrlsurface.dat 
All I need to do is copy the right ones to %APPDATA%\Cakewalk\Cakewalk Core\ and I can switch between them.
 
© 2024 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account