WASAPI non-exclusive

Your own SpectraLayers has supported WASAPI (in addition to ASIO) since 2020, or even earlier. So why not port the WASAPI code to Cubase, too? Sometimes there is a legitimate need to listen to and/or record multiple sources in different apps under Windows at the same time. ASIO is not very well suited for that, and Steinberg’s “Generic Low Latency ASIO Driver” is, unfortunately, practically unusable. Most competing contemporary DAWs support WASAPI. Thanks for considering this.

1 Like

You can actually do that flawlessly if you make the right settings :
Audio Setup Guide - for Windows users

Well, thanks for that link. But, honestly, the post contains far too many steps and conditions, many of which cannot be met in many cases.
And compare that to a simple one-click solution where, in Cubase settings, you choose between two options:
ASIO (exclusive)
WASAPI (shared)
Now, everytime you need to switch between the maximum performance provided by ASIO, and seamless OS integration by WASAPI, you don’t need to go through that “gymnastics” you posted, but simply repeat the above.

1 Like

And why is that ? These are very basic settings, you actually have to click two checkboxes and that will literally take one minute of your time. Once it is set you’ll just forget it and it will stay like this, there’s no gymnastics of any kind…
If you refuse to take a deeper look then keep dealing with your issue. I pinpointed a solution for you but that’s your choice. Sorry :confused:

If you read my guide carefully you would see that ASIO is already well integrated with Windows drivers because of its multi-client nature (it’s not exclusive contrary to what you say), so there is in reality no need to use WASAPI in a DAW since that would not improve anything.
That’s just up to you to read it or not.

My guess is that WASAPI won’t be added in Cubase anytime soon anyway, but I’d still appreciate if we had more drivers to chose from :wink:

1 Like

Even Pro Tools has WASAPI support, now. The time has long passed to implement this. Seriously, Steinberg.

2 Likes

You seem to think I didn’t read the linked post, or didn’t do it deeply.
Let me assure you that I read everything in it very carefuly, expanded the collapsed sections too, and I had already known about 99% of the things.

You say “Very basic settings” but the thing is there are far too many of them and far too many conditions to constantly worry about meeting.

Sometimes you record music in real-time (playing MIDI keyboard) so you need the lowest possible latency – then you need ASIO with exclusive access.
Sometimes you need shared environment where latency isn’t an issue at all – then you would use WASAPI shared.

Can you imagine anyone who needs to switch between the above two modes several times a day, to do all the steps you described? All the worrying about all the conditions met? Wheter a crash occurs somewhere?

For example, I cannot imagine going through all the audio devices or channels and disabling/enabling “Allow apps to gain exclusive access” all the time several times a day. That’s a headache.

Finally, let me briefly illustrate what I mean by “seamless OS integration” when I mention WASAPI:

I use RME sound card with the finest ASIO drivers I’ve ever seen. I have made sure I have done everything the post mentions. And still Cubase ignores the Windows master volume control. This is natural, because ASIO completely bypasses the Windows mixer. Does your setup not ignore Windows volume controls?

1 Like

I initially thought that they didn’t want to implement WASAPI support because they felt it is competition to their de-facto industry standard, ASIO (even though they shouldn’t compete with the OS, but support it and integrate in it well). But now that I noticed that their own product SpectraLayers has supported WASAPI for years, and it’s even the first option in the dropdown menu (ASIO being the second), I think this really ought to change.

Just the major DAWs I am aware of that support WASAPI:
ProTools
Studio One
Digital Performer
Reaper

Ableton Live doesn’t, but it at least supports MME/DirectX, which does allow shared OS-integrated audio.

1 Like

Well, SpectralLayers is a different development team and were just recently bought by Steinberg, so that might explain the difference in approach.

I freely admit that I have no clue about WASAPI (to me it just sounds like that japanese horseradish…), can you tell me what the advantages are?

I have an RME, too, and I have absolutely no problems with any audio, I can run Cubase and still listen to something in a web browser, I can route audio from one application to the other with TotalFX’s loopback.

