From parts to music, a Raspberry Pi Squeezebox clone

Hi, first post, I came here because of this thread. Thanks for the nice howto.

Thanks for the kind words. This thread is now outdated as there are OSes that are ready to go without having to do all of the things as I detailed earlier on. Squeezeplug and Picoreplayer do everything I've shown here, but without the lengthy process of removing unnecessary software from the OS. They are quite simple to install and configure, even for those not well versed in a Linux environment :yes:
 
Thanks for the kind words. This thread is now outdated as there are OSes that are ready to go without having to do all of the things as I detailed earlier on. Squeezeplug and Picoreplayer do everything I've shown here, but without the lengthy process of removing unnecessary software from the OS. They are quite simple to install and configure, even for those not well versed in a Linux environment :yes:

Well: just speaking for myself, I think that BadassBob's instructions trump all the packaged solutions I have seen. It's why I came here too. In fact, I think it's still necessary to have them, at least for me. Here's why - and perhaps BadassBob can point out where I'm going wrong: I've been using squeezeplug (v. 7.09), the usual pi setup w/ powered hub, and testing it with several DACs - Behringer, HiFI, Wolfson-pi board, DragonFly. After much twiddling w/ squeezelite's parameters, I simply cannot get anything aside from the Wolfson-pi board to work w/o dropouts and crackling. Perhaps other folks can post their squeezelite params so they can be gathered in one place for DACs, as with picoreplayer, here:https://sites.google.com/site/picoreplayer/home/List-of-USB-DACs

I have read this thread's many pages and see that people have some of the other DACs working that I cannot get to work w/o dropouts and noise, so perhaps they can share this info. But perhaps the usb/ethernet bus conflicts on the r-pi are simply too much to deal with, and that's why the Wolfson board works so well.

In any case, my last frustration has been how to deal with streaming ALAC files. squeezelite binaries aren't compiled with support for this, and I've been
tearing my hair out getting an arm6hf compile that works -- the addtl std libraries that work w/ Wheezy for this are out of date, and contain bugs, so the compile 'works' but has runtime errors so it fails. If anybody has a version of squeezelite v. 1.6+, or 1.5 or 1.4 w/ ffmpeg support compiled in that works, it would solve my hair loss problem.

Anyway: it's thanks to BaddassBob I have at least one solution that works at all. Thank you.
 
Well: just speaking for myself, I think that BadassBob's instructions trump all the packaged solutions I have seen. It's why I came here too. In fact, I think it's still necessary to have them, at least for me. Here's why - and perhaps BadassBob can point out where I'm going wrong: I've been using squeezeplug (v. 7.09), the usual pi setup w/ powered hub, and testing it with several DACs - Behringer, HiFI, Wolfson-pi board, DragonFly. After much twiddling w/ squeezelite's parameters, I simply cannot get anything aside from the Wolfson-pi board to work w/o dropouts and crackling. Perhaps other folks can post their squeezelite params so they can be gathered in one place for DACs, as with picoreplayer, here:https://sites.google.com/site/picoreplayer/home/List-of-USB-DACs

I have read this thread's many pages and see that people have some of the other DACs working that I cannot get to work w/o dropouts and noise, so perhaps they can share this info. But perhaps the usb/ethernet bus conflicts on the r-pi are simply too much to deal with, and that's why the Wolfson board works so well.

In any case, my last frustration has been how to deal with streaming ALAC files. squeezelite binaries aren't compiled with support for this, and I've been
tearing my hair out getting an arm6hf compile that works -- the addtl std libraries that work w/ Wheezy for this are out of date, and contain bugs, so the compile 'works' but has runtime errors so it fails. If anybody has a version of squeezelite v. 1.6+, or 1.5 or 1.4 w/ ffmpeg support compiled in that works, it would solve my hair loss problem.

Anyway: it's thanks to BaddassBob I have at least one solution that works at all. Thank you.

What kind of CPU usage are you seeing with Raspbian and the Wolfson audio card? When playing 16/44 tracks, I'll get up to ~20% CPU usage, which seems high. In contrast, when I was running a USB to S/PDIF converter, I would only see ~5% usage on redbook playback. I cross compiled the kernel under Debian on my desktop and used the Wolfson kernel modules. It runs great with no pops or dropouts, but the higher CPU usage concerns me a wee bit.
 
This is awesome. And when I get home I'll have time to read the entire thread. Looking forward to it.

In the mean time, a question that may have an answer in the thread.

My dream device is something that I can drop a CD into, rip the cd to a hard drive and then play that music from the library. Everything I've seen that has that sort of capability is priced out of reach or has horrible reviews. Could this function be worked into this unit by adding a CD drive and a hard drive?
 
My dream device is something that I can drop a CD into, rip the cd to a hard drive and then play that music from the library. Everything I've seen that has that sort of capability is priced out of reach or has horrible reviews. Could this function be worked into this unit by adding a CD drive and a hard drive?

