Asynchronous I2S FIFO project, an ultimate weapon to fight the jitter

Yep, thanks, that was my understanding too ! Firstly made to transport cd driver signals chip to the dac one or from the filter close to the dac chip !

I try to to implement Ian's stuffs with the shortest links I can ! 4" between the clock 2 and the dac chip (I have a little 1 cm between the uf-l plugs of the dac pcb and the dac chip itself on my DAC !

I asked 2" uf-l wires to Ian instead 4", but he had to buy it in huge quantity to have it from his supplier and not too much people can plug their pcb with so shortest 2" ! I wanted it mainly to connect ian's multi pcb between each others !

I don't know if he could make a singl pcb with all the needs like an isolator in it ?! Could it be hearable ?
 
You are right about the Hifiberry Digi+ (this is actually my base case that I will compare the FIFO solution with).
It works already quite well, and I was surprised that it already gave a better result than the squeezebox Touch that I used until recently (and sold now :).

Were you using the Squeezebox's s/pdif outputs? That would explain it.. I have my Touch connected to my DAC(s) through USB and it is clearly superior to the s/pdif outputs. When I first tried it I couldn't believe how much better it sounded.

Anyway, sorry for the off topic.
 
Seems Ian doesn't want to input more on Crystals choice !

I finally bought in the highest frequencies I found (40/45 K) two CVrysteq 957 as the Wave I/O has always the NDK advised above !

But I would had liked a good advise on OCXO ref and > frequencies range 90/98 K Ian talked above previously !

Not cool man !

Hi Eldam,

It's very hard to find a good pair of 90/98MHz OCXO. Here is the best I'm having so far. 45/49Mhz would be much easier to source. I'll try something else once I get time. I'll let you know if there is any update.

Regards,
Ian


Run9098XO
by Ian, on Flickr
 
Hello Ian, :)

So cool :cool: , Thanks for your answer! Yes please let us know your improvement on this side please.

I bought the CHD-957 for the moment in 40/45 speed ! Have also to build the Laptech from Andrea but those are 22/24 speed and will be on his pcbs. Though I have the adaptator pcb to plug it on the Clock II as well.

I do love to have OCXO on your Clock II (without having to go for an other pcb with it) if you feel the improvement worth it as you seem to wrote (but don't know if the step can be heared on a TDA1541A !)... hopping such OCXO are not 300 USD each (can't afford it or with some non acceptable privation as stopping beers... at least, wine for me !).

cheers, have a nice day
 
AFAIK the RPi outputs regular audio & video through its HDMI port, not I2S. I mean, you will have to connect it to an AVR or a TV to listen to the audio. You cannot connect it directly to a DAC's I2S input.
You're right! I think I've been confused for some time :)

Also the RPi does have an actual 19.2MHz crystal for a time base for its clock, but it uses a couple of PLLs to generate all of the necessary frequencies using fractional division. The resulting clock has (naturally) tons of jitter. This jitter makes for jittery I2S outputs.

Indeed :)

[quote[
The Hifiberry Digi+ if I'm seeing correctly uses a WM8804 to generate the s/pdif signal, which is definitely an improvement, but it still has to work with flawed I2S signals and it can not work miracles. Plus it also uses fractional division (utilizing a single crystal), meaning it is not perfect for most sampling rates.
[/quote]
Right again =) haha.


See my answer above to jochems.. The problematic USB implementation is not an issue if the RPi has been set up properly for audio reproduction.
I'm very curious what the right setting is. As well as Archpihle, Volumio, Runeaudio, etc, have the pi set up for audio. Since I am one of the development guys on Volumio, but mostly working on UI, I haven't been really involved in that.

There are a couple of readings and own findings that makes me not want the USB i2s receiver.

Anatomy of a PI - USB Audio quality and related issues on Pi - RaspyFi
https://volumio.org/raspberry-pi-i2s-dac-sounds-so-good/
Debugging I2S audio | Crazy Audio

CrazyAudio has some nice articles too of noise levels with the USB. I prefer also to use a network cable. I already am optimising my network for that. (Not hard since I am a network guy and have all in place ;-)).

However.. the bandwidth issue is still in place with higher sample rate files. Since USB and network is still coupled on the same bus. I have read your article on your own web page (came across it :D )

So on that part, I am a bit in doubt. But the beautiful thing is, That I can still test them out both. In the DAC I got is a USB receiver with a CM6631A on it. So can still test those bandwidth issues. The Anamero I've often seen coming across could be a nice addition to add with the FIFO board in the end, if USB is a better solution.

You are right about the Hifiberry Digi+ (this is actually my base case that I will compare the FIFO solution with).
It works already quite well, and I was surprised that it already gave a better result than the squeezebox Touch that I used until recently (and sold now :).

Thanks for you and Gitaarwerk clarifying the USB issue :up:.

I still think the better way is to use the I2S out from the RPi and take it from there. There are a lot of good USB to s/PDIF solutions out there but to get close to the potential quality of Ian's FIFO (using excellent clocks and power supplies) I would have to pay for something like a Berkley Alpha USB.

