ODeus ASIO Link for multi-client

My Focusrite 18i20 (gen 2) drivers don’t support multi-client ASIO. It’s a mystery to me why, but they don’t. Otherwise I’m quite fond of the interface. (I like my RME better, but there’s the whole price thing.)

Multiclient support is necessary for running multiple instances of GigPerformer, or for running any other apps in parallel that are also using ASIO. (e.g., DAW, guitar effects, audio player…)

ODeus ASIO Link is a little driver for addressing this is. It’s a bit like Jack and a couple other things, but in my experience just works a whole lot more simply and consistently. It basically creates a new ASIO interface that your apps see, which is a sophisticated wrapper around your actual interface.

It will create up to 64 virtual channels GP and your DAW and whatever else can connect to, and has a patch panel for routing those to your actual hardware device. I don’t mess with any of that, and just let it do it’s default thing, which is route 1 for 1 to the actual hardware.

My experience is that it works flawlessly and with near zero latency. I normally run 64 samples @ 48kHz and in round trip testing measure zero different with the ODeus wrapper running vs. not running.

TWO DRAWBACKS:

  1. the guy who wrote it is dead. So don’t expect support or updates. (It’s just a driver wrapper, though, and apparently it works for Win XP through Win 10, so hopefully it has some staying power.)

  2. the interface isn’t exactly pretty or easy to understand. Like I said, I just totally clear out the patch panel and let it do it’s default thing and I never see it again, so I’m fine with that. But you might not be.

ONE MORE THING. It was commercial software, requiring a licence key. When the author died apparently the key server and all that went down and people were stranded. His nephew inherited the software rights and decided to make the whole thing free. Rather than recompile everything, he’s distributing a patch that eliminates the whole key thing. My first thought was “ok, so it’s pirated really.” Apparently not. He’s got a whole web page about it and it appears legit.

Here’s the link. ODeus ASIO Link download You need the installer and the first patcher.

