Jump to content
IGNORED

Article: This Just In: Microsoft Launches Native Class 2 USB Audio Support. Wait, What?


Recommended Posts

Fuinny but i have come to this having just finnished down loading Windows Update. It didn't work the first 2 times I tried and took persistance on the part of the Microsoft support prson who took over my computer. Good luck to anyone else who tries.

Link to comment

I heard next there going reduce Window updates from 50 times a year to 49

Computer setup - Roon/Qobuz - PS Audio P5 Regenerator - HIFI Rose 250A Streamer - Emotiva XPA-2 Harbeth P3ESR XD - Rel  R-528 Sub

Comfy Chair - Schitt Jotunheim - Meze Audio Empyrean w/Mitch Barnett's Accurate Sound FilterSet

Link to comment

I installed the windows update without issue albeit very time consuming.

I was able to configure JRiver to use the new driver without issue.  I have been able to play the following formats:

  • 24/192Khz PCM
  • 24/384Khz PCM
  • DSD64 @ 2.8Mhz
  • DSD128 @ 5.6Mhz "double rate"
  • DSD256 @ 11.2Mhz "quad rate"

 

USB%20Audio%202.0_zpsodt3unfg.png

Link to comment

Works fine for me, tested with 2 DACs.

1. WiiM Pro - Mola Mola Makua - Apollon NCx500+SS2590 - March Audio Sointuva AWG

2. LG 77C1 - Marantz SR7005 - Apollon NC502MP+NC252MP - Monitor Audio PL100+PLC150+C265 - SVS SB-3000

3. PC - RME ADI-2 DAC FS - Neumann KH 80 DSP

4. Phone - Tanchjim Space - Truthear Zero Red

5. PC - Keysion ES2981 - Truthear Zero Red

Link to comment

Thanks for update

Windows 10 - (Asus P8Z77-M PRO; Intel i7-3770S 3.1GHz; Kingston HyperX 16GB 1866Mhz; Crucial MX200 1TB SATA3 SSD) - Foobar 2000 - Oyaide Continetal USB - Wyred4Sound Recovery reclocker - Wyred4Sound DAC2se - Oyaide AZ-910 Interconnects - Ayon Eris Pre-amp - Pass Labs X150.8 Power Amp - Nordost Frey - Triangle Magellan Speakers.

Link to comment
Overdue? Yes. Too late? Definitely not ... accompanied by TIDAL streaming flac and BBC Radio 3 contemplating flac streaming ...
http://www.bbc.co.uk/rd/blog/2017/04/radio-3-high-quality-flac-dash
... major corporations might reach the quality level of CD's from the early 1980's.
 
But I think there is more work required to complete the Windows' audio stack. Bit perfect output on Windows means interfacing via WASAPI. Does the browser used for the TIDAL and BBC Radio 3 services use WASAPI? (I've written to the BBC asking.) We don't want to go through the Windows mixer converting to 32 bit float and dithering back down to 16/44 (or dare one hope that on special occasions those of us who have fibre broadband might enjoy higher bit rates?).

It would also be nice if Groove had a switch to play back flac files via WASAPI.
While Groove introduced flac playback to Windows, that is just flac decode and play via mixer.

I think we need ...
Players (Groove, TIDAL browser , R3 browser)
WASAPI
USB Class 2
... and only then are us poor Windows users in business.
 
For those who don't want to upgrade to the Windows Creators Edition it is possible to extract individual drivers. Indeed one can dump all the drivers in an easily re-installable form with the powershell command:
Export-WindowsDriver -Online -Destination D:\DriverBackup 
Gotta have a live Windows Creators Update installation to start from of course.
 
"Windows 10 UAC2 support is via WASAPI, not ASIO. Those of you who demand ASIO are out of luck."
Source to justify this claim please.
Link to comment
14 minutes ago, JackoUK said:
Overdue? Yes. Too late? Definitely not ... accompanied by TIDAL streaming flac and BBC Radio 3 contemplating flac streaming ...
http://www.bbc.co.uk/rd/blog/2017/04/radio-3-high-quality-flac-dash
... major corporations might reach the quality level of CD's from the early 1980's.
 
But I think there is more work required to complete the Windows' audio stack. Bit perfect output on Windows means interfacing via WASAPI. Does the browser used for the TIDAL and BBC Radio 3 services use WASAPI? (I've written to the BBC asking.) We don't want to go through the Windows mixer converting to 32 bit float and dithering back down to 16/44 (or dare one hope that on special occasions those of us who have fibre broadband might enjoy higher bit rates?).