In addition to that I plan to feed the FIFO clock to my DAC using it's Wordclock input. This would be an interesting experiment on its own.

No problem! :)

I am still in doubt, but it's worth testing these things.

Btw.. Wordclock is really interesting tech. I've never really used it. I used to have a home studio. But the benefits, especially years ago, were eminent. Wordclock was great to put all the devices in slave mode and have Wordclock generator as MCLK. I've heard the differences and it was really nice. When I'm reading all this here again, it's no wonder why the Wordclock masterclocks devices were so expensive.
 
I'm very curious what the right setting is. As well as Archpihle, Volumio, Runeaudio, etc, have the pi set up for audio. Since I am one of the development guys on Volumio, but mostly working on UI, I haven't been really involved in that.

There are a couple of readings and own findings that makes me not want the USB i2s receiver.

Anatomy of a PI - USB Audio quality and related issues on Pi - RaspyFi
https://volumio.org/raspberry-pi-i2s-dac-sounds-so-good/
Debugging I2S audio | Crazy Audio

CrazyAudio has some nice articles too of noise levels with the USB. I prefer also to use a network cable. I already am optimising my network for that. (Not hard since I am a network guy and have all in place ;-)).

However.. the bandwidth issue is still in place with higher sample rate files. Since USB and network is still coupled on the same bus. I have read your article on your own web page (came across it :D )

So on that part, I am a bit in doubt. But the beautiful thing is, That I can still test them out both. In the DAC I got is a USB receiver with a CM6631A on it. So can still test those bandwidth issues. The Anamero I've often seen coming across could be a nice addition to add with the FIFO board in the end, if USB is a better solution.

I have a bunch of screenshots of my RPi B+ running Archphile playing DXD and DSD128 material streaming from my NAS (using wired Ethernet) through an Amanero with no glitches whatsoever. CPU load in some cases (like with 352KHz material) went pretty high (~0.85) but the playback remained flawless.

Software setup was nothing special, just vanilla Archphile. I remember that most other distributions of the era had the problems that you describe, and that Tuxx (the creator of Archphile - full disclosure: he's a buddy of mine..) had optimized Archphile especially for low-overhead music reproduction.

I also remember that Cmedia USB interfaces were notorious for incompatibilities with the RPi. But I don't remember the exact details.

But most of these problems should be gone now, with the new beefier RPi.
 
Ah, the question that can't be asked. Well, I guess you answered it. :)
.

Yes, I did.

Because random improvements without understanding the underlying mechanisms and their effects is like throwing components in the air, seeing how they land, and listening to the circuits that result to determine the best one.

Well, indeed, you are right. But that is exactly what is possible with galvanically isolated S/PDIF through coax: you just take out the transformer and test the impact of it after re-inserting it again.

I've done a fair bit of testing in the past between Toslink and coax, although on a lesser quality DAC (Audio-GD NFB-2 and later the Arcam D-33). I've used a fire-wire based audio interface from TC-Electronic. Their DICE chip is the grandmother of asynchronous computer connections that are being so popular these days. With FW this was the only way about it, with USB its a hype right now :)
Anyway, these (non-blind, and certainly non-double blind) listening tests have convinced me that, whatever I tried, Toslink always sounded worse by a pretty clear marging. Maybe I could even spot it in a double-blind test :D
 
Were you using the Squeezebox's s/pdif outputs? That would explain it.. I have my Touch connected to my DAC(s) through USB and it is clearly superior to the s/pdif outputs. When I first tried it I couldn't believe how much better it sounded.

Anyway, sorry for the off topic.

It was S/PDIF because I didn't have a decent USB input for my DAC at that time. And still don't.

BTW I can't see why using USB out on the RPi and have an Amanero like solution to go to S/PDIF would be better than using I2S out on the RPi and using the setup with Ian's FIFO that I plan to use.
 
BTW I can't see why using USB out on the RPi and have an Amanero like solution to go to S/PDIF would be better than using I2S out on the RPi and using the setup with Ian's FIFO that I plan to use.

I'm not proposing going RPi -> USB -> Amanero -> s/pdif.

I'm proposing RPi -> USB -> Amanero (I2S) -> FIFO -> s/pdif (in order to bypass the RPi's particularly jittery I2S implementation).

Perhaps the FIFO can totally clean up the RPi's I2S output, I'm not sure. Ian can probably enlighten us, if he has tested such a scenario.
 
Wordclock is really interesting tech. I've never really used it. I used to have a home studio. But the benefits, especially years ago, were eminent. Wordclock was great to put all the devices in slave mode and have Wordclock generator as MCLK. I've heard the differences and it was really nice. When I'm reading all this here again, it's no wonder why the Wordclock masterclocks devices were so expensive.

There is a reason why the pro world has used wordclock for a long time. But the most important part is not the absolute quality of the clock generator, but rather the clocking architecture. The point where digital meets analog is where the clock reference should be coming from, so for a DAC, the DAC conversion clock should be the one driving the source timing. That clock could come from an external device, but the important part is that the DAC clock determines the overall timing. Too bad consumer gear went for exactly the opposite, with the source determining the timing.