Saturday 29 April 2017

MEASUREMENTS: Windows 10 Creators Update USB Audio Class 2 Driver. (And a request of Neil Young / XStream.)

 

It has arrived... Finally... Microsoft's USB Audio Class 2 (UAC2) native Windows driver has been released with the recent Windows 10 Creators Update ("CU", version 1703, build 15063.138). I updated my home theater PC and when I plugged in my TEAC UD-501 DAC to the USB port (with no TEAC driver installed), Windows detected it and proceeded with the device set-up automatically.

Considering that Mac OS X and Linux have had "native" drivers for years, I guess it's about time that Microsoft finally got the job done. Remember, "UAC2" has been out since 2009 as an evolution of the "UAC1" standard from 1998.

Of course, this doesn't mean the Windows world has been deprived of high quality sound... Companies have been releasing their own drivers since the beginning.

Very simply, I just wanted to put up some measurements today to demonstrate how well the native drivers work and see if there are any unexpected anomalies. Remember, as far as I'm concerned, "bits are bits" so long as we don't have any major timing errors (like buffer underruns) and with an asynchronous interface and a reputable DAC with stable clocking, jitter will typically not be be a problem (as demonstrated many times before).

For the measurements today, I'll just use the TEAC UD-501 DAC installed by Windows 10 in the image above. The measurement chain is as follows:
HTPC (Windows 10 UAC2 driver) --> 12' USB 2.0 cable --> TEAC UD-501 --> 6' RCA interconnect --> Focusrite Forte ADC --> 6' USB cable --> Windows 10 measurement laptop
The HTPC with Windows 10 CU installed is essentially my Skylake build from late 2015 with i5-6500 CPU, 16GB DDR4 RAM, using the Gigabyte Z170X-Gaming 7 motherboard. The main difference these days is that I have an ASUS nVidia GTX 1080 strapped in there for 4K gaming.

Here's the Microsoft driver installed...

I'll just use the latest foobar2000 (v1.3.15) with the WASAPI output plugin. Output settings as so:

First let's start with the RightMark tests and see if the new driver results in any change in noise floor or distortion...

16/44:

As you can see, there's no difference at all between the HTPC playback using the Windows 10 driver, compared to the middle column which is my i5 Surface 3 tablet/laptop using TEAC's "OEM "driver through ASIO compared to a Raspberry Pi 3 piCorePlayer (Linux / ALSA) connected to the TEAC UD-501.

Realize that these measurements were done months apart (new WASAPI Windows 10 driver April 20, 2017, Surface with TEAC ASIO driver May 2016, Pi3 Linux driver on December 21, 2016); notice the consistency and reproducible of the results despite the time span, different hardware, different drivers, even different OS.

I'll forgo my usual graphed results since they simply look like overlays of each other! And 16/44 isn't all that interesting these days...

24/96:
Same thing now in hi-res...


Nope... Nothing to see here folks. Graphs look nicely overlaid and clearly there is no doubt that the measurements are taken of the same device!

24/192:
Finally, 24/192 which is the highest samplerate for the Focusrite Forte.


Yawn... Same difference :-).

Jitter:




Great J-Test results... Can't imagine anyone saying they'll be able to hear a problem!

Conclusion:
Okay folks, reasonably short and sweet. I see no issues using the native Microsoft Windows 10 USB Audio Class 2 driver with my asynchronous USB TEAC UD-501 DAC. WASAPI interface works well. No pops, crackles, or noise in the audio playback. I'd still need to install the TEAC driver if I want access to ASIO though.

I also used JRiver 22 to play back some DSD .dff and .dsf files. Just set it to WASAPI and bitstream DSD like so:

No problem with DoP output of DSD64 and DSD128 to the TEAC DAC. As usual, JRiver does a good job with decoding DST-compressed DSD files. Good demonstration of "bit-perfect" playback.

I spent an evening enjoying a few familiar albums - Kind of Blue, High Lonesome Sound, and being a child of the '70/80's - Guardians of the Galaxy: Awesome Mix Vol. 1 :-).