It would also be nice if Groove had a switch to play back flac files via WASAPI.
While Groove introduced flac playback to Windows, that is probably just flac decode and play via mixer.

I think we need ...
Players (Groove, TIDAL browser , R3 browser)
WASAPI
USB Class 2
... and only then are us poor Windows users in business.
 
For those who don't want to upgrade to the Windows Creators Edition it is possible to extract individual drivers. Indeed one can dump all the drivers in an easily re-installable form with the powershell command:
Export-WindowsDriver -Online -Destination D:\DriverBackup 
Gotta have a live Windows Creators Update installation to start from of course.
 
"Windows 10 UAC2 support is via WASAPI, not ASIO. Those of you who demand ASIO are out of luck."
Source to justify this claim please.

 

 

Hi Jacko - Welcome to CA. Your first post is full of goodies :~)

 

Yes, there are some good things coming, such as FLAC from the BBC and lossless from Spotify etc... Playing through a browser has its issues for sure. If the audio has to go through DirectSound rather than WASAPI, it's a big bummer. But, this isn't really related to Windows support for UAC2.

 

I'm the source for the WASAPI not ASIO information. I have UAC2 on my windows machine and can see it's WASAPI not ASIO. However, this isn't really unexpected as WASAPI is Microsoft's creation / answer to Steinberg's ASIO. 

Founder of Audiophile Style | My Audio Systems AudiophileStyleStickerWhite2.0.png AudiophileStyleStickerWhite7.1.4.png

Link to comment
"Your first post is full of goodies :~) "
Everything I've learnt has come from sites like yours on the web!
 
"Playing through a browser has its issues for sure."
While I am not an audio programmer I think this is an easy task ... precisely because we want a simple data pass through ... no advanced digital signal processing! Once the input has been decoded from flac to PCM it can't be much harder than selecting the endpoint (which will be the default playback device already set in Windows Control Panel) and pumping the data. 't would be nice to have a check that the input format matches the default playback format :-(
The 'problem' will be persuading the corporations (MSFT and GOOG) that even this little bit of work is worthwhile, since most customers (of Windows or CHROME) won't care about high quality and there is no obvious payback. (Indeed GOOG have other corporate objectives with products like Chromecast.)
 
"If the audio has to go through DirectSound rather than WASAPI, it's a big bummer."
To be avoided, yes, ... but just how bad is it? I've been questioning that lately.
Converting from a 16 bit integer to a 32 bit float will surely be sufficiently precise because there is next to no truncation/rounding. AUDACITY and the big audio DAW's use 32 bit float.
How bad is the dithering down from 32-bit float back to 16-bit integer?
I haven't read much on that subject.
 
"I'm the source for the WASAPI not ASIO information."
I am unconvinced.
The DSD playback instructions for my AUDIOLAB M-DAC+ involved installing the vendor's class 2 USB driver, FOOBAR, the FOOBAR ASIO proxy and then the SACD plugin i.e. an ASIO configuration, which I put on a laptop ...
... but the CD drive and cooling system on the laptop whirred ...
... so I plugged the USB cable into a brand new LINX 1010B tablet with no moving parts. Before I had run the AUDIOLAB installation program I checked the Windows drivers to find them all available. USB is largely plug and play and so I suspect the AUDIOLAB UAC2 was installed on plug. It seemed to me that WASAPI and ASIO are interchangeable in the audio stack so the following should work:
 
FOOBAR player
WASAPI
USB Class 2
 
So it proved: I installed FOOBAR, the WASAPI component and the SACD component and could play all high resolution formats bit perfect immediately. I didn't touch the AUDIOLAB install program and no sign of ASIO.
 
I think players (browser, GROOVE, FOOBAR, JRIVER etc.), audio middleware (WASAPI, ASIO, DS) and Class 2 USB drivers (MICROSOFT, AUDIOLAB, etc.) are interoperable. (Adds the caveat IN THEORY.) There is an INTERFACE - in the programming meaning of a strict protocol to be adhered to and defined in an industry standard - between the 3 elements of the audio stack. Moreover the intent of the word class is that it should  apply to a large group of interworking devices, dare I say as in a class action lawsuit!
 
As I've said the only bits missing is browser and Groove implementing the WASAPI interface, they already implement DS. With only a Class 1 USB driver MSFT was partially interoperable, we could have, say...
 
FOOBAR
WASAPI
MSFT Class 1 USB
 
... and play 24/96 flacs without ASIO.
 
I've attached a diagram which summarises my current understanding. 

Audio Stacks.JPG

Link to comment
6 minutes ago, JackoUK said:

It seemed to me that WASAPI and ASIO are interchangeable in the audio stack

WASAPI and ASIO are two different interfaces for audio applications to interact with the driver. UAC2 is a specification for the USB protocol between driver and hardware. A driver can provide either or both of these regardless of the hardware protocol (UAC2 or something else). Vendor specific drivers typically implement both WASAPI and ASIO for maximum application compatibility. The new UAC2 driver from Microsoft only implements WASAPI. It probably does this because a) WASAPI is the Microsoft way (for now), and b) ASIO may require paying royalties to Steinberg.

