XMOS-based Asynchronous USB to I2S interface

Wolfsin;3016263Please check out audiodesign's thread "USB to I2S: M2Tech vs XMOS vs Open-source Qnktc" for listening tests. said:
The beauty of the "Lucian Solution" is its broad applicability. Getting the full benefit, i.e. bypassing the isolator, requires external power. Even including the added jitter of the isolator it sounds VERY good. The simple message of how wonderful it is has been garbled in this thread by perfectionist musings IMO.

It is hard to 'guarantee' anything as complicated as a homebrew setup. I chose to test with a nearly ten year old version of Windows on a variety of hardware, some quite old. The DPClat program tells you everything you need to know for that platform. For Linux you might need to download the Audio Class 2 package and install it for older distros.

I do not doubt that the WavIo perfoms better then others. Though it's all relative.
All discussions, feedback and reviews apply for a single person with a unique system only - always.

By looking at the board it really seems that Lucien did quite a good job. I've been in contact with Lucien via mail earlier.

However. I did not pull the trigger.

Meanwhile (after years of being around in computer based audio) all kind of "big promise" interfaces and DACs are piling up in my workshop.

To me all this stuff becomes commodity, once you focus on certain key characterisics. Differences are becoming neglectable.


The key differentiator and key buying criteria for my next interface is how much that interface is able to cope with the input data and distortions without the need for a custom driver.

I don't want to tweak any transport or any OS or network to get the best sound from my audio interface anymore. After 5 years of actively being in the tweaking business, I can say it'll never end, unless the audio interfaces get the job done properly.

Todays computer based audio is still like gambling. Every HW change or every SW change/update/upgrade can change your audio experience significantly.

The only way to get around this mess is to get the audio interfaces done right.

If I read comments like Amarra sound better then Pure Music. Linux sounds better then Windows 7 (assuming bit transparent data transfer). Using Fidelizer lifts the sound up. Wasapi exclusive sounds best. Asf. Asf.

I'll step on the break.

Even manufacturers give you weired advise which actually show the weaknesses of their product: on e.g MHDT USBridge product page you'll find following advise "Since Windows® is not a real time system, so the lower DPC latency value will result the better sound quality. "

I'd never buy that interface.

To me the goal really is to hook up any transport to the audio interface and end up with the same sound experience.


Unfortunately I havn't read any trustworthy review or thread or product comparision, which would come up with some kind of TIR (Transport Immunity Ratio) evalution. ;)
 
Last edited:
The only way to get around this mess is to get the audio interfaces done right . . . To me the goal really is to hook up any transport to the audio interface and end up with the same sound experience.
Well, who's going to dispute that? But the facts are that we haven't got near that goal, that even those who develop and implement the likes of asynch protocols for USB audio admit that cables, OS configuration and similar variables can and do affect the sound and that where to go from here is by no means clear due to what John Swenson usefully called "second order effects" - see e.g.

Comparisons with other interfaces - John Swenson - Computer Audio Asylum

How can USB performance impact audio quality? - John Swenson - Computer Audio Asylum

Meanwhile, those of us who want to listen to our music libraries today and tomorrow, not only at some remote point in the future when designers have fixed issues they cannot currently identify let alone resolve make do with what we've got.

You chose to abandon an earlier "must have" route - a low-powered Linux box - and chose instead to modify the Squeezebox with, according to reports on the forums, considerable success. So I'm slightly surprised to see you looking anew at a PC interface before deciding publicly that it has little to offer.

Incidentally, I may well have missed the argument but I'm curious why you lay such stress on an interface not needing a "custom" driver. I'd generally seen custom drivers as a way of by-passing native OS audio software and its limitations and thus probably "a good thing".

Finally, my WaveIO board arrived yesterday - many thanks. After a few days to install it properly, I'll report back on how it compares to Doede Douma's USB-to-I2S interface c/w TentClock, a design that was good in its day but is now rather dated. (In any case, the board died on me or, to be more honest, I accidentally fried it.)
 
You chose to abandon an earlier "must have" route - a low-powered Linux box - and chose instead to modify the Squeezebox with, according to reports on the forums, considerable success. So I'm slightly surprised to see you looking anew at a PC interface before deciding publicly that it has little to offer.

My low power Linux box doesn't sound worse then the Touch via USB btw.

