WASAPI Device?


#1

Not sure if this is the right place to ask the question, but want to give it a try anyway:
How to make a regular audio sound card being recognized as a WASAPI device by JUCE application (such as JuceDemo)?
Does it need a driver to convert a regular sound card to a WASAPI device? Is there a quick way within JUCE to do that?

Thanks.


#2

The audio driver for the card needs to support WASAPI. There’s no way for JUCE to do that, since it requires installing a kernel mode driver.

If you want low latency for your audio card try ASIO4ALL.


#3

[quote=“TheVinn”]The audio driver for the card needs to support WASAPI. There’s no way for JUCE to do that, since it requires installing a kernel mode driver.

If you want low latency for your audio card try ASIO4ALL.[/quote]
The driver part was my understanding even before asking the question, but the kernel mode part is new to me. From the Microsoft website:
http://technet.microsoft.com/en-us/subscriptions/dd316780(v=vs.85).aspx
The diagram from the link shows WASAPI is part of the Core Audio APIs that belong to user mode, not kernel mode.

BTW, what’s the typical latency with WASAPI if using exclusive mode? Assuming for one setup, the latency with ASIO4ALL is 10ms, can WASAPI match the number? Or it will be 3 times of the ASIO4ALL latency?


#4

My general understanding of the state of Windows audio is as follows:

  • ASIO is the only meaningful way to get low latencies

  • ASIO4ALL works to achieve low latencies for many cards, using their native driver

  • The lowest latencies are only possible when the vendor provides an ASIO driver with their hardware

Can anyone confirm or deny this?


#5

WASAPI can also get pretty low latencies (similar to ASIO). Not sure about stability or processor usage implications.


#6

So as far as understand, WASAPI can be an alternative to ASIO?


#7

Yep, but ASIO is my first preference.

An interesting quote from this thread:

[quote]WASAPI (push-style, as used by f2k or ‘WASAPI’ mode in Media Center) is not reliable with many high-end USB DACs. It’s not clear who to blame for this, but event-style WASAPI works reliably (‘WASAPI - Event Style’ in Media Center).

Creative and ASUS hardware require ASIO for what they call ‘bit-matched’ playback (which means the audio doesn’t get hardware resampled).

To bitstream DSD requires ASIO 2.2 (and a DAC that supports it).[/quote]
Also see this wiki on audio output modes for JRiver MediaCenter.