Link to comment
After reading this ...

http://www.xmos.com/fundamentals-usb-audio

... I'm sticking to my story!

"A driver can provide either or both of these [WASAPI, ASIO] regardless of the hardware protocol (UAC2 or something else)."

No, that 's the wrong way round. WASAPI and ASIO use the USB class 2 interface, implemented in the driver. The USB class 2 driver does not implement WASAPI or ASIO and indeed does not care what middleware calls it. Moreover the raison d'etre of an INTERFACE in software design is to ensure the caller and the called become independent.

"Vendor specific drivers typically implement both WASAPI and ASIO ..."

I think not, I think vendors do 2 things:

- they implement the USB class 2 interface on their device

- and because MSFT didn't have one, provided a USB class 2 driver for Windows

The reason ASIO comes into the picture is that in the bad old XP days MSFT's audio architecture was so poor that it didn't meet the latency requirements of music production systems: audio hardware peripherals and DAW software. So Steinberg solved those limitations with the middleware component ASIO. That didn't touch the USB side of things, just MSFT's crumby OS audio software. Note: USB is an IT industry standard, not a MSFT standard and not (only) an audio standard.

When MSFT decided to catch up with the audio industry they had 2 choices: pay Steinberg royalties for ASIO ... or write their own equivalent: they decided to write their own for VISTA and called it WASAPI. (On the video side they simply abandoned the MEDIA CENTRE player to avoid royalties.) The Windows audio stack has been improved through Windows 10 so that latencies have been reduced and now, with the Windows USB class 2 driver, the stack is almost complete. But still not done - because the topmost element of the stack is a PLAYER and Windows does not have a player which works with WASAPI or ASIO. So on Windows you have to use FOOBAR or buy a commercial product like JRIVER. This is where my question about internet streamers comes in. If TIDAL/SPOTIFY/BBC RADIO 3 are drawing flac files down at 16/44 into a browser ... the browser functions as a player in the audio stack. So to connect with USB class 2 DAC's bit-perfect playback the browser must go through either WASAPI or ASIO. I doubt very much whether Edge, Chrome etc. use anything other than DIRECTSOUND (see next post about dithering).

Put it another way, to achieve bit-perfect playback:

- player software on an audio host (PC) must make calls to either the WASAPI or ASIO middleware

- WASAPI and ASIO both make calls to a USB class 2 driver (from Microsoft or vendor) already

- the vendor implements USB class 2 audio on the target device (DAC)

The import of class in a driver qualification should guarantee, let alone suggest, interoperability. Consider the case of the another USB class driver - for storage. I can plug a USB thumb-drive or USB external hard disk into all sorts of places. I don't have to worry whether the device is from  SANDISK or SEAGATE. Similarly any class 2 certified DAC should work with the Windows class 2 USB driver on any Windows PC.

Now my DAC provider - AUDIOLAB - gave me instructions to install FOOBAR and its ASIO proxy for playback of high resolution files. Worked fine on my laptop.

But those instructions were 3 years old and my laptop whirred under load! So I installed FOOBAR and the WASAPI component on a small LINX 1010B tablet. That worked too - with no ASIO in sight.

I've written to AUDIOLAB asking if I really need to install their USB driver, or if I can just use the Windows one. Like MSFT I think they too are catching up.

 

 

 

 

Link to comment

Windows DIRECTSOUND attracts bad press - "don't let it alter your audiostream or suffer cacophonies instead of musical delights" - is the general advice. Well my parents told me not to put my hand into a fire ... so  I poked one of those old electric bar heaters with a knitting needle. I mean if you aren't supposed to put your hand in, you have to try something else, right? Luckily the knitting needle was plastic so all that happened was the heater bar fused and the plastic melted ... and I must have been a little surprised or I wouldn't be:

a. alive

b. remembering the incident

 

So if TIDAL/SPOTIFY/(maybe) BBC RADIO3 are going to download flac for playback in a browser ... how good is that going to sound on a Windows PC streaming to a high-quality DAC?

 

