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

Hi Ian, I'm wanting to join GB 2020 for a FifoPi and ReceiverPi. However, when I'm going through the FifoPi manual, you mentioned that "When you install a clock in both sockets, they have to be devices that have an OE (output enable/disable function) pin".

Is it now the clock selection could only be done by directly pulling the OE pin of the oscillators low, rather than enabling the oscillator ouput by the onboard clock buffer like FIFO II does?

Is there a way to implement the clock selection for oscillators without an OE pin like the pulsarclock?
 
Hi Ian,

I am using Raspberry Pi 4B + FIFOpi + HDMIpi + Topping D70 I2S input with roon bridge.
PCM is working very well. But DSD doesn't make any sound.
Topping D70 I2S input supports only native DSD (DoP is NG) and needs PCM/DSD change flag through HDMI 15th(or 14th) pin.
Can I output PCM/DSD change flag through HDMIpi?
 
Hi Ian,

Have you compared foobar server compared to roon? Which do you prefer?

@tubo

With Fifo and good XO clocks in my system, both foobar2000 and Roon are very good. For the same sound track, they sound a slightly different. But it's really hard to tell which is better.

I have both. I use foobar2000 for longer time and a little bit more than Roon because I have quite a few APE musics.

Regards,
Ian
 
Hi Ian, I'm wanting to join GB 2020 for a FifoPi and ReceiverPi. However, when I'm going through the FifoPi manual, you mentioned that "When you install a clock in both sockets, they have to be devices that have an OE (output enable/disable function) pin".

Is it now the clock selection could only be done by directly pulling the OE pin of the oscillators low, rather than enabling the oscillator ouput by the onboard clock buffer like FIFO II does?

Is there a way to implement the clock selection for oscillators without an OE pin like the pulsarclock?

@MadKid
You can use one pulSar clock with FifoPi without any problem. If you really want to use two, I would recommend the McFifo and McDualXO for you.

Regards,
Ian
 
Hi Ian,

I am using Raspberry Pi 4B + FIFOpi + HDMIpi + Topping D70 I2S input with roon bridge.
PCM is working very well. But DSD doesn't make any sound.
Topping D70 I2S input supports only native DSD (DoP is NG) and needs PCM/DSD change flag through HDMI 15th(or 14th) pin.
Can I output PCM/DSD change flag through HDMIpi?

Did you enable the DoP decoder of FifoPi? Was the blue LED on FifoPi lit when you play DSD?

Ian
 
I’ve been reading about Kali and Fifopi but still not sure of one thing. Do they give master clock to rpi or not? Or are they just reclocking rpi’s signal?

@Slazi

FifiPi is not only doing re-clock, it generates brand new master clock to feed to DAC and also provides isolation. But it doesn't feed the new master clock back to RPi. With Fifo lock in system, I think that is really not necessary.

Regards,
Ian
 
But isn’t there rpi’s poor i2s signal with “wrong clock freq” still? I’m using dam1021 which already has reclocking and cannot use external master clock. Is there any benefits for fifopi?

It could because of that, different from other devices, FifoPi has 64M (McFifo has 256M) huge on-board music buffer memory. So, it can tolerance more to the input music signals.

I'm using RPi with FifoPiQ2 myself all the time playing music up to 384KHz. I never got any "wrong clock frequency" issue.

Regards,
Ian
 
But if rpi use its own master clock and signal is ruined before fifopi how can it make it better? Isn’t it just polishing rubbish? What am I missing?

By “wrong clock frequency” I mean rpi’s 19,2MHz clock which is just wrong if you need 44,1kHz signal.

Rpi uses PLL to generate audio clock. The frequency won't be that bad as you thought. The only thing is that the high jitter level. That's why FifoPi improves the sound quality. FifoPi works as clock isolator. As long as music data is correct, FifoPi's output will have no business with input signals. So, I don't think you need worry about the input data, normally perfect data would be 100% guaranteed.

If you want more information about principle of FIFO, you can find the user's manual of FifoII, McFifo and FifoPi from the gitHub link below my signature.

Regards,
Ian
 
Hi !

just recently i have became a proud owner of a McFifo+DualXO (with NDK oscillators).
At the moment is feeding my DSC2.6.2...

What a Combo !

I also own a DSC2 and I surely say on my system and to my ears outperforms by a long measure the re-clocking technology used over the DSC2.