Vortexbox sounds right up your alley. It's a Fedora-based Linux distro that's a CD ripper and music server all in one. Some companies offer Vortexbox appliances for rather obscene amounts of money, but one can be built from a repurposed computer or a cheap low powered computer. Vortexbox does everything, pop a disc in the CD ROM and it gets ripped to FLAC, tagged, and mirrored to MP3 for mobile devices. I had a standalone Vortexbox appliance I built from brand new components for less than $300. It doesn't need much to juice to run. Even on a lowly Atom processor works well. When I had mine, it took 4 minutes to rip one disc and encode to FLAC. Not bad at all :yes:
 
Vortexbox sounds right up your alley. It's a Fedora-based Linux distro that's a CD ripper and music server all in one. Some companies offer Vortexbox appliances for rather obscene amounts of money, but one can be built from a repurposed computer or a cheap low powered computer. Vortexbox does everything, pop a disc in the CD ROM and it gets ripped to FLAC, tagged, and mirrored to MP3 for mobile devices. I had a standalone Vortexbox appliance I built from brand new components for less than $300. It doesn't need much to juice to run. Even on a lowly Atom processor works well. When I had mine, it took 4 minutes to rip one disc and encode to FLAC. Not bad at all :yes:

That is something I'll have to look into. Sounds perfect.
 
What kind of CPU usage are you seeing with Raspbian and the Wolfson audio card? When playing 16/44 tracks, I'll get up to ~20% CPU usage, which seems high. In contrast, when I was running a USB to S/PDIF converter, I would only see ~5% usage on redbook playback. I cross compiled the kernel under Debian on my desktop and used the Wolfson kernel modules. It runs great with no pops or dropouts, but the higher CPU usage concerns me a wee bit.

Good question. I'll check when I am back and swap in my wolfson card pi. I *seem* to recollect it being a bit high, but I should check.
So - which DAC and what squeezelite settings, asound.conf, etc. setting do you use for it? (Apart from the Wolfson pi card....)

thanks
 
Good question. I'll check when I am back and swap in my wolfson card pi. I *seem* to recollect it being a bit high, but I should check.
So - which DAC and what squeezelite settings, asound.conf, etc. setting do you use for it? (Apart from the Wolfson pi card....)

thanks

My asound.conf looks exactly like the one earlier in this thread. For Squeezelite, I never touched any of the buffering settings as it never gave me fits during playback. I just left that part of the init script commented out. I was using a hifimediy USB to S/PDIF converter at the start of this, but have since moved on to the Wolfson audio card in the last few weeks.
 
Wolfson DAC-r-pi CPU use

What kind of CPU usage are you seeing with Raspbian and the Wolfson audio card? When playing 16/44 tracks, I'll get up to ~20% CPU usage, which seems high. In contrast, when I was running a USB to S/PDIF converter, I would only see ~5% usage on redbook playback. I cross compiled the kernel under Debian on my desktop and used the Wolfson kernel modules. It runs great with no pops or dropouts, but the higher CPU usage concerns me a wee bit.

Here's the answer: if I stream ALAC files, then sox is taking upwards of 30-50% of the CPU, while squeezelite is taking 5-6%. These are mostly redbook CDs.
I attribute the CPU use to this: the ALAC has to get transcoded to FLAC, because softsqueeze hasn't been compiled with FFMPEG (grumble).
If I stream lossy files, then sox drops back to 5%, and squeezelite stays about where it is.
I can compile more info if you want.... you have done so much for us.
I'd still like to set up some table w/ DACs and their parameter settings for optimum squeezelite sonic performance.

The Wolfson has had zero drop outs, pops, clicks, etc. - and sounds as good as my dragonfly playing off of a laptop, which is pretty good.
 
I attribute the CPU use to this: the ALAC has to get transcoded to FLAC, because softsqueeze hasn't been compiled with FFMPEG (grumble).
If I stream lossy files, then sox drops back to 5%, and squeezelite stays about where it is.

Did you try compiling from source instead of using the precompiled binary? I'll have to look into this and see. I have no ALAC files, but I can transcode some of my FLAC on another machine and see what sort of results I get. You can cross compile on another machine to make the build process go much faster. Compiling on the Pi is a pain in the ass, to say the least ;)
 
Last edited:
Here's the answer: if I stream ALAC files, then sox is taking upwards of 30-50% of the CPU, while squeezelite is taking 5-6%. These are mostly redbook CDs.
I attribute the CPU use to this: the ALAC has to get transcoded to FLAC, because softsqueeze hasn't been compiled with FFMPEG (grumble).
If I stream lossy files, then sox drops back to 5%, and squeezelite stays about where it is.
I can compile more info if you want.... you have done so much for us.
I'd still like to set up some table w/ DACs and their parameter settings for optimum squeezelite sonic performance.

The Wolfson has had zero drop outs, pops, clicks, etc. - and sounds as good as my dragonfly playing off of a laptop, which is pretty good.