Crap. Obviously.

 

So poking around ... if the flac is 16/44 and I set Windows playback at 16/44, levels 100% ... and target my DAC ... what will happen?

 

The PC will crash hard with unrecoverable errors and the DAC will melt. Obviously.

 

Well the Windows Mixer will convert the stream to 32 bit float. Not a problem, that's what any high-quality DAW software would do for starters. Floating point arithmetic is highly accurate (consider how accurately the analogue/rational value 1/3 can be stored as a 16 bit integer or 32 bit float).

 

There is nothing to mix because I've shut off all other applications which would necessitate Windows introducing a sound bite to spoil my listening pleasure, so no nasty mixing at all: pass straight along please.

 

Levels at 100%, so no digital manipulation by Windows; the power stages in the DAC and subsequent amps can increase the volume in analogue-space - now I know why I bought an amplifier.

 

Dither down from 32 bit float to 16 bit integer. OK, some modifications here ... but come on ... we're talking -80dB  http://wiki.audacityteam.org/wiki/Dither. Inaudible in all but the most exceptional cases, for which read never.

 

So I think that setting the bit depth and sampling frequency in Windows Control panel to match the incoming internet audiostream characteristics will produce loveliness on my DAC. So if e.g. Radio 3 were to declare a special occasion and stream THE LAST NIGHT OF THE PROMS at 24/96 ... then all I have to do is a simple setting adjustment to ensure further loveliness.

 

[Or ... shock, horror ... MSFT/GOOG et al equip their browsers with WASAPI/ASIO support ... in which case we can recapture bit-perfectness heaven.]

 

 

 

Link to comment
23 minutes ago, JackoUK said:

... I'm sticking to my story!

"A driver can provide either or both of these [WASAPI, ASIO] regardless of the hardware protocol (UAC2 or something else)."

No, that 's the wrong way round. WASAPI and ASIO use the USB class 2 interface, implemented in the driver. The USB class 2 driver does not implement WASAPI or ASIO and indeed does not care what middleware calls it. Moreover the raison d'etre of an INTERFACE in software design is to ensure the caller and the called become independent.

UAC2 is a link protocol or, if you will, a hardware interface. While most new DACs use this standard, there are many older ones that do not, and even those that do often include vendor-specific extensions. The software interface between the driver and the rest of the OS is not standardised. Windows drivers implement whatever interface the WASAPI core requires. The ASIO core uses other/additional interfaces to the driver. This is why ASIO4ALL was created. It provides the low-level interface used by ASIO on top of standard Windows drivers.

23 minutes ago, JackoUK said:

"Vendor specific drivers typically implement both WASAPI and ASIO ..."

I think not, I think vendors do 2 things:

- they implement the USB class 2 interface on their device

- and because MSFT didn't have one, provided a USB class 2 driver for Windows

They do that, among other things. If the hardware interface isn't UAC2, they'll obviously provide a driver for whatever it is.

 

As a concrete example, I have a Tascam UH-7000 DAC/ADC. It does not use UAC2 (although it is something very similar). After installing the vendor driver, it appears under both WASAPI and ASIO, but only ASIO gives full functionality. In fact, WASAPI barely works at all.

Link to comment
"If the hardware interface isn't UAC2, they'll obviously provide a driver for whatever it is."
Agreed ... but that works ... for one case only. If an old device is operating to the interface MYOLDUSB, then it will require a Windows driver working to MYOLDUSB. MSFT won't write it so the ISV must. Yet this is the antithesis of a class driver: this is a device-specific driver. Yuk: that's precisely what we (as consumers) are trying to avoid! Naturally I have a great deal of sympathy for vendors who wish to press on when MSFT is lagging behind the industry.
Also, as you observe, if an ISV does its own thing ... then maybe WASAPI and ASIO won't fit ... or ASIO is more accommodating than MSFT and more things work ... or we need something in between like ASIO4ALL ... messy.
My key point is that now that MSFT has a class 2 USB driver we can all start to get back in line again ... and keep lambasting MSFT for falling out of line!
 
"The software interface between the driver and the rest of the OS is not standardised."
Agreed ... and I don't think it's ever going to be: there is always some portion of the ecosystem where companies are competing. DAW's need/want additional functionality so they will want to extend things, fair enough.
For simple playback of recorded material - DAC's - everyone should have been behind USB class 2 audio.
 
