Sound quality of Raspberry PI 2+ I2S DAC

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Raspberry sound quality even with I2S Dacs is very poor compared to dedicated hardware. Many ground issues make the i2s and usb output very crappy. Usb is shared with the network adapter which disturbs the usb data.
Dacs like the HifiBerry lack a soundstage. They feel very flat and without any "room" in the sound.
If you want hifi sound out of a raspberry you need to create a dac by yourself in mastermode, running the pi as i2s slave and creating all clocks on the dacboard. Mine makes many problems, so i tried another way :
I decoupled the i2s lines fully from the pi. This is rather simple by using an isolator ic. Then i use a fpga to recreate all clocks an resync all back again. This way the jitter, ground problems and the noise in dataline goes away. The dac itself is powered by transformators and adm7151 regulators (i used tps7a4700 in my old projects, but the new adm destroys the TI ones).
So it is rather complicated to reach hifi levels with the pi.
Of course many people are happy with pcm5102 or pcm5122 dacs that dont need the reclocking, but they afe by far not highend.
Also getting clean usb data from the pi ist rather complicated. You have to use wifi, dont use the onboard lan. Then you need a good performance isolator and best case is to reconstruct the datalines.
Dont get me wrong, i love the little pi. Its a very nice and handy product, but is not prepared for hifi use and its not really easy to change that.
 
Last edited:
@Linuxgeek,

Why are the adm7151 regulators so good, the TPS7A are ultra low noise.

Is there PCB that uses these adm IC, I just ordered a TPS7A 5Vdc regulator..:mad:

Thanks,
Eric

The Noise coming from the TPS7A4700 is about 4.7uV RMS, the ADM7151 1.6uV RMS. It's also very easy to work with them, because they are available in SOIC package that is much easier to solder than the qfn style package of the TI chips.
Of course the TIs perform very well, but the ADMs are at about the same price, so i tried them in my last projects. They are insanely well performing.
 
Also getting clean usb data from the pi ist rather complicated. You have to use wifi, dont use the onboard lan.

Why's that? If you're using a wifi adapter, you're still using the same USB bus is the network adapter, as I understand it. Certainly my experience has been better with wired Ethernet than with wifi, playing ALACs off a NAS. Wifi couldn't keep up.
 
Why's that? If you're using a wifi adapter, you're still using the same USB bus is the network adapter, as I understand it. Certainly my experience has been better with wired Ethernet than with wifi, playing ALACs off a NAS. Wifi couldn't keep up.

I'm also not sure why, but with wifi i get around 1/4 of the noise on usb compared to the wired lan. Of course only on the raspberry pi, didnt make any mesures on the pc.
 
Hi,

I thought IanCanada's FIFO II kit had this all worked out.

http://www.diyaudio.com/forums/digi...mate-weapon-fight-jitter-367.html#post4424605

Regards,
Tim

Yes, youre right, but i wanted to learn and made it by myself. I'm sure Ians implementation is even more highend, but for me its also the fun that makes it interesting. But yes, Ian's isolator is the way to go if you don't want to build it by yourself.
But as i mentioned earlier its always your personal taste. Many people are happy with pcm5122. Others hate all DeltaSigmas and go for R2R designs.
For me well implemented pcm1794s are well enough to enjoy music and this dacs are very jitter sensitive, so i needed the isolator and reclocker. Next project will be a sabre32 9018 (if i receive the chip, its hard to buy them in small quantities).
 
As many have explained here, the Pi has problems/limitations, especially for I2S output (USB output maybe not so bad).

I thought IanCanada's FIFO II kit had this all worked out.
Sure, $250 worth of FIFO/reclocker/isolator is likely to fix the problems ... but why not use a better embedded computer platform in the first place? There are 30 posts in this thread, and no one has mentioned the Beaglebone Black as a better alternative? It's the only easily available embedded computer which can accept an external master clock.
There are 2 products discussed on this forum which interface the BBB's I2S outputs with a DAC, utilising dual external clocks - from TwistedPear and AckoDAC. These products cost about the same money, or slightly less, than Ian's FIFO.

But strictly speaking, an external interface is not actually necessary. You can directly connect a DAC to the I2S outputs of the BBB, and optionally connect the DAC's clock to the clock input of the BBB - but a warning, in such configuration the BBB must NOT see any voltage on its I2S-output and clock-input connections when turned off.

i wanted to learn and made it by myself.
Since you're a "build it from scratch" kind of guy, you could probably do this direct connection scheme, and implement your own method of correct power sequencing.

There's a whole lot of buzz on the web about using the Pi as a high quality audio player. If you're going to use an asynchronous USB interface to a DAC, then the Pi is OK, and the buzz is possibly justified.
But if you want to use I2S output to a DAC, then it makes a whole lot of sense to use a better technical platform; read Beaglebone Black.
 
But if you want to use I2S output to a DAC, then it makes a whole lot of sense to use a better technical platform; read Beaglebone Black.

Or use the pi compute module and make a pkatform urself. I will try this direction, as soon as a pi2 compute module is available.
Software support for the bbb is not so good and the thread was about the pi, so i didnt mention the bbb, but your right. Still compute midule rulez :)
 
Or use the pi compute module and make a pkatform urself.
Not sure what you mean. If you're suggesting that the Rpi 2 could be modified to accept an external clock reference, that's incorrect according to all of the documentation I can find on the web. The Rpi and Rpi 2 do not accommodate such a feature.

the thread was about the pi, so i didnt mention the bbb
True. And for simple DAC solutions like the PCM5102 and ES9023 I would not have bothered to mention the BBB. But when you raise the possibility of using an ES9018 DAC I think the point needs to be noted that there is a more deserving embedded platform for such a high-end DAC. Read Beaglebone Black.
 
Not sure what you mean. If you're suggesting that the Rpi 2 could be modified to accept an external clock reference, that's incorrect according to all of the documentation I can find on the web. The Rpi and Rpi 2 do not accommodate such a feature.

Do you know the compute module ? Thats just the broadcom soc, some ram and 4 gigs of fast flash. You create the rest by yourself and you can set the rpi cm to i2s slave mode. In this mode the pi accepts an external clock, yes. Many dacs can be an i2s master, so there is no problem at all with this configuration.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.