FlexASIO

FlexASIO is an alternative to ASIO4ALL that allows shared mode, e.g., running a daw with the FlexASIO driver while watching videos in a web browser. How I understand it, FlexASIO is a wrapper for WASAPI or other windows audio driver types (like ASIO4All), so it should pretty well be providing WASAPI performance. Reason doesn’t seem to support WASAPI, so this allows for using it, being presented as ASIO. From past testing of WASAPI, it is capable of providing lower latency than most ASIO drivers. It doesn’t have it’s own gui, but there is a gui for it called FlexASIO Gui. FlexASIO Gui will prompt for installing .Net, and it requires FlexASIO to be installed to use it.

There is another project called KoordASIO that is derived from FlexASIO and includes it’s own gui, but FlexASIO Gui looks to provide more config options, going on screenshots of KoordASIO.

It seems to perform well after testing with an example project playing in Reason while playing a sampled piano along with it and youtube playing in a web browser, with a buffer setting of 128 samples (I didn’t test lower buffer settings yet). And I didn’t make any changes to my laptop settings, running in eco mode with wifi on, which is it’s default state. No clicks or dropouts. My laptop looks good in LatencyMon at these settings though. Your mileage may vary. It should be good to go for a machine that has good DPC latency performance for connecting a MIDI controller without needing an audio interface to play virtual instruments. I tested ASIO4All first, and it was clicking at a 512 samples buffer setting while only playing a sampled piano in Reason. The Realtek soundcard in my laptop includes it’s own ASIO driver, and it performed much worse than ASIO4ALL.

Apparently I don’t know what the hell WASAPI actually is, even though it’s right in the acronym. It’s not a driver. It’s an API for accessing Windows audio drivers, which would be the WDM driver in this case.

I just noticed with FlexASIO that latency goes up a lot when in shared mode. Exclusive mode shows latency to be 6 ms at 64 samples buffer and 13 ms at 128 samples. In shared mode that changes to 24 ms and 26 ms.

I also tested the Steinberg built-in audio driver (works with any soundcard). It seems to be fixed buffer size of 512 samples (nowhere to change it), shared mode, showing a latency of 21 ms.

I’ll have to test more later to see how each feel witih a real keyboard, since I’m testing with a virtual keyboard in Reason.