Now if WASAPI featured completely free routing of audio and MIDI (like JACK) or even better let you insert VST plugins in the audio streams… that’s when it gets interesting!

:rofl:

What are you talking about ? There’s no such “exclusive access” for ASIO.
I believe you are completely misunderstanding how that works.

All ASIO drivers released around 2010 and later are multi-client compatible, that means the inputs and outputs of the device can be used by multiple applications and drivers simultaneously.
ASIO has priority over other drivers because it is requesting the exclusive use of the channels, it means that when “Allow applications to take exclusive control of this device” is enabled, then it will obviously prevent Windows from using these same channels at the same time. Since ASIO is requesting the exclusive use, Windows will let go of the channels.

If you want to use the same input and output channels in ASIO and Windows at the same time, then you literally need to disable the Exclusive Mode setting, so Windows can also access the channels.
The Exclusive Mode setting in Windows will only and exclusively change how Windows’ own audio system will handle the channels, it has never ever been related to ASIO at all, and the ASIO performance will remain the same under any circumstances.

You really are understanding this part the other way around. Once Windows has been set to Shared mode you should never have to worry about it anymore, there is absolutely no need to “switch between the two modes several times a day” – what the actual heck.
And if ever Cubase was working in WASAPI, you will then lose some performance – in terms of latency and stability – over using ASIO, because the Cubase I/O stream will be managed by Windows and not the dedicated ASIO driver, which is probably not what you want — and not to mention that with WASAPI you can only select one input and one output, which basically makes your fancy 18-in/20-out interface useless.

No, we obviously cannot control the ASIO volume from Windows, and if ever WASAPI was available in Cubase that’s actually the only “advantage” you would get.
Do I care about not being able to control Cubase volume from Windows ? Not at all.
I have the Control Room for this purpose, this way I can have different volume between Cubase and Windows (with my MIDI controller for Control Room main volume and my keyboard’s volume knob for Windows).

I really can’t imagine working in WASAPI and having to open the Windows mixer everytime I want to only lower the volume of Windows without lowering Cubase at the same time. It’s a complete waste of time and against any good workflow principle.

Why not using 2 instances of running cubase ?
12 - asio
11 - Generic Low Latency ASIO Driver
They both using same audio device.

12 for serious projects
11 for small project.

I guess, u can use same approach

Steinberg got SpectraLayers from MAGIX, who got it from Sony. SpectraLayers has had WASAPI Support since before MAGIX acquired it. MAGIX Samplitude Pro X still doesn’t support WASAPI, despite always being a Windows-only DAW.

MME/DirectX is practically unusable for music production. WASAPI is the only productive native interface on Windows, and I wouldn’t be mad if Microsoft took MME/DirectX out of the OS to force developers to move on. It has been Deprecated and functionally replaced since Windows Vista (2006).

MME/DirectX exists in Windows DAWs largely as a legacy feature they simply haven’t removed because (in many cases, they haven’t bothered to move on from it and onto WASAPI). Most newer DAWs are launching with WASAPI support. They were never in this position, so they just skipped the legacy stuff altogether. The notable exception being Bitwig Studio.

And, of course, that’s why Steinberg is not going to support WASAPI. They also won’t support other plug-in formats (don’t lose sleep over CLAP support :stuck_out_tongue: ).

I don’t think WASAPI Exclusive Locking the driver is a huge issue, but you generally get both Shared and Exclusive options when WASAPI itself exists as an option :wink:

People who make the decision to use Cubase on a Laptop and leave their Audio Interface at home want it. That’s called a compromise, and people make them all the time and live with the deficiencies because the benefits are worth it to them. -“What the actual heck…”

2 Likes

@Trensharo That’s okay, I was just giving a workaround for the lack of WASAPI… but considering the original post, I think my response is well suited. :yum:

My guide for which I gave the link to perfectly explains how to do that with ASIO, because a lot of people don’t know this is possible, and that’s usually why they request a Windows Audio or WASAPI option in the driver choices.