I hear no difference with playback using this driver compared to the OEM TEAC driver with ASIO or using the Raspberry Pi 3 as streamer through my main system. Again, notice the accuracy of the objective measurements indicating no difference in the frequency domain and very low harmonic and intermodulation distortions. No concern with temporal issues like jitter which as I have discussed in the past many times is a function of the asynchronous device and would not vary with streamer device or in this case the device driver unless there's some severe bug in the programming. I wouldn't be surprised if someone somewhere testifies that this driver "sounds bad" based on sighted listening though :-).

Yay Microsoft. Better late than never... Should at least save some folks the hassle of finding a device driver.

----------------------------------

The new Creators Update also improves high DPI scaling which is nice for older software running on 4K screens. One other thing I noticed:

There's a new setting with the Display options for having HDR10 activated for the desktop when connected to a HDR-capable TV. It works with my nVidia GTX 1080 graphics card using latest drivers connected to the Vizio P75-C1 screen but I found the brightness a bit dull. I haven't taken time to tweak settings yet. I can watch YouTube 4K HDR content though with proper color tonality now.

---------------------------------------

This past week I've been enjoying Canadian Ron Sexsmith's new album The Last Rider (2017, DR7). Good songwriting in the pop/rock style. Yet again, I wish it wasn't so dynamically compressed for those of us with hi-fi gear. A shame. On the other hand, in the world of video, if you have a 4K/HDR TV, you owe it to yourself and loves ones to watch BBC's Planet Earth II! Seriously, this is likely going to be the most impressive looking documentary for years... The juxtaposition shows a sad dissociation between the quality of modern audio vs. video production in spite of technological advancements in both.

Looking over the AXPONA reports from this past week, it looks like things are pretty tame in the Audiophile Industry. The usual expensive gear. I noticed remarkably little being said about high-res streaming like TIDAL or MQA.

However, I've seen some new articles about Neil Young and his next venture into "XStream"; an adaptive streaming system that dynamically shapes the recompression of music data depending on bandwidth. Unfortunately, I think you need to be a member of Pono to log in, but NY posted what looks like his "swan song" to Pono on April 20th here. Instead of quoting the text, check out this Steve Hoffman Forum post to read.

It's no surprise that this type of explanation is coming given the 8+ months since the shutting down of the Pono download store. Neil certainly did owe the community some explanation for what happened even if the writing was clearly on the wall.

As for the XStream technology, well, I guess it's about time. As they say, "necessity is the mother of invention" and in the video streaming world, adaptive compression has been in use for years... Witness Netflix streaming from SD to 4K/HDR depending on line conditions and equipment. It's less complex to achieve this with relatively low bitrate audio data I suspect. Processing power is plentiful and transcoding stereo audio streams isn't demanding. I assume the XStream CODEC should achieve at least the same sound quality as LAME MP3 at the same bitrate.

As nice as the technology may be, they'll need to attract enough music labels to sign on for content if it's to be a serious streaming service. There's also the nasty business of getting the streaming apps ready for computer/web/iDevices/Android playback. There's probably also a need to satisfy content providers that adequate safeguards are in place for copy protection. Then there's figuring out the business model to compete with the likes of Apple Music, Spotify, TIDAL, etc... No surprise that folks are a little wary of the potential for yet another streaming service. (If you do a Google search, notice there are many things already called Xstream out there...)

In any event, there's a long road ahead and to be honest, I just don't know if there's actual appetite out there for "high res" streaming anyhow. Other than vocal proponents in the audiophile press and maybe a few on audiophile forums, who else? The problem with Neil Young's drive whether it's Pono or this one is that he assumes that "high res" is that big a deal and that people actually hear some kind of magical difference between a good CD-16/44 and samplerates above (of course there isn't!). As I have expressed years ago, as an audiophile, while I might want to have access to high quality recordings at 24/96, that doesn't mean everything should be contained in such large "bit buckets" and God knows that only very few recordings even deserve to be bought at the higher quality much less streamed! If the Industry understood this, they would know that they're just not going to extract much $$$ by hyping up "high res". People figure it out soon enough and now that we're used to HDtracks, Pono, and even MQA, the naïveté is wearing.

