diyAudio

diyAudio (https://www.diyaudio.com/forums/index.php)
-   Digital Line Level (https://www.diyaudio.com/forums/digital-line-level/)
-   -   XMOS-based Asynchronous USB to I2S interface (https://www.diyaudio.com/forums/digital-line-level/188902-xmos-based-asynchronous-usb-i2s-interface.html)

rsdio 12th May 2012 01:16 AM

Can anyone explain how a custom driver can deliver better than bit-perfect data?

A proper USB Audio Class Device will have clocking in the DAC circuit, not the computer, and thus the computer is supposed to be slaved to the USB device. In such a situation, there is no way that a custom driver can improve upon proper USB Audio Class (UAC).

Granted, with Windows not supporting UAC2, it's a choice between a custom driver or no driver, but that's a different situation. On Mac OS X, the entire audio system fully supports the best audio with no need for a custom driver.

Telstar 12th May 2012 10:16 AM

Quote:

Originally Posted by rsdio (https://www.diyaudio.com/forums/digital-line-level/188902-xmos-based-asynchronous-usb-i2s-interface-post3020417.html#post3020417)
Can anyone explain how a custom driver can deliver better than bit-perfect data?

A proper USB Audio Class Device will have clocking in the DAC circuit, not the computer, and thus the computer is supposed to be slaved to the USB device. In such a situation, there is no way that a custom driver can improve upon proper USB Audio Class (UAC).

It can support additional features that the interface has (i.e. hw buffer settings, higher sampling rate)... but idk exactly how extended is uac2 specification, and what can be added to a xmos board.

PET240 12th May 2012 11:36 AM

That's a neat video, is it to be a kit?
What dac is it running?

Thanks,

Drew.

Ryelands 12th May 2012 02:56 PM

Quote:

Originally Posted by rsdio (https://www.diyaudio.com/forums/digital-line-level/188902-xmos-based-asynchronous-usb-i2s-interface-post3020417.html#post3020417)
Can anyone explain how a custom driver can deliver better than bit-perfect data?

It can't - and I'm not sure that anyone seriously suggests it might.

As I understand things, "bit perfection" usually refers to data integrity, not to data timing - the zeroes is zero and the ones is one and there you go and what's your problem?

In a sense, data that have been upsampled are no longer "bit perfect" though many argue that e.g. upsampled RBCD data better represent the source than raw RBCD.

However, it is my understanding that the term usually refers to by-passing the manipulations often performed by an OS (be it OSX, Windoze, Linux, whatever) to make PC-based sound readily accessible. With a modern OS, data from a variety of sources almost always produce a more-or-less acceptable sound, be the source a You-Tune clip, a 24/192 Hi-Res download, an RBCD, one of those dreadful "sounds", etc etc by converting them to 48KHz regardless.

For most users, that's just what they want but the process does degrade good audio data. A useful first step for the audiophile is therefore to disable such manipulations and ensure that data are "bit perfect". It's certainly a start.

But - and it's a big "but" - because PC-Audio is a real-time process, data timing is equally critical even though readily degraded by a variety of electronic pollutants, aka noise. A good custom driver addresses that in a way that is harder for stock drivers, limited as they are by other constraints.

Why and wherefore software design is pertinent is a bit of a minefield but, as a test that I found convincing, try a commodity-level USB DAC with XP stock drivers then replace the latter with the Ploytek/AQVox USB driver. That the difference is pretty marked is readily apparent.

Asynch protocols as used with the WaveIO are significantly less sensitive to extraneous pollution than others but, as designers stress, even they are not immune. Hence the benefit gained from better PSUs, better cables (not the same as "expensive" BTW) and the rest.

I've posted this link on other forums but there's an authoritative if now slightly dated summary of the "real-time" issue to be had here:

The D/A diaries: A personal memoir of engineering heartache and triumph

Incidentally, Vista's audio drivers were written for MS by a much respected pro-audio consultancy, that presumably being the reason why they and, by extension, Win 7's drivers are reputed to sound better than XP's. To go outside for them was IMO a correct decision by MS but it follows that, again in a sense, the so-called stock drivers are pretty much custom from the off.

soundcheck 12th May 2012 06:24 PM

There are obviously different ways of implementing USB audio.

Most of the time you'll see receiver chips which need some workarounds on the
PC side to get going.
Especially if you e.g. don't want to use Thesycon driver for Hires under Windows.
You might also need drivers to set certain modes such as resample rates, buffer size asf.

But there are also implementations which support e.g. "asynchronous bulk" transfer modes
to decouple the audio interface even better from the PC mess. (see Musiland, I think also EXA and Hiface I)

The way the driver respectively the transfer mode is implemented can have quite an
impact on the sound quality. Even if the bits are the same.

qusp 12th May 2012 07:51 PM

surely in such modes it only really matters how its clocked out of the buffer?

rsdio 14th May 2012 02:42 AM

Quote:

Originally Posted by Telstar (https://www.diyaudio.com/forums/digital-line-level/188902-xmos-based-asynchronous-usb-i2s-interface-post3020687.html#post3020687)
It can support additional features that the interface has (i.e. hw buffer settings, higher sampling rate)... but idk exactly how extended is uac2 specification, and what can be added to a xmos board.

I suggest that you study the UAC1 and UAC2 specifications. I have. Such settings as sample rate, or anything related to buffers, are already easily handled by existing parameters in the generic Audio Class. Granted, some USB specifications are poorly done, but the Audio Class documents have not left out anything necessary for ultimate quality audio.

In my estimation, custom drivers are only used by USB audio designers who cannot handle the task of developing the appropriate firmware and drivers. A big caveat here is that Microsoft have dropped the ball on providing a UAC2 driver, whereas Apple has provided their customers with a Class driver that can serve all of their audio needs. For a third party to invest in driver development that Microsoft should have done, well, that's a significant business expense that most companies are rightfully reluctant to fund.

EDIT: If you wanted to handle something really odd like 12-bit audio or 20-bit audio, then UAC would be rather inefficient - you'd be forced to use 16-bit or 24-bit audio samples and waste bits - but these are not what I would called limitations in the audiophile perspective.

Ryelands 14th May 2012 10:50 AM

Quote:

Originally Posted by rsdio (https://www.diyaudio.com/forums/digital-line-level/188902-xmos-based-asynchronous-usb-i2s-interface-post3022398.html#post3022398)
. . . custom drivers are only used by USB audio designers who cannot handle the task of developing the appropriate firmware and drivers.

Sorry if I'm being dumb but I can't follow your argument here. What's the essential difference between a USB designer who develops his/her own firmware and drivers on the one hand and one who licences from the likes of Thesycon or Ploytek on the other? (Except of course that the latter are likely to be much cheaper and give the designer access to significant expertise.)

Also, taking your word on the fact that the USB Audio specs are all-inclusive (I've read some of them but not carefully), I don't see how it follows that Apple's implementation of those specs is, as you seem to imply, perfect almost by definition.

Quote:

On Mac OS X, the entire audio system fully supports the best audio with no need for a custom driver.
The notion that Apple's audio software was, unlike those clunky PCs, as good as it could ever be was aired almost daily by a small group of Mac users on AA's computer audio forum a year or two back. It took a knock when a music-player program called Amarra - which cost more than my entire PC audio system (inc custom driver . . .) - was released.

There's now a thriving market in after-market (custom?) players for the Mac with users anguishing over soundstage (depth, width and height all according), "inner detail", ambience and all the rest with a zeal that makes some of us PC wallahs queasy.

Granted, a few iTunes devotees (curiously, mostly programmers) can still be heard muttering under their breath from time to time but the emerging consensus is that Macs are prone to much the same issues as PCs once the user starts to push the boundaries.

In short, I'm not saying you're wrong but I'm not convinced you're right either.

triode_al 14th May 2012 01:09 PM

Quote:

Originally Posted by Ryelands (https://www.diyaudio.com/forums/digital-line-level/188902-xmos-based-asynchronous-usb-i2s-interface-post3020878.html#post3020878)
Incidentally, Vista's audio drivers were written for MS by a much respected pro-audio consultancy, that presumably being the reason why they and, by extension, Win 7's drivers are reputed to sound better than XP's.
To go outside for them was IMO a correct decision by MS but it follows that, again in a sense, the so-called stock drivers are pretty much custom from the off.

Microsoft is the largest law-firm in the USA. Patent lawyers. And they will negotiate down the license cost of any good component, and have a approximate replacement in the drawer. Always after going outside they go inside their own copy-cat lab.
This means endless downgrading of components, but nobody ever complains. It is called a monopoly position.
So I don't understand your complaining. :confused:

ENSen 14th May 2012 01:28 PM

Finally got my WaveIO up and running. Since I have a two week baby at home I have not had the time to do any serious listening yet but first impression is very good.

I am using a Alix board with Voyage mpd as source and for some reason ALSA always mute the WaveIO. When I connected my other DAC it was not muted. To solve this I added the following lines to /etc/rc.local

amixer -c 0 sset 'Luckit Clock Selector',0 100% unmute
amixer -c 0 sset 'Luckit Clock Selector',1 100% unmute

Thought I would post this in case someone else will use ALIX (or other Linux installations) and run into the same problem.


All times are GMT. The time now is 09:06 AM.


Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2020 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 17.65%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2020 DragonByte Technologies Ltd.
Copyright ©1999-2020 diyAudio

Wiki