Said that, one thing that has easily proved its utility was the McFifo Display addon. I have tested it with the "classic" configuration of arduino Nano+LCD.
One thing that i have not liked of that solution (despite the very user-friendly approach) is the bulkyness and the (IMHO) not-so-great display technology.

So i have "ported" it over a much (again... IMHO) nicer package with a small OLED 128x64 (like some that is currently using ian over other products). So it became very easy-mountable on chassis and offer a better UI.

If someone is interested i have no problem sharing all the details, but, for the time sake... i will leave you with some photos and a video of the thing in action.

YouTube

Thanks IAN for such a great product !.

Michele
 

Attachments

  • 20200325_181955 (Medium).jpg
    20200325_181955 (Medium).jpg
    223.3 KB · Views: 616
  • 20200325_182259 (Medium).jpg
    20200325_182259 (Medium).jpg
    206.6 KB · Views: 608
How to get rid of RPI. I tried I2SoverUSB but it does not work

Hi,
I use a RPI4 with a FifoPi (with Accusilicon cristals) and an HDMI transmitter (from Ian too). All is plugged to a Matrix X sabre Pro MQA and it does work great using Volumio especially in async mode on the DAC. Ian's hardware really made a big difference.

I would like to go further (I have several DSD256 files) and get rid of the RPI. I tried the Asus tinker board S but I've never achieved anything. None of the 4 drivers works.
I'm trying now a JLSounds I2SoverUSB V3 card. It does work with a simple HDMI transmiter by plugging the 3 I2S signal (work in ESS mode as described in JLSounds manual) but it is not as good as using the FifoPi with the RPI so I would like to plug the FifoPi to the JLSounds card. I connected the 3 I2S signals to the FifoPI and ... nothing, no sound, no lock on the DAC. I checked and rechecked the 3 connections, see if I made a mistake in the pinouts but did not find anything. I red in this very forum that the 3 I2S signals should be enough to feed the FifoPi (in addition to power of course:)). Do I miss anything or should I check again if I made a mistake in the connections ?
Thanks for any help, Flifli
 
Hi Ian,

I enabled the DoP decoder of FifoPi.
Unlike the ESS chip, AKM's chip does not automatically judge the DSD stream, but always needs to be switched by a flag. When FifoPi is outputting the DSD stream, it is thought that it will be more versatile if the flag is also output at the same time.
I gave up and switched my DAC to Matrix Audio's X-Sabre PRO, which uses ES9038PRO. It is working very well.
Regards,
Takeshi
 
Did you enable the DoP decoder of FifoPi? Was the blue LED on FifoPi lit when you play DSD?

Ian

Hi Ian,

I enabled the DoP decoder of FifoPi.
Unlike the ESS chip, AKM's chip does not automatically judge the DSD stream, but always needs to be switched by a flag. When FifoPi is outputting the DSD stream, it is thought that it will be more versatile if the flag is also output at the same time.
I gave up and switched my DAC to Matrix Audio's X-Sabre PRO, which uses ES9038PRO. It is working very well.
Regards,
Takeshi
 
Member
Joined 2007
Paid Member
Hi,
I use a RPI4 with a FifoPi (with Accusilicon cristals) and an HDMI transmitter (from Ian too). All is plugged to a Matrix X sabre Pro MQA and it does work great using Volumio especially in async mode on the DAC. Ian's hardware really made a big difference.

I would like to go further (I have several DSD256 files) and get rid of the RPI. I tried the Asus tinker board S but I've never achieved anything. None of the 4 drivers works.
I'm trying now a JLSounds I2SoverUSB V3 card. It does work with a simple HDMI transmiter by plugging the 3 I2S signal (work in ESS mode as described in JLSounds manual) but it is not as good as using the FifoPi with the RPI so I would like to plug the FifoPi to the JLSounds card. I connected the 3 I2S signals to the FifoPI and ... nothing, no sound, no lock on the DAC. I checked and rechecked the 3 connections, see if I made a mistake in the pinouts but did not find anything. I red in this very forum that the 3 I2S signals should be enough to feed the FifoPi (in addition to power of course:)). Do I miss anything or should I check again if I made a mistake in the connections ?
Thanks for any help, Flifli
In addition to the 3 i2s cables you need a ground cable as well.

Cheers