PS: IMHO, as a Squeezebox owner from just about day 1, it makes me appreciate how much engineering went into their work (and so ditto for Triode's) Sad that they couldn't keep going. IMHO, after hearing how beautifully OS X and Windows 8 can play hi-rez, bit-perfect music w/ players like Audirvana, Pure Music, etc., it is to me very, very sad that the *nix community is saddled with the patched together um, mess, that is asound, sox and its relatives. I started digging into the source code...and...awk. It shouldn't be that hard, but somehow it has wound up in a sad place. I wish I had time to sit down and rework it all. OK, enough editorializing, back to music....
 
Hello all,

I signed up here a few years ago and haven't really posted much, but I come here and read whenever I need good info.

I thought I would post up my experience with this setup in the hope that someone that is having trouble can make use of the info.

I currently have a Squeezebox Duet on my main system connected to a Qnap TS-212 NAS running LMS 7.7.2. This works flawlessly with all music ripped to flac files.
I wanted to add another receiver to the living room, but the prices being charged for SB receivers or the Touch unit are off the wall these days.

I found this thread about two weeks ago and decided to give it a try. For the price it's not a bad deal.

I picked up a RPI B+, power supply, Schiit Modi DAC, case, WiFi dongle and a 32 GB Class 10 SD card off of Amazon. Spent the better part of the day yesterday following the guidelines here and got everything set up pretty easily after a misstep, when I did the firmware update step on page 1. After a reboot, nothing worked (Network, USB..) I just reformatted the SD card and started over, omitting that step.

After installing Squeezelite, it pretty much hooked up to LMS and showed up on my Duet controller right away. After setting up WiFi it was off to the second system in the living room. Got everything hooked up there, brought up Squeeze Controller on the tablet and started streaming. Unfortunately, that's where the joy ended. The sound was terrible with basically just static.

I spent another hour or so troubleshooting via Google, installing updates and doing reboots to no avail. Decided to call it a day and pick it up today.

Along the way I happened to notice that Squeezelite and rsyslogd was using way too much CPU (20-30%) and creating huge logfiles . Without going into that to much, I found this site and got rid of rsyslogd.

https://extremeshok.com/1081/raspberry-pi-raspbian-tuning-optimising-optimizing-for-reduced-memory-usage/

Just follow the instructions to remove rsyslogd and replace it with inetutils-syslogd. After doing that and rebooting, Squeezelite was only using about 3%-5% cpu and hardly any syslog usage. Even while actively streaming, Squeezelite is now only using < 10% of cpu. I also went back to no overclocking using the default 700Mhz but I'm not sure if that really had anything to do with the sound problems.

Now, back to the sound coming out of the RPI. I tried all of the recommended solutions I could find. Including setting the alsa buffer higher among other things.

After several hours of frustration, I came across this web site

http://drewlustro.com/hi-fi-audio-via-airplay-on-raspberry-pi/

It's mainly about Airplay, but it had one piece of information that I had not come across earlier.

It offered the usual changes to alsa-base.conf among other things with one difference.
After commenting out the snd-usb-audio setting, include a line setting snd-usb-audio nrpacks=1.

#options snd-usb-audio index=-2
options snd-usb-audio nrpacks=1

Without much hope, I rebooted and started the squeeze controller app on the tablet. All of a sudden, music was playing with no distortion, pops or crackling. All was perfectly clear and the Modi was singing. I'll have to research more on this setting to find out what it really does, but that seemed to do the trick.

This turned out to be much harder than I think that it needed to be. The main problem is having to sift through volumes of outdated, useless information.

I hope that someone finds this info useful and solves a problem for someone.
Thanks to Bob for doing the major lifting on this!
 
https://extremeshok.com/1081/raspberry-pi-raspbian-tuning-optimising-optimizing-for-reduced-memory-usage/

Just follow the instructions to remove rsyslogd and replace it with inetutils-syslogd. After doing that and rebooting, Squeezelite was only using about 3%-5% cpu and hardly any syslog usage. Even while actively streaming, Squeezelite is now only using < 10% of cpu.

Interesting. I will have to mess around with that as I'm getting rather high CPU usage with the Wolfson Audio card. With a USB DAC, the usage was quite low, but with the Wolfson card, it was double that. That said, the Pi is only serving one duty and doesn't give playback issues.
 
Does this interact with mysqueezebox.com? If so, US-based users should be able to get Deezer working on it (at 320kbps). See the Deezer thread in this sub-forum.
 
Does this interact with mysqueezebox.com? If so, US-based users should be able to get Deezer working on it (at 320kbps). See the Deezer thread in this sub-forum.

It does, but I'm not sure of Deezer support as of right now, but I'd think it should work. Spotify works with Triode's plugin, and Pandora works for paid subsciptions only. When I had MOG, it worked wonderfully without any additional workarounds whatsoever.
 
Deezer on your Squeezer through the French back door

It's available, via the "French back door". Set your country in mysqueezebox.com to France, and you'll see the Deezer app. Install it. Then go to the URL in the Deezer thread to sign up for the 30-day free Elite trial. Set your account details in the app, and enjoy. :music:
 
It's available, via the "French back door". Set your country in mysqueezebox.com to France, and you'll see the Deezer app. Install it. Then go to the URL in the Deezer thread to sign up for the 30-day free Elite trial. Set your account details in the app, and enjoy. :music:

Nice! I'll give it a whirl sometime this week and see if it works with the Pi :yes:
 
Back
Top Bottom