Documentation is here: ASIO Link manual (courtesy of the Internet Wayback machine page Here.

There’s a longer discussion about it on the Cakewalk forums here.

1 Like

Very interesting…,thanks for posting this

@Vindes,

How much additional latency have you incurred by inserting this into the audio chain? It looks VERY interesting, but to me, stability and latency have to be solid and low. If this really worked well, I would likely introduce it so I can run two instances of GP, one as a rackspace that holds all of my large samples in Kontakt so I can just reference from rackspaces in my main rack.

X

Less than 1/10 of a millisecond. The software claims it’s zero, which I suppose may be true.

These are my round trip latency results as measured by GP running 64 samples @ 48kHz:

  • RME Babyface 3.9 ms
  • MOTU Traveler 6.4 ms
  • Focusrite 18i20 7.1 ms
  • Focusrite 18i20 through ODeus ASIO Link 7.1 ms

I ran it a dozen or so times and my Focusrite results bounce between 7.1 and 7.2, but it’s actually coming up 7.1 more consistently with the ASIO Link in the loop. It can’t be making it faster, but if it’s adding anything I can’t pick it up.

I did discover one thing in the testing process I hadn’t noticed before.

Earlier I wrote that you can just leave the ASIO Link settings at their default. That’s not entirely correct with regard to physical inputs on my interface. I needed to tell it to patch the physical inputs of the interface to the virtual inputs of the ASIO Link driver.

It seems you do this on a per application basis. I just click the 1-for-1 button, save profile, and it appears to remembers to associate that profile with GP. I check the options to start with windows and to not pop up the consoles and after the one time setup I don’t see it anymore. (But it does add icons in the tray at the bottom right if you want to access the settings.)

1 Like

Can you confirm you can go on using the RME driver with it ? (no need to use ASIO4ALL).
How does it work, does your audio interface becomes ASIO4ALL Link and which agglomerates both the RME and virtual inputs ?

It worked fine for me with the RME driver. I didn’t test that extensively because I didn’t have a use for it with my RME Babyface. The only thing I’m using it for is to give me multiclient ASIO support for my Focusrite, which lacks mutliclient ASIO support in the driver.

Here’s a quick overview of how it works and how I’m using it. (Note, these images are cut from the manual and not my actual system, because I’m not at home now.)

There are two configuration windows for the program. The first (below) sets up and starts the virtual ASIO device. It looks like this:


That “Channels IN/OUT” line is where you set how many virtual ASIO ins and outs you want. It defaults to 64, which is way more than I need and makes the in and out blocks in GP huge. I reduced mine to 24. This is where you need to make this choice, though.

I check the “Start minimized” and “Start with windows” boxes under Tool settings, and “Start ASIO Link Pro Minimized” and “Do not check for updates”. That sets it so the second configuration window (below) doesn’t automatically pop up on your screen every time you start GP or any other app where you have ASIO Link set up as your ASIO interface.

Then you hit the “Init ASIO” button then the “START ASIO” button. This is analogous to physically plugging in an interface device (e.g., it tells Windows this virtual device called “ASIO Link” is now connected.)

You can close that window, and any time you want to pull it up again you can grab it in the icon tray. It’s the purple keyboard icon.

Once you’re in GP and you select ASIO Link as your virtual interface you’ll get a control panel like below for setting up the routing. This will be available in your icon tray as a green keyboard looking icon.


Each of the boxes with a little number in it represents an audio channel (all mono). The top row is for WDM devices, which I don’t use so I leave completely disconnected.

The second row (labeled ASIO DRIVER IN) are the inputs on your device. In this example there are only two. My Focusrite 18i20 shows 18. When you mouse over them it shows you what your interface calls them (e.g., “ADAT 6”, “Analog 1”, “SPDIF in” etc.) on that status line up above.

Those middle two rows are the virtual ASIO ports it creates. This image shows 64 of them. Like I said above, I reduced mine to 24 to make it easier to work with.

The line labeled “ASIOVADPRO MIX OUT” represents virtual WDM devices, which I don’t use so I ignore it.

Those bottom two lines “NETWORK IN” and “NETWORK OUT” are for linking to other instances of ASIO LINK running on other systems on your network. Again, I don’t use these. An alternate use of these is for coupling multiple physical audio interfaces on the same machine together. Like if I wanted to drive my Traveler and Focusrite at the same time out of GP I could do it with this through the network loopback interface (127.0.0.1), but I haven’t messed with this and just ignore it.

First thing I did when setting up this patch panel is hit all the little “X” buttons toward the right above each line of channels. That just erases any existing connections, which I did because I didn’t want any of those virtual WDM devices doing anything unexpected.

Then I went to the ASIO DRIVER IN line and hit the first “1-1” button. That puts in a virtual patch cable from ASIO DRIVER IN 1 (i.e., the first input on your physical audio device) to ASIO HOST IN MIX 1 (the virtual device that shows up in GP or whatever other app). It does that for all the inputs, basically mapping them 1-1, so for my interface it makes 18 lines from my interface’s 18 inputs to the virtual device’s first 18 inputs.

With that done, I hit the “Save” button, give a filename in the dialog that pops up, and that becomes the new “Profile 1” in the dropdown box to the left of it. You can save up to 8 of these configurations for quick access in that Profile dropdown.

Your Audio in and out boxes on GP’s patch panel will now be called ASIO Link (assuming you select that in Audio Setup) and will have the number of inputs and outputs you chose in that first configuration window I showed above. (I made mine 24.)

Hopefully that answers your question regarding “agglomerating the RME and virtual inputs.”

Out of curiosity, why would you use this (or ASIO4ALL) with an RME?

1 Like

@Vindes,

Thank you for the detailed response! I really appreciate it.

X

First of all thanks for the details.
I wanted to test loopBeAudio and compare it with the RME internal loopback. When starting loopBeAudio it acts like a virtual audio interface and it has to be agglomerated to the RME one which was only possible using the ASIO4ALL driver which replaces the RME driver and induces additional latency. If you want to record vst outputs in GP you need to loopback the outputs you want to record. For now I use the internal RME loopback, but perhaps there is something interesting to do with this ASIO link.
Thanks again.

I didn’t mention it earlier but if you look at that first configuration window above, there is an option for “Enable LOOPER loopback racks.”

That adds two additional 16 channel “racks” (a LOOP IN and a LOOP OUT) that you can use for loopback. So, for example, you could route a VST to ASIO LINK virtual out 24, then use the ASIO LINK configuration window to route that to LOOP OUT 1 (or whatever number), and that will automatically make it available on LOOP IN 1. You can then route that to whatever ASIO LINK input you want.

The manual says it adds one sample of delay.

That’s very interesting indeed.:+1:

While this all looks extremely cool, my one hesitation to go down this road is the lack of available support if something goes wrong. I’m not seeing any information on the source potentially being released or specifically being made open source. This is a reason why I abandoned Forte when Mike decided to shutter the virtual doors on Brainspawn. There is a risk associated when any OS updates could tank the whole thing with no chance of remediation.

thoughts?

X

I share that general concern, and I do find it curious that instead of editing the source and circulating a “free” version the nephew circulated a patch (another version of which already existed in the pirate community, and in a sense he just legally blessed a re-writing of a third party crack.)

That said, I can imagine all sorts of reasons he might not want to, or might not be able, to release the code or make it open source. I’ve seen intellectual property tied up in probate courts in the US for years, and I have no idea how that works in Australia. I’d love to see this go open source, but I’m not counting on it.

In my case, I’m no worse off if it breaks tomorrow than I’d be without using it in the first place.

I had already committed to using multiple instances of GP. The only question was whether I ran them on the same PC and used a different audio interface, or ran one on a remote PC and ran the sound back and forth through ADAT. Plus it only applies to my studio rig, since my RME is the traveling interface and that handles multiclient very well.

I think I wrestled with a similar issue to you, except for me it was Superior Drummer that wasn’t practical to include in all my rackspaces. My feeling at this point is I’m just not going back to the other things I had learned to live with. (e.g., doing it all in Reaper, spreading it across multiple machines, designing my Gigs around no multi-client…)

If this thing dies after a Windows update I’ll probably just buy another RME interface and my Focusrite will move to my “old unused gear that I keep for sentimental reasons or emergency backup” pile. I’ve just learned to accept that anything (hardware, software, person, job, pet) can disappear any day. I’ll enjoy it while it lasts, but if it dies I know my fallback options.

1 Like

Hopefully not GP :pray: :grimacing:

I’ve seen David doing Tony Banks and Richard Wright. But I’ll need to see some Emerson and Wakeman before conceding he might be immortal.

2 Likes

But they did not Gig Performer

1 Like

These days, I’m mostly doing Donald Fagen in a Steely Dan tribute band.

I hear you man. I’ve been trying to find a replacement for the app as well with no luck. I’m doing this more for a home audio solution. 9Apps VidMate apk But, I did find out from reddit earlier that John Shield had passed away and I believe he left this application to his nephew. I had tried contacting him a couple of times through various ways (he posted on reddit a couple of months ago) with no luck.

Yo, I’m just wondering if anyone experienced any issues with using ASIO Link Pro in terms of the audio cutting out intermittently? I’m not that knowledgable on audio drivers by any means, I was just trying to find a solution to FL Studio cutting out all other audio sources when I was just using ASIO4ALL. If it’s just a software issue/something out of my control, then no worries, but if anyone has a suggested knob I could look into tweaking it’d be nice, otherwise I might just uninstall it because the audio cut offs are weird.

I don’t recall ever experiencing anything like that with ASIO Link Pro.

When you say “audio cutting out intermittently” do you mean all audio halts cleanly for a brief period (like something pressed a mute button), then resumes? Or are you talking about glitching (which would be more like static and popping)?

The only times I can think of where I had audio mute periodically is when something was operating in demo mode and was muting audio periodically intentionally. I believe ASIO Link does that when it’s running in demo mode.