Can a raspberry Pi be used to reliably stream high quality audio ?
The Raspberry Pi.
This question really has two parts.
One, can you stream audio to the raspberry Pi reliably and without any dropouts?
Two, can you output the audio to a quality DAC maintaining the integrity of the high quality file being streamed?
The USB and ethernet ports.
I have been playing around with this part time for a couple of years and now that the Pi 2 has been released I thought I'd better write it up before it's completely out of date!
All of this has been done as an enthusiastic amateur with no real computer experience to speak of, so please don't judge me for using incorrect terminology or going about things the long way round.
The answer to part one is a resounding yes. Audio can be streamed to the Pi with no problems whatsoever. This can be done using ethernet or wi-fi, although wi-fi is obviously signal strength dependent. The wi-fi is achieved via USB.
USB wifi dongle.
There are a number of specifically designed operating systems for the Pi which allow you to do this.
At various times I have used Volumio, previously RaspyFi, and Rune Audio. I switched between these for reasons of DAC and audio card compatability.
The Runeaudio web controller.
Part two gets a little more complicated.
Audio can be passed from the Pi to a USB DAC fairly easily and there are a good selection of high quality DACs that will work out of the box.
The ever popular Chord Hugo DAC.
There are however limitations related to how the Pi processes all this data.
The USB and Ethernet ports are processed through the same bus which means that if you are trying to stream 24bit audio into the Pi and output to a USB DAC, you may experience audio dropouts to the point that the music is unlistenable.
To resolve this issue, I would recommend using a raspberry pi audio card. Such as the HiFiBerry DIGI or the Wolfson Audio card. These connect to the Pi using the GPIO (general purpose input output) pins, not the USB and therefore you can stream high definition audio through the Pi and output through a coaxial or optical connection.
This also allows you to use non USB DACs to convert the audio.
The Wolfson audio card, installed on the Pi in a custom case.
I chose to experiment with the Wolfson card which turned out to be a small error as the drivers haven't yet been incorporated to the main raspberry pi kernel, meaning I had to use specific operating systems.
This is where Rune Audio came in very handy as they have built a kernel for the card. The HifiBerry is much better supported as the drivers have been incorporated into the main raspberry Pi kernel.
If you are hoping to use internet radio on your Pi, then I would suggest installing Squeezelite on top of whichever audio OS you have opted to boot your Pi with. This will allow you to get internet radio through Tune In, meaning that the BBC streams won't stop working at random intervals.
The Logitech Media Server Controller used for controlling Squeezelite in a web browser.
Now the important bit. Does it sound good?
The sound is quite impressive considering how it is being achieved.
However, if you compare to a proper streaming product, then there is no contest as to which sounds better. Having compared both the Naim UnitiQute 2 with the Pi + DAC-V1 and the Cyrus Stream XP2QX / 6 DAC with the Pi / 6 DAC, in my opinion the proper hifi streaming product sounds significantly better in both cases. As you would expect really.
A selection of DACs that can make the Raspberry Pi really sing.
In conclusion, I've had some fun playing with code and trying to get this to work and as a second system it really is very usable.
It is never going to replace your real hifi though.
The "Streaming Pi" in it's case.
A lot of the stuff I have used is community maintained or developed for free. If you find any of this software of use, please donate to the developers.
Raspberry Pi B rev 2 512Mb RAM
Operating Systems and Sofware used
Volumio (formerly RaspyFi)
Squeezelite. For the Raspberry Pi use the arm6hf download.
Thanks for reading.