XMOS-based Asynchronous USB to I2S interface

Finally, a glimmer of understanding. Thanks. So capturing the output of my Oppo i2s pcm of an SACD really provides all the information available?

Mow I would like to cut through what for me has been confusion. I have the simple choice of providing a small amount of power to the GMR, achieving isolation, but at a cost of added jitter or powering the entire WaveIO and using the non-isolated but lower jitter output. The second alternative seems superior.

Without redesign is it correct that those are my choices?
 
What is the deal with driver updates, will thesycon provide these or how is the
"next" operating system supported?
Drivers for WaveIO card are customized according to its USB VID/PID and other specific informations. If a new release is available from Thesycon then I'll customize the drivers and make it available for use.

Is there anything in your hardware that limits the ability to apply the firmware changes
unfortunately it will not work if you have only the executables due to few pinout switches in my application. Should I reconsider this and make this board fully compatible with XMOS design?
Regards,
L
 
Forget my WHQL notes.

The point of WHQL was to allow developers to keep their source code secret while avoiding support issues for legacy components. The choices you make should have much to do with your plans for WaveIO as a product and how much support you foresee providing in the future.
 
So capturing the output of my Oppo i2s pcm of an SACD really provides all the information available?
Theoretically, yes. However, keep in mind that the Oppo may be applying digital filtering in the process of conversion from SACD/DSD to PCM, so it is not necessarily a lossless translation in all implementations.

Personally, I see the whole SACD process - from the start of recording to final playback - as more severely limiting than PCM. Thus, I would not worry too terribly much about lossless translation. Granted, many great A/D chips are sigma-delta at heart, and thus they are translating to PCM on the fly. You do get whatever 'coloring' is imparted by the particular A/D, but we are already accustomed to thinking of the A/D as an imperfect piece of the system. Using the Oppo PCM output just means that you've combined a little coloration from the original sigma-delta DSD A/D chip as well as any digital filtering from the Oppo PCM translation. It's not necessarily worse than any other PCM A/D, it's just a hybrid; and the key is that another SACD player with digital outputs might give a slightly different stream of data.
 
@rsdio Thanks. Now I understand why going from DSD to PCM workz but 'tutherWay doesn't.

