Streaming music server sound quality compared?

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
That's not quite the full story.

There are some more angles to look at it.

1.
If you decode or do DSP on a server you get higher load on the streamer due to higher network activity. The amount of streamed data simply increases.
There's no guarantee that the server based decoding/DSP is always the best solution.


2.
Timing is another issue. "Realtime vs. offline processing".

My guess. Most setups out there do realtime processing/streaming. There are other options!

What I'm trying to say. If you'd decode a flac prior to playback, that's what I call "offline" processing, the load on the streamer gets as good as it can get during playback.
squeezelite can be configured to run "offline" processing. You basically increase the output buffer to a couple of 100MBs (not to be mixed up with the Alsa output buffer).
This buffer will hold the entire preprocessed (32bit) data. A 100% data file "bulk" processing will take place at the beginning of the track.


E.g. take the decoding of a flac.
A flac will be fully decoded at the beginning of the playback.
It'll take just a few seconds. The output of that processing phase gets 100% stored into a RAM buffer. You'll find a CPU load during most of the playback phase that is hardly measurable.
On the other side, running realtime processing, as simple as decoding a flac, can easily get you up to a couple of % CPU load over the entire playback period.
The realtime decoding process simply faces a lot of "hold&wait" states, cranking up the overall CPU load.

You can do the "offline" processing on the server or on the streamer. Both
approaches give you a minimum load during playback.


If you do more then just decoding a flac, like doing serious upsampling,
you better let a powerful server do the job. That's IMO nothing a RPI should do. You'll see the RPI load skyrocketing. I've done the benchmarks.
However.
I also ran some benchmarks on the PI "more streaming data vs. local flac decoding". If you'd stick to simply decoding a flac, my preferred solution is to do that "offline" flac decoding on the streamer nowadays.
There' IMO no reason to let the server do that - at least on my current RPI/squeezelite/DAC setup.

Why DAC? What role plays the DAC? My former DACs where performing better with 352k8/384k data.
Therefore I did the upsampling and decoding on the server.
Nowadays my new DAC works very well with 44.1 data. That's why I now run the decoding on the PI.

I always look for the most efficient approach. It's always about finding a better compromise. ;)

Enjoy.
 
Last edited:
Hi all,


I just wanted to share my experiences so far.
I've used Daphile for 5 years at least. It's perfect for my needs and my setup, which is not high end by any means, but it sounds good to my ears and I'll stick with it for now. Only downside for Daphile is that it is developed only for x86 platform and there is no arm based image. I do happen to have a micro PC (Dell Optiplex FX160, Atom based) and a cheap generic USB DAC which I've modified somewhat to enhance its performance. Daphile is controlled via web interface and a proprietary CLI (used by remote control apps - Squeezer for Android, for example). It supports a lot of things: internet radio, usb storage, samba, any audio format you can think of, bit-perfect playback, even Spotify. One more thing, once you install it on a PC, you will not need a monitor on that PC anymore during normal use. USB boot is possible and you don't need to install it on the local disk.

You need to try it to see if it will fit your needs...
I'd say that it's the most complete and feature rich solution for any HiFi enthusiast.


Good luck and have fun!
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.