The driving factor to jump on the Logitech train was and still is the IMO best
server and control multi client environment out there. And all that free of charge.
Todays PC based Squeezebox player solutions make it even more flexible.

Unfortunately the SBT project turned out to become a tweaking nightmare as much as my PC journey the years before. Actually it got worse.
Now the network and server had to be tweaked on top of the actual transport/renderer. To be honest. I didn't expect that to happen, when I started the journey.

My current setup sounds really good to me. However. If I'd get access to a solution which performs extremely well without all those upstream tweaks
I'd go for it.

One of the main problem is that the majority of engineers just don't seem to have answers. I'm even wondering if they know the questions?? Probably not.
Many of the engineers out there are PiggyBackers to a certain extent. They just license USB interface solutions. That's why we IMO don't see much progress out there.

In fact they tried to sell for the last couple of years Async USB as the holy grail of PC based audio. Obviously they were wrong - proved by the (ten)thousands of PC tweaking people out there. Those people probably spend countless hours and more money on the tweaks then on the audio interface. The latest insanities are >400$ USB interfaces and audio grade SATA cables.


Then what's the actual poblem? Why does sound any PC setup different?

IMO there is no clear answer yet. For sure there are many factors.

However. I'm positive that we'll see a solution sooner or later.

From what I read WaveIo means another step up. That's good to see.

Incidentally, I may well have missed the argument but I'm curious why you lay such stress on an interface not needing a "custom" driver. I'd generally seen custom drivers as a way of by-passing native OS audio software and its limitations and thus probably "a good thing".

1. Custom drivers usually lock you up on certain environments
(Try Linux, iOS or soon Android, sometimes Windows only or MAC only,
sometimes they are tight to certain OS revisions.)
Your flexibility goes down the drain.
2. Custom drivers increase cost for the manufacturer (build and maintenance!!)
And guess who's gonna pay the bill.
3. Custom drivers pretty much by-pass the audio interface limitations first of
all.
Spinoffs like 32/384 are nice-to-haves for <0.001% of the users out
there. Though those features seem to work well as sales argument.
4. Custom drivers usually mean much shorter livetime for your device.
Especially if you count on very small niche manufacturers.
5. There's probably more...

A nice example is the new M2Tech Hiface II. It's now "driverless" (custom driver is history). Guess why? From now on supporting HiFace I drivers, will be a pain in ... from a
M2Tech perspective. All those people who bought the Hiface 1 and other OEM devices based on that HF-1 can start praying for long term support.

Cheers
 
Last edited:
Hmmm...

"I'd never buy that interface.

To me the goal really is to hook up any transport to the audio interface and end up with the same sound experience."

Well, I think that you may be waiting an indefinitely long time for that. Transports have always mattered, and probably always will matter. While I agree with your sentiment, I suggest that it is unrealistic. But, the advent of well designed asynchronous interfaces has reduced the impact which the sending computer has on sound quality.
One thing I am confident in, is that current SOTA asynchronous USB interfaces make it pretty easy to achieve digital audio performance which surpasses the performance of playing a physical optical disc, either using a Mac or Linux server without any drivers necessary. Additionally, we have now gotten to a level where 32/384 and DSD playback is possible without additional drivers on both Mac and Linux, and the pace of development is quite high. Considering the youth of high end computer audio playback, I am quite impressed, and do not see myself going back to optical discs ever.

RE: drivers, vs USB class 2 compatible interfaces, it is interesting to note that M2 Tech has now adopted the driverless (I assume XMOS based) approach for their HiFace 2... So much for the idea that a custom driver based solution is inherently superior...
 
Here's to the sceptics

I love scepticism, it gives rise to the very best sorts of "belly laugh" humor. My sides ache and I feel your pain.

As long as the final output is as hard to measure as sound quality there will always be snake-oil salesmen selling "audio quality" sata cables ;) I suspect there will be mass produced, all in one, portable bit-perfect playback devices -- my Roland Edirol amplified through "the wire" into HD-600s sounds pretty good but . . . I would prefer balanced output and 96kHz is limiting and the SSD is limited to 32GB and . . .

Tweaking digtal is a fools errand when bit-perfect i2s with picosecond range jitter is available for a hundred Euros.
 
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.
 
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.
 
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.
 
Last edited:
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.
 
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.
 
. . . 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.

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.
 
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:
 
Last edited:
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.