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

    It's a bummer that headline is from 2017. Apple released a good working version of class 2 USB audio support on June 15, 2010 with Snow Leopard 10.6.4. Linux has supported UAC2 for ages as well. I guess it isn't surprising though, given the word on the street about Microsoft's Windows audio team. Sometimes there's one guy on the team who really gets this stuff, other times the whole team has pretty much left, etc... Sorry to burst your bubble if you had visions of a well-oiled Windows audio team with vast knowledge and interest in ... audio. 

     

    This news is still nice to read, but is it too little too late? For the most part it's a good thing, but it won't change anyone's life like the same announcement would have back in the first decade of the 2000s.


    What Is It, Do I Need It, and How Do I Get It

     

    What is USB audio class 2 support? In the simplest terms, UAC2 support, as it's known to some, is what enables you to play high resolution audio to a USB DAC without the need for additional software / drivers. To be precise, class 1 USB audio support enables playback of PCM music up through 24 bit / 96 kHz. Class 2 support enables much higher sample rates such as PCM 24 bit / 384 kHz and DSD (DoP) up through DSD256. It may support higher sample rates, but I have no way of testing anything higher at the moment. 

    Windows has supported class 1 USB audio "forever."  This is why early USB DACs were plug and play. Remember when CEntrance licensed its adaptive USB technology to several manufacturers back in the day? This enabled us to play up to 24/96 on Windows, and we didn't need to install any custom drivers. 

     

    When high speed USB audio came to the HiFi market, everyone using Windows had to install third party drivers. Many of these drivers were from Thesycon for XMOS based implementations or even M2Tech for all the companies that licensed its technology. With third party drivers also came the pains of keeping up with technology changes. HiFi companies had to keep drivers updated whenever new operating systems were released or even a minor update that caused something to stop working. Many members of the CA community are well aware of the pitfalls of third party drivers and waiting for a HiFi manufacturer to fix a software issue. I don't blame anyone here. HiFi manufacturers have always been hardware guys, so this is new territory. 

    Now, Windows 10 features native support for class 2 USB audio. Plug in a USB DAC, and you'll be able to play high resolution audio without installing anything. Of course this won't work for every DAC in the planet. 


    Do I Need It?

    If you use Windows and your DAC is working, then no you don't need it. You may want it though. In the future, HiFI companies may elect to not release custom drivers and to depend on the native class 2 USB audio support from all major operating systems Windows, macOS, and Linux. At such time, you'll need it.


    How Do I Get It?

    Currently, you need the Windows 10 Creators Update. This is a free update. Microsoft has seen some issues with the update and has held off from pushing it to everyone through Windows Update. If you want to install this, manually go to the Windows 10 Creators Update download site here - link.


    Wrap Up

    Again, this would have been big news back in 2009. Today many people have moved on to Linux based systems or network based systems. People using Windows 10 for playback should be happy that there is another option. They no longer have to depend on HiFi manufacturers to release updates to software (for the most part). Windows 10 UAC2 support is via WASAPI, not ASIO. Those of you who demand ASIO are out of luck. 


     

    2




    User Feedback




    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.

    0

    Share this comment


    Link to comment
    Share on other sites

    Does this mean there will be an update to the AQ Dragonfly to enable resolutions over 24/96???

    0

    Share this comment


    Link to comment
    Share on other sites
    Just now, HeadStrong said:

    Does this mean there will be an update to the AQ Dragonfly to enable resolutions over 24/96???

    No, that's a limitation of its microcontroller.

    0

    Share this comment


    Link to comment
    Share on other sites

    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

    0

    Share this comment


    Link to comment
    Share on other sites

    Its worthwhile to point out that the Creators Update does change a few things. I have not noticed anything breaking at all but you may want to read up on it before you download.

    0

    Share this comment


    Link to comment
    Share on other sites
    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.
    0

    Share this comment


    Link to comment
    Share on other sites
    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. 

    0

    Share this comment


    Link to comment
    Share on other sites
    "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

    0

    Share this comment


    Link to comment
    Share on other sites
    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.

    1

    Share this comment


    Link to comment
    Share on other sites
    Better graphic ... but may still need more work in view of mansr's comment and others?5911f6b724028_AudioStacks.thumb.JPG.f13306a118637279951a292b9e837cc5.JPG
    0

    Share this comment


    Link to comment
    Share on other sites
    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.

     

     

     

     

    0

    Share this comment


    Link to comment
    Share on other sites

    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.]

     

     

     

    0

    Share this comment


    Link to comment
    Share on other sites
    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.

    0

    Share this comment


    Link to comment
    Share on other sites
    "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 ?
    0

    Share this comment


    Link to comment
    Share on other sites

    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.

     

    0

    Share this comment


    Link to comment
    Share on other sites

    I just installed the update on my Win10 machine. UAC2 devices work just fine through WASAPI. They do not show up in ASIO applications (checked with Cubase). The onboard Intel audio does, along with aforementioned Tascam device.

    1

    Share this comment


    Link to comment
    Share on other sites

    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.  

    0

    Share this comment


    Link to comment
    Share on other sites
    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.

    0

    Share this comment


    Link to comment
    Share on other sites
    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.

    0

    Share this comment


    Link to comment
    Share on other sites

    Thanks for the answer Chris.  

     

    BTW, Microsoft is now pushing the Creators Update patch. One of my PCs downloaded it as part of the May monthly update and is awaiting restart to complete installation.

     

    Microsoft is now very aggressive with the monthly updates.  For Win 10 at least, there is no longer a menu of patches from which to pick and choose.  All patches are now bunched into a monthly update, so we have a Hobson's choice to install the Creators Update patch as part of the monthly update or to not do the monthly update at all (rendering the computer more vulnerable to viruses and other nasties).    

    0

    Share this comment


    Link to comment
    Share on other sites



    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