And also :

For the exact reasons you gave !

I’m not sure what you are talking about. The post you linked literally tells people " You must disable Exclusive Mode in Window [sic]"

So that’s what I was talking about.

Also, the fact that you don’t need Windows mixer integration and other aspects of the seamless OS integration provided by WASAPI is irrelevant here. Some people do.

Finally, ASIO is only needed for super low-latency work. For anything else, WASAPI is much better, because it is fully and seamlessly integrated in the OS.

I won’t be reading this thread anymore, I would only repeat myself. I believe I’ve made my point clear enough.

1 Like

Jesus ! Exclusive Mode is for the Windows driver, not ASIO !

Mine is clear enough too, sorry if the message doesn’t get through despite all the details given in post 9.

Those workarounds are messy.

Just implement WASAPI Support and people don’t need a guide. It just works. Like using the built-in audio card on any MacBook works.

Any workarounds that aren’t WASAPI are also going to have higher RT Latency than WASAPI.

1 Like

lol.

First of all this is not a workaround, this is actually how it works. Even Focusrite recommend on their own support pages to disable exclusive mode on Windows…

And, the round trip latency in ASIO will remain the same, sorry for repeating again but Exclusive Mode is only a setting for Windows, it will only affect the audio channels used by Windows (see Windows as a program, just like Cubase).

The ASIO latency and the Windows latency are completely independent, if you set both Cubase and Windows to the same output of your audio interface, the audio stream of Cubase (ASIO) will be directly handled by the ASIO driver and routed to the physical output without ever going through Windows, while the audio stream of Windows (WASAPI, MME, etc) will be first handled by Windows before going through the ASIO driver which then redirects the whole mix to the physical output.

But hell that looks very hard to understand.
I have even put, at the end of my guide, a link to a page that explains all of this. Here’s an image taken from it, maybe that’ll help you see clearer :

image

Cubase is on the right, “audio from other apps”, and its audio stream always goes directly into the ASIO driver (Audio Driver) and is clearly not in the Windows audio path, as it completely bypass the Endpoint Buffers, so just explain me how modifying the Windows audio path, which is on the left side, would affect the performance of ASIO !?

And last but not least, the “exclusive mode” settings in Windows audio channels properties, has nothing to do with the actual API Shared and Exclusive modes, which adds to the confusion.
These exclusive mode settings do not serve as a toggle between the actual Shared and Exclusive modes, it only defines how the channels should react when an audio API requests their exclusive use, and it is the API itself, as a separate program/instance, that can work either in Shared or Exclusive mode, not the channels !

As someone said earlier in this topic, when WASAPI is available for a particular program, we generally can choose between Shared or Exclusive. THAT is the actual exclusive mode, and again, this has absolutely nothing to do with ASIO.

Still need WASAPI support.

When I said workarounds, I means workarounds that aren’t WASAPI that didn’t involve the use of an ASIO driver for a USB-connected Audio Interface…

There is no point in using ASIO4ALL or any Generic Drivers as they are basically emulation layers on top of Windows Audio, which almost always (and I’ve tried/tested quite a few, including Steinberg’s which is actually one of the worst) has higher RT Latency than using WASAPI directly.

Again, WASAPI Exclusive has lower RT Latency than some of the 2-Channel USB Audio Interfaces here (I have like 8 from different vendors) and even WASAPI Shared is quite competitive with a few of them.

Unless I need to record audio into the PC, there is nothing to gain by traveling with an Audio Interface for ASIO when I could just use WASAPI Exclusive with the built-in sound card. In DAWs like Cakewalk or REAPER, WASAPI gives performance similar to using CoreAudio on my 14" M1 Pro MacBook Pro with the built-in sound card.

If other people can’t get there, that’s their personal problem and I’d rather not pay a penalty for their inability to keep their Windows driver up to date (90% of PC laptops I look at have never seen an update for the on-board audio driver).