As for the technology, I see XStream like the Windows USB Audio Class 2 driver discussed today - long time coming! It's just a natural step in the evolution of streaming that improves flexibility and access by merging concepts of lossy and lossless compression transparently (rather than shoehorning a lossy piece into a lossless package like MQA while trying to insist it's "lossless"). If it works well, I'd love to see a company like Apple, Spotify or maybe Amazon buy it over and update their streaming software/infrastructure. In one fell swoop they'd be able to open up the current 256/320kbps streaming to lossless 16/44 and above assuming there are no major impediments around media distribution rights. Furthermore, they could allow end users a menu of maximum bitrate choices to listen at, perhaps from a low of 256kbps to "lossless" without charging the user extra. Giving the user bitrate options would be great for commuters who want to limit data usage especially in noisy public places where high fidelity isn't all that important. Now this would be a great value-added feature against competitors.

Thinking outside of the current stereo "box", I think a flexible system like this might even allow a future where multichannel streaming could be accomplished transparently. I'm getting ahead of myself here but I for one would love an adaptive 2.0 or 5.1 music streaming service for my surround set-up. As an investor, I suspect NY would be very happy to have the tech company bought up by a major party and in fact might be truly what he's eyeing :-).

Win win for all? Maybe not for TIDAL and MQA.

Oh yeah. One last thing, Mr. Young, that I think is very important. While you and XStream are working on a fancy way to transcode with the "streaming engine", maybe you'd want to add one last feature to truly show you care about sound quality. Throw in the ability for the user to select his/her own dynamic range compression ("off" for hi-fi, "light" for quiet strolls, "medium" for car rides, "high" for subway commuters). By doing this you can encourage companies to not only provide the highest bitrate resolution, but also the highest dynamic range mastering for streaming. I think that there's redemption yet in the eyes of audiophiles to show us you truly "get it".

If you can succeed in launching the XStream technology with user-selectable dynamic range compression, given time and gradual acceptance as people use the feature and music labels provide albums worthy of the "hi-fi" full dynamic range setting, music lovers worldwide will be impressed with you catalyzing the movement to truly reclaim the artistry and nuances of music again. "Best mastering & dynamic range" is the angle you play to differentiate this streaming system, not "highest bit-depth & samplerate". Trust me on this one, Neil! Thanks in advance...

Have a great week and enjoy the music everyone!