WaveIO is perfect for diy applications where the same power supply can be used for it and the DAC. If this is not the case please tell me not to proceed as planned. It seems to me that the key to the common power supply may come down to a single set of rectifiers and multiple regulators for the case where 3.3, 5 digital, 5 analog, . . . are required. An eBay seller (item #270567301199) provides a modular solution for providing multiple different regulators with a common ground. Connection to WM8740(s) almost doesn't require more than a tiny adapter pcb with bypass caps and possibly ferrite beads if you feed the analog outputs into, say, a BAL-BAL 'wire'. I will test this conjecture soon after wiring an Opus, then Opii :D

I am assuming that having the frequency pins broken out allows me to make adjustments to the DAC registers (if required) using i2c. Setup is easy once you have thrice (re)read the email, cleared away pages of jitter posts from your brain, and thought about how it fits into your system.
 
@rsdio Thanks. Now I understand why going from DSD to PCM workz but 'tutherWay doesn't.
I really hope my comments are somewhat on topic, and in any case I'll try to be brief.

Going from PCM to DSD works just fine. In fact, some PCM DAC chips use this technique internally without really making it apparent. A DSP or FPGA can simply run the DSD output at a much higher rate than the PCM (but DSD is always at a ridiculously high rate), and basically increment or decrement a register until it matches the incoming PCM sample value. The output of the DSD converter is a single bit at each super clock saying whether an increment or decrement was done.

Granted, PCM to DSD requires a 6 dB/octave lowpass across the entire signal bandwidth (so, at a maximum, 20 Hz and higher, if not then starting even lower than 20 Hz), but this can be done as a digital filter, and in any case it's exactly the same requirement as in the analog stage of a DSD ADC.

So, I guess it depends upon how you define 'workz' - if the lowpass is acceptable then PCM to DSD is rather straightforward. Keep in mind that SACD and DSD grew out of a period in the industry when nearly all A/D and D/A was handled internally as sigma-delta. Sony simply asked "why convert to PCM and store that when you can just store the raw bits from the converter?" Trouble is, converter technology has moved on since that window of time when everything was pure sigma-delta, and now DSD is stuck with one size hammer.
 
I really hope my comments are somewhat on topic, and in any case I'll try to be brief.

Depends how strictly you apply 'on topic'; regardless I have found them a great read, thank you!


unfortunately it will not work if you have only the executables due to few pinout switches in my application. Should I reconsider this and make this board fully compatible with XMOS design?
Regards,
L

The design choices are all yours, I was just wondering what future upgrades to the firmware might be possible. DSD is way down my personal list of priorities in any case. Reading between the lines you've made these changes based on a need to achieve a better layout. I would certainly prefer not to compromise the layout to add a feature that may well not be used very often, if at all.

I am now in the queue for a WaveIO of my own too!
 
Last edited:
Wolfsin's test plan was broken. The DDE3 expects 16 bit words and it is his guess (given that it will not synch) that the word length is wrong or a signal is inverted. Anybody tried the AudioAlchemy yet?

I am pretty sure that bitclock is inverted I know one of them is inverted, I can send you a schematic for my DDE DAC which shows all the glue logic required to make its "i2s" input compatible with its PMD100, its rather amusing. I am not sure how it would handle the 64bit words as the thing runs at 256fs. Honestly though not sure why you are messing with AA I2s, their implementation is very poor and archaic to todays understanding of how to deal with jitter.
 
Every other i2s DAC is freshly built and untested :eek:

WaveIO is getting a stream and signaling the right frequency so I might forge ahead and lash up an Opus with a shared power supply and test everything at once but it is against my nature :confused:

trust me the AA alchemy "i2S" is far from a control :h_ache: Mine is probably going to be attached to the waveio when I find a good I/v stage, but I am almost positive there is an inverter for on of the lines that shouldn't be there, I think the audiasylum faq has info. Their engineers had some theory that one of the i2s lines had to be inverted for "jitter free" transmission, never mind the 20 some odd glue logic ic's for compatibility with the pmd100 without any reclocking:rolleyes: Read one of the magazines at the time that their i2s dacs had the worse jitter measurements of any DAC they ever came across.
 
Last edited:
And how exactly did you commission your first i2s dac? :D

I have presented the plan, then the DDE3 part of the plan flopped, so now I'll need to summon the courage to face up to commissioning my first i2s DAC along with a shared power supply that emitz 7.5 and 5 volts ALL@THE SAME TIME. I think the stars will be in correct alignment for that to happen smoothly on April 1st!

Thanks for filling me in on how truly wierd i2s in the DDE3 might be, @regal. If you ever get yours working with WaveIO please post the recipe for your magic potion.
 
Driver Set up with CMP CPLAY

zoka959: It's working flawlessly, absolutely stable and no error messages.
While I'm at it - there has been a comparison with a competing product - KingRex UC192. Long story short, the difference was night and day. Three audiophiles other then me were present and they didn't have a clue which one actually should be better. They picked WaveIO as the better one just in few seconds.

I am curious. How is WaveIO set up when using Cplay or other players that expect ASIO driver.
I believe the Luckit/thesycon driver presents as an ASIO 2.1 driver?
Does it work along with your existing ASIO driver?, or does it replace things like ASIO4all
 
Last edited:
Isolated SP/DIF & debug

When you would like to be sure the bitz are flowing across your USB but i2s is not yet working, the isolated coax may be just what is needed. Keep in mind there are many ways to configure audio under Winderz such that bitz will not be flowing and trying to debug Opus i2s will NOT be productive under those conditions :-(

It appears that coax ground is the circular pad. It also appears that SP/DIF will always flow so for equipment that accepts only jittery bits this may be useful.
 
@rsdio What I meant was that whatever was being emitted from i2s (isolated and/or non) would also be emitted from the transformer isolated SP/DIF. Thus my Apogee (re)clocked BB1704 DACs can continue to receive bits (nearly) when the WM8740 DACs receive theirs. The WM8740s can benefit from the WaveIO i2s low jitter whereas the BB1704 system would require serious mods to even accept i2s directly. As a practical matter all this will do is allow me to listen to one while the other is 'down' for tweaks or possibly allow A-B switching for comparisons during playback. I can also easily imagine two listeners enjoying the same material with headphones even though one requires (or prefers) quite different equalization for hearing loss correction.

What I had not noticed previously is that bits get sent out in three streams and there may be uses for this beyond what I noted above. Using both i2s outputs does require providing at least one common power source but the isolated SP/DIF does not, so is more compatible with components over which the user has less freedom or control.
 
Some years ago I have received some samples of the Wolfson DAC chip WM8740.
Last weekend I have compare this old WM8740 with a new production buy on Ebay shop in China and there are lot of differences.
The new chip give a bad sound very acid, I have thinking about a fake but other chips buy at the same Ebay shop like the AD1955 sound good like the old samples.
Now I am using the AD1955 to test and compare the M2Tech I2s with Qnktc Open source I2S.
 
Last edited:
Good choice, Do!

Some years ago I have received some samples of the Wolfson DAC chip WM8740. . . Last weekend I have compare this old WM8740 with a new production buy on Ebay shop in China and there are lot of differences. The new chip give a bad sound very acid

Thanks for adding to the NOS mystique :D The volume of DACs using the 8740, many with four pieces each is amazing. I had assumed that was a result of the very large price difference between the 8740 and 8741.

I must report that I am totally satisfied with your WaveIO. Pinnocchio has decided to add to your backlog after I went on about how amazing they are. Thank you for all the hard work you put in to make this wonderful product.