"Windows drivers implement whatever interface the WASAPI core requires."
I stand to be corrected but that's where I think you are mistaken.
When MSFT claim to have a USB class 2 audio driver they are making a substantial claim. As I said USB and USB audio class 2 are industry standards not controlled by MSFT. Whether MSFT's claim is justified does of course deserve testing. have they implemented all of the standard, or as you claim only the WASAPI part of it. Part would not be a problem for consumers if it's the mainstream functionality.
That requires a test by someone who knows the class driver specification in great detail!!
Further I think ASIO would work over the MSFT driver (to the extent that ASIO and USB class 2 audio functions overlap, not likely with added functionality).
 
My working system is:
FOOBAR with WASAPI component
WASAPI
AUDIOLAB USB class 2 audio driver
 
... I guess what I need to do to prove my theory is try ...
 
FOOBAR with ASIO proxy
ASIO (available from the old FOOBAR SACD plugin)
MSFT USB class 2 audio driver
 
Have you any sources for what ASIO does that WASAPI does not? (On any system.)
Or indeed has anyone written about deficiencies in the MSFT class driver e.g. functions in the standard not implemented ?
Link to comment

My point about the BBC delivering bit-perfect from browsers is this ...

... when the company decides to write its player it must make a decision about DIRECTSOUND, WASAPI or ASIO. The BBC will not think 'ah mansr has a grotty old TASCAM using MYOLDUSB, so we had better offer  MYOLDUSB'.

There is one other option ... to write the player using USB class 2 audio calls directly.

My guess is they will take the easy route of DIRECTSOUND.

 

Link to comment
19 minutes ago, JackoUK said:
"Windows drivers implement whatever interface the WASAPI core requires."
I stand to be corrected but that's where I think you are mistaken.
When MSFT claim to have a USB class 2 audio driver they are making a substantial claim. As I said USB and USB audio class 2 are industry standards not controlled by MSFT. Whether MSFT's claim is justified does of course deserve testing. have they implemented all of the standard, or as you claim only the WASAPI part of it.

USB Audio Class 2 is a hardware interface spec. WASAPI has nothing to do with it. A Windows audio low-level driver translates calls from whatever software interface WASAPI uses to suitable hardware commands. Nobody has questioned that the new Microsoft driver does exactly this for UAC2 devices. ASIO uses a different interface which this driver doesn't implement. That in no way means the driver is incomplete in terms of the UAC2 spec.

33 minutes ago, JackoUK said:
That requires a test by someone who knows the class driver specification in great detail!!

There is no such thing as a class driver specification. The spec is for hardware only. The software driver can provide whatever interface it pleases. Windows drivers provide the WASAPI low-level interface. Linux drivers provide the ALSA internal interface. Neither is covered by any standard.

37 minutes ago, JackoUK said:

Further I think ASIO would work over the MSFT driver

Chris says it doesn't, and I'm inclined to take his word for it. It probably works with ASIO4ALL though.

Link to comment

If I install Win 10 Creators Update, will it automatically replace the current USB driver that came with my Berkeley Alpha/Benchmark DAC as I expect it will?  If so, will things still work okay, or can I expect to troubleshoot and make software settings changes?  What are the odds?  

 

I use JRiver and iTunes as music servers.  

Win 10 laptop and JRiver22 (set to WASAPI) controlled remotely by JRemote on iPad Mini or iPhone> Belkin Gold USB cable > Berkeley Audio Design Alpha USB to SPDIF converter> DH Labs D-75 digital coaxial cable > Benchmark DAC1 HDR with volume control> Cardas Golden Presence balanced interconnects > BSG Technologies QOL Signal Completion Stage > Cardas Golden Presence balanced interconnects > Music Reference RM-200 Mk II tube amp > Cardas Golden Presence speaker cables > Sonus faber Cremona M speakers.  Running Springs Haley power conditioner.

Link to comment
12 minutes ago, Phil C said:

If I install Win 10 Creators Update, will it automatically replace the current USB driver that came with my Berkeley Alpha/Benchmark DAC as I expect it will?  If so, will things still work okay, or can I expect to troubleshoot and make software settings changes?  What are the odds?  

 

I use JRiver and iTunes as music servers.  

 

Your DACs use custom drivers that will not be uninstalled.

Founder of Audiophile Style | My Audio Systems AudiophileStyleStickerWhite2.0.png AudiophileStyleStickerWhite7.1.4.png

Link to comment
12 minutes ago, The Computer Audiophile said:

Your DACs use custom drivers that will not be uninstalled.

I don't know about DACs, but the update replaced my Synaptics touchpad driver with an older version (that doesn't support multi-touch). The "anniversary" update did the same thing. Annoying but fixable.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...