28 comments:

  1. To me, computers are just black boxes, and I have little understanding of what goes on inside. Will my WIN10 computer update automaticaly to use this, and will my ODAC usb dac recognize it automatically?

    ReplyDelete
    Replies
    1. Yeah, like Stephen says, check out the System panel in the Settings for the version.

      The ODAC is UAC1 so this new driver would not be relevant for the device.

      Delete
  2. You should already have it, right-click on the start button, click on 'system' and that's where you'll find the version of W10 you have. It should be 1703.

    ReplyDelete
  3. Any idea how to make Foobar work with this driver for dsd? I've got a UD-301 and without the TEAC driver I can't get it to play native dsd.

    ReplyDelete
    Replies
    1. Good question Grumby... Other than getting foo_dsd_asio working back in the day with foobar to send over DoP, I have not bothered with DSD in foobar in years.

      Anyone?

      Delete
    2. If you find a way, I'd love to know. For some reason the TEAC USB driver sometimes has fits with my PC. The best I can describe it is sounding like a DAT machine with the head out of alignment; all sorts of digital distortion. Sometimes all it takes is a page refresh or a quick cycle of the inputs. Other times I have to change default sound device back and forth to get it to go away.

      Delete
  4. I have DSD working to an AUDIOLAB M-DAC+ using FOOBAR alone:
    1. install a class 2 USB driver
    2. install the WASAPI plugin
    3. install the SACD component
    OK, so there are a few settings to sort out too ...

    ReplyDelete
    Replies
    1. Install a class 2 USB driver ...
      ... USB is 'plug and play' in Windows terms, so when you plug, your DAC vendor may have programmed his driver to install automatically. So there may be nothing to do here. Microsoft provided this instruction when announcing UAB class 2
      https://blogs.msdn.microsoft.com/matthew_van_eerde/2016/09/15/installing-the-microsoft-class-drivers-for-usb-audio-devices/
      I doubt it matters whether you use the vendor's or Microsoft's driver.
      You can examine these things via Device Manager.
      Might as well try both!

      Delete
    2. Install the WASAPI plugin ...
      ... from http://www.foobar2000.org/components/view/foo_out_wasapi
      This is the best way to play all high resolution files, including DSD.
      Once installed go to the Foobar menu item Preferences/Playback/Output
      and select the Device. In your case it will be something like:
      WASAPI (event): Speakers (UD-301 Audio)
      You will see lots of new devices in the drop down menu.
      Your DAC may prefer WASAPI (push).

      Select a bit depth of 24 bits under Output Format.

      Delete
    3. Install the SACD plugin ...
      ... from sourceforge this time https://sourceforge.net/projects/sacddecoder/files/foo_input_sacd/
      Make sure to obtain the latest version.
      If you look at the readme file you will see, somewhat opaquely:

      04/29/16:
      Version 0.9.7 - DoP for ASIO/WASAPI/DS, direct DSD for ASIO removed.

      This version introduced a critical change - DoP over WASAPI. So once the SACD decoder has read the SACD data format as input ... Foobar inserts the DoP marker into the digital output stream ... and your DAC can then play DSD.
      There is no longer a need to fiddle around with asio as an intermediary.

      Installing WASAPI will get you all 24 bit formats.
      If you go to Preference/Playback/Output again there will be even more items to choose from. You probably want:
      DSD : WASAPI (event): Speakers (UD-301 Audio)
      There are lots of options you can set in Preferences/Tools/SACD but the only two I've used so far are:
      Output Mode: DSD
      Preferable Area: Stereo
      The latter lists only one set of audio tracks when you are playing a hybrid SACD.

      Delete
    4. Thank you, John! All I needed was the WASAPI driver. I installed that and selected DSD: WASAPI (push) : Digital Audio Interface (TEAC USB Audio Device) and the 2.8 MHz LED lit right up.

      Delete
    5. Thanks John! Nice work. Will have to give it a go at some point.

      BTW, JRiver works out-of-the-box all the way to DSD256 with the Windows UAC2 driver on an Oppo Sonica DAC. DSD512 available through ASIO native only.

      Delete
  5. @Archimago, I have the same DAC as yourself, TEAC UD-501.

    I have not been able to get the TEAC driver working on my PC after the creator's update, I can only assume it is not compatible. As you can imagine this is frustrating, because I can no longer run the DAC in ASIO mode. For the time being all I can do is use the Windows UAC2 driver in WASAPI mode.

    ReplyDelete
    Replies
    1. The settings I gave grumpybb for DSD playback using Foobar are those I've just configured on a LINX 1010B tablet running the Windows 10 Creators Update.
      Unless you have a heap of configuration invested in your Foobar installation I suggest you wipe it and try the DSD route without ASIO.
      Alternatively (I haven't tried this - I prefer the Ripley method for fixing problems) uninstall the ASIO proxy, WASAPI and SACD plugins and reinsert the new WASAPI SACD pair.

      Delete
  6. Everybody catching up?

    Getting very excited here in the UK now.
    The BBC are conducting a FLAC streaming trial which will extend into this year's PROM season.
    http://www.bbc.co.uk/rd/blog/2017/04/radio-3-high-quality-flac-dash

    Fingers crossed.

    ReplyDelete
    Replies
    1. Thanks John, didn't know BBC was doing this. Very nice. They seem to be pushing the bounds of streaming these days with HLG HDR video as well:
      http://www.bbc.co.uk/rd/projects/high-dynamic-range

      Yup, would be fantastic to have more FLAC internet streaming!

      Delete
  7. @Archimago

    Can I send you a Dragonfly Red for measurements at some point?

    What country are you in?

    ReplyDelete
    Replies
    1. Hi Jack. Sure, would love to put the Red through its paces.

      I'm here in Vancouver, Canada. Why don't you PM me on Computer Audiophile, Steve Hoffman Forum, or Squeezebox Forum. We can chat privately about this.

      Delete
  8. The BBC Flac stream in its full glory can also be heard outside of the UK.

    ReplyDelete
  9. Interesting discussion with Teac... http://www.absolutesound.com.sg/news-updates/why-did-teac-use-the-ak4490-dac-in-the-ud-503/

    ReplyDelete
    Replies
    1. Thank Audio, interesting piece on the UD-503. The new AKM chips have been on the front lines in competing with the ESS products for sure!

      Interesting to hear about the philosophy. Not sure if all such philosophy makes a big difference nor whether we can truly probe the mind of electricity and think about "the point of view of electricity" in too complex a way :-).

      Interesting that AKM/TEAC is putting out the impulse response of the various filters in that chart as well. Again, I'm not sure about terms like "natural", "original", "bass", or "powerful" to represent the effect of such filters... Not sure what "sound source positioning" is supposed to mean either; the effect does not make it sound like an actual spatial change IMO.

      To my ears, filters don't really make much of a difference unless they impact the frequency response in a significant way or perhaps from subtle aliasing distortions introduced. The fact that many people like NOS (filter off) suggests that the distortions are not perceived as detrimental for many. Stuff like pre-ringing should not be an issue with properly low-passed signals in any event.

      Discussed last year:
      http://archimago.blogspot.ca/2016/07/musings-digital-interpolation-filters.html

      Delete
  10. Everybody catching up?

    Getting very excited here in the UK now.
    The BBC are conducting a FLAC streaming trial which will extend into this year's PROM season.
    goldenslot
    gclub
    บาคาร่า

    ReplyDelete
  11. Well... some USB DACs work with the Microsoft USB Class 2.0 drivers but others don't even when they have the same brand USB interface such as XMOS. At least, when using foobar2000 and corresponding plugins.

    For example: the Nuprime uDSD works fine, including DSD (DoP). The ifi Nano iDSD, however, only seems to work with 16bit/44.1KHz sources. Both have the XMOS USB interface and the manufacturers' drivers are both (slightly modified) Thesycon drivers.

    Moreover, Windows 10 doesn't have the corresponding DFU drivers, obviously. So, for 'special' functionality, it seems we will still be stuck with specific drivers from the manufacturer instead of generic. This also holds true for OS-X and Linux, of course, not just Windows. And some Linux drivers are as crappy as they get, e.g. for the Pioneers N-50A and N-70A.

    I haven't tried DSD Direct (ASIO) yet though I much prefer it.

    Cheers, marco

    ReplyDelete
  12. Very good stuff, quite complete. Thanks for sharing.

    Clique Aqui

    ReplyDelete
  13. I have a HRT Music Streamer HD DAC that I used with its own proprietary USB Audio 2.0 driver in Windows 10. Last week the Windows 10 Creators Update installed its built-in driver (10.0.15063.502) and it plays 24-192 files perfectly. I emailed HRT to let them know.

    ReplyDelete
  14. Did a fresh install of Windows creators update and and was not able to use wasapi exclusive mode anymore in ROON. Too bad because ROON would not stream anything but 16/44 in shared mode.

    In exclusive mode Music coming from my server stopped after about four seconds. Solution was to install the oem driver (CM6631A_WIN10-1.01) for the Emotiva Stealth DC-1. Everything as it used to be. Tidal streaming 24/48, 24/96 again. Strange issue, anyway.

    ReplyDelete
  15. ;;My UD-501 has stopped playing DSDs in Foobar with the In_SACD + WASAPI combo. Was having problems with 16/44 using WASAPI, probably due to network buffering problems from the NAS, but updated Foobar to 1.4b1 and the latest SACD plugin as part of troubleshooting: now PCM works fine at all bitrates,including through the SACD plugin in PCM mode, but DSD mode is still very poppy/glitchy, even if playing from the local machine. Not going to do a deep dive (swapping computers, DACs, reinstalling ASIO, etc.), and not really expecting a reply: but I'll check back just in case anyone else says they are or are not experiencing same with these latest versions on the UD-501 or 301.

    ReplyDelete