RaspyFi - Pi never sounded so good
raspyfi.com
raspyfi.com
Setup was perfect, as per the instructions without anything weird popping up (which has happened on every other Pi project I've done)
Streaming FLAC from a network drive was jumpy, so I bought a USB drive to plug in which is loaded with my FLACs.
The Pi is plugged into a Scot Nixon USB Chibi DAC, and then a Rotel 1080 pre and power amp.
I did some A/B tests comparing the Pi to an Airport Express running RCA's directly into the pre amp, and the difference is huge. Lower noise floor, much better separation, and a lot of detail. I'd suggest anyone who's wondering should give it a go. Also the mPad app on iPad and iPhone works perfectly.
I wonder why this isnt more easier, people love to listen to music, from various sources to various speakers, sometimes I want to play it perhaps on my phone whats available on the raspfi, and sometimes to play what is on the phone but not on the NAS/usb-stick through the raspfi connected speakers (without attaching wire to the phone), and this solution seems to falter here... and sometimes I would like to give control of the playlist to a friends phone, or play the music on his device through mine. Why are these scenarios so difficult to do, it is 2013 and we have all the pieces? And yet it is such a hassle. (How come everything sucks so much?)
Ive been trying for years now, without success. Its always some library or quirk thats missing. Tomahawk-player is the best I came so far, together with DLNA, but it doesnt have a good android client yet.
Some of the things you mentioned can be already done. A friend of you can enqueue songs on raspyfi's playlist. The PI can handle 10 simoultaneus clients connected, that means also collaborative play queue. Hope you're enjoying RaspyFi
I've used a 3.5mm to RCA cable to connect my computer to external speakers before - is there something about the Raspberry Pi that would make this cable a bad choice, or is using a DAC just an overall better choice for good sound quality?
I get the impression that these people are not "golden ear hifi idiots" but are calm, sensible, people reporting actually hearable noise.
As usual, it depends.
In this case on how good the DAC and filtering is on the Pi. All an external DAC does is move the concern away from the computer's built in DAC therefore avoiding any noise and obvious distortion. It costs only a few $ so I'd imagine the DAC/filtering is crap on the Pi.
However, if it sounds ok to you, it probably is ok. This is the main thing as listening is subjective.
You can spend a fortune on making it sound better quality but there is little return on this. Most of it is just prattery and rip off merchants.
From a recording versus listening point of view: don't worry too much. The content is more important than the device reproducing it. Also the device that produced the sound initially and the device that recorded it isn't necessarily all that good quality and neither was the mixer monkey who compressed it to fuck.
Directly connected audio on the Raspberry PI is through a PWM output and connected low-pass filter. It's implemented as a 10-bit timer (or so...) that overflows at the audio sample rate (e.g. 48kHz), and the control value for the PWM are the audio samples that are fed to the PWM block via DMA.
http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM283... (page 138)
http://www.raspberrypi.org/wp-content/uploads/2012/10/Raspbe... (page 2, lower right)
Basially this means that...
1. audio sample rate is limited to 48kHz because of the sample-rate/number-of-bits tradeoff (it is not a real problem at all, but looks weak in a "audio DAC" comparison)
2. dynamic range is limited to 60dB, around the quality of cassette tapes because we only have 10 PWM bits
3. the PWM signal (square-waves) will have many high-order harmonics which are not filtered well by the simple RC lowpass. Some of it might be mixed back into the audible range by nonlinearities in your amplifier or your loudspeakers, or at least waste power and unnecessarily heat up your amplifier. Especially with Class-D (?) switched amplifiers this might be audible.
thanks for the technical information.
I've tested the output with a sound-card (M-Audio Delta 44, via a Yamaha MV12/4 Mixing console as preamp) that has (at the test-settings) a noise-floor of ~-130dB/Hz. If I let the raspberry-pi play a sine-wave, I get harmonics at ~60-66dB down from full-scale.
I suspect that this is unshaped quantization noise, so this would compare the suspicion that the PWM resolution is 11 or 12 bit.
Here's a screenshot of a frequency analyzer plugin running while recording the audio output of the RPI, for comparison I put in the same sine being played by the 16bit DAC of my mobile phone, here the harmonics are down -90dB or more.
https://picasaweb.google.com/lh/photo/fWlV5aan-94e9GOpXJaLm9...
Sinewave has been generated with the command
$ sox -n -t wav - synth 60 sine 1013.0 | aplay
on the raspberry pi.http://www.hackerposse.com/~rozzin/journal//whole-home-pulse...
Also, any chance of an arm port of some room correction dsp software?
"Yes, it's possible indeed. To use HDMI output on Raspberry Pi, instead of the analog jack just type (in SSH) amixer cset numid=3 2 or sudo amixer cset numid=3 2 (without a USB DAC plugged in ) " http://www.raspyfi.com/forum/wish-list/hdmi-out-to-use-recei...
Bits are bits - plug the hdmi into your receiver and you are done. Not sure why there is such a focus on USB dacs on the site...