the itjerk

my adventures with technology

Category Archives: SqueezeBox/Slimserver

rip logitechmediaserver, squeezebox

sqebay

It is with a touch of sorrow that I have retired both Logitech Media Server and my Squeezebox v3 Network Music Player, and all ancillary programs. Not only was it my gateway into all things Linux, but it was also my introduction to streaming music. The interface remains stuck in the 00s, and my other hardware have eclipsed it; perhaps this is a problem with opensource. The interface does need a major, major refresh. Ultimately, I have just moved on with Roon server. So for all your names, Slimdevices, Slimserver, Squeezeboxserver, Squeezelite, Logitechmediaserver, I loved you all.

Originally purchased in April 2007, I have my Squeezebox up for sale on eBay:

On the web:
eBay

Advertisements

hifiberry dac+ pro

Now that I’m committing to Roon as a music server, I’d thought it would be nice to take a look at my streaming hardware. I like the idea of using my preamp’s analog stage, because it has a great analog stage; I can also output directly from my computer (where my music resides) via optical or USB. So rather than spending money on a Bluesound or Auralic device, I think I’ll go DIY.

The old Squeezebox 3 is of course a cherished relic, and in the living room it will sit forever. I also have a Chromecast Audio there, both connected to a Schiit Modi 2 DAC. In the man cave, I have plenty of options. Roon is very good at dealing with heterogeneous outputs; it recognized most every device on my network. But I am looking for a dedicated device, because, well, just because. I had an old Hifiberry DAC running PiCorePlayer – a very worthy software package – from the days when Raspberry Pi’s didn’t have the “+”. Yep, that’s the one to upgrade.
RoonHifiDac
The good thing about Hifiberry is that they are Roon Ready partner, and have their own Roon Bridge image for their hardware devices. I decided on the DAC Pro +, which adds “integrated dual-domain low-jitter clocks and gold-plated RCA connectors.” Coupled with a new Raspberry Pi 3+ board, I was completely surprised at what a musical player it was: crisp, detailed and very easy on the ears, it’s an absolute delight to listen to.

Hacker note: It’s easy enough to ssh into the Hifiberry/Roon Ready image. Touch a file named “ssh” into the bootloader partition, then login with the user “pi” and password “hifiberry”. Oddly enough, if you do an apt-update/distupgrade, the thing shows up a little differently in Roon’s audio settings (see below image). Why do this? I can think of a couple reasons, including doing updates, turning off HDMI output (/opt/vc/bin/tvservice -o) and of course, changing the default password. Is the Hifiberry/Roon image any better than using a standard Raspbian image with Roon’s Bridge installer script? Maybe I’ll ask Hifiberry.
Hifiberry

I went cheap on the acrylic case, which unfortunately snapped when I went to put heatsinks on the rPi, so I’ll be upgrading to the metal case shortly. Also, I’m going to upgrade to a low noise switching power supply, because that’s really the last thing to do get the best sound from the Hifiberry/rPi combo. Or spend $$$ on a linear power supply!

All-in-all, a very impressive digital streaming device for under $100.

On the web:
HiFiBerry DAC+ Pro | HiFiBerry

roon labs

Roon is paid software. Now that that’s out of the way, let’s talk about Roon. Roon is software for managing and accessing your disk-based music library. There is a server aka “core” element, as well as “endpoint” apps for (nearly) every OS, including Windows, Mac, iOS, Android, etc. Some like to think of it as a component of your audio system, albeit one of the software variety.

roon

Why use Roon? I have to admit a directory tree isn’t the most elegant way to view ones digital music library. And that’s what Roon does: it scans your digital music, applies rich content – pictures, text, weblinks, etc – and puts it all together for a paid subscription-like experience. It even fills in the blanks on missing artwork, etc. I don’t use Spotify or iTunes, but Roon provides a very similar interface.

I installed RoonServer on my linux box with ease. When I ran the “easy install” script (remember to chmod +x first), it alerted me that I needed cifs-utils installed first. That corrected, the script downloaded and installed the server software, and set itself up as a service. But that’s it as far as linux goes. It’s a headless game, no native app, no web interface, from here on out I’m off to my phone or computer to control my music.

On the Roon app for Android, I logged into my Roon account and gave them my credit card number. Viola! it all worked. I then setup a music “zone” (an odd choice of word), which is an audio player. I was a bit shocked by how many appeared: my Pixel 2 phone, the (four) audio outputs from my linux box, Roon Bridge which I installed on a new RaspberryPi (more later), all my Chromecast devices, and lo and behold, my Squeezebox3 and Squeezelite players. In order to use the latter, one must enable Squeezebox support AND stop the LMS (Squeezebox) server. Once you select something to play, you can then choose where – including simultaneously – to play it.

I’ll write up another post as after a week or so of my free 14 day trial, but initial thoughts are mostly positive. It is a great interface, and it brings the whole digital music experience up a level. However, I really am disappointed there is no native linux app, and I still haven’t figured out how to add my own rich content, other than pictures to artists and albums to the library. (Hey, of course I’d like to add my Strawberry Bricks reviews to my collection!) The Android interface could sure use refinement (separate player from config mode, easier access to artists) but I suppose this is a forever work in progress.

Screenshot (Aug 22, 2018 5_10_04 AM)

Roon all sounds fine, and it all looks great; the question however is simple: is it worth $119 per year, let alone $499 per lifetime?

On the web:
Roon Labs

aries mini vs node 2 | roon

Two very popular streaming devices, one from Auralic, the latter from NAD/PSB affiliate Bluesound, are very tempting to purchase at $499. While neither have displays, they have all the guts of a good streamer, perhaps an update to my decades old Squeezebox, or better version of my Hifiberry Pi. I’m a bigger fan of streaming every day, because, it sounds just as good if not better than CDs, and is so, so convenient. Plus, playing music directly from my computer is getting… passé?

But there are some downsides to these streamers: Foremost, no display; to get visual, I’d have to spend more money. Also, each of these players has a serious fault: The Aries Mini has no native Android app, while the Node 2 doesn’t support UPnP/MiniDLNA. Sure, I could fork of some $$$ for a Roon Core, which both support, but I’m not sold on that either. I’d like to use an existing music server (UPnP, Logitech), and I have only Android devices in my home.

I’ll admit, Roon is tempting. At $499 for a lifetime license, it could be the future of my streaming server. Or at least, another one. It supports Linux, it’s got a good UI, combining the rich content of the web to file names and folders. But wouldn’t it be even cooler if I could pull up my music collection via Roon on my TV and use that as an interface, instead of a little phone screen? Tell me it’s so Roon, and I might sign up!

On the web:
Node 2
aries mini
Roon Labs

minidlna

When talking about digital music servers other than Squeezebox Server, I feel like a cheater. It’s been my reliable go-to method for serving up my ripped and downloaded music for over a decade now. But not every piece of hardware speaks to it; Beep appeared a while back and saw me install miniDLNA on my linux box, where all my music files reside.

The Digital Living Network Alliance is a trade group that certifies compliance to a standard for delivering digital media. MiniDLNA is an implementation for Ubuntu, and mini it is! No interface (save a bare bones web page at port 8200), it is configured by editing /etc/minidlna.conf.

Set the path to your music; I’m only looking for audio files, so I mark the directory with an A.
#media_dir=/var/lib/minidlna
media_dir=A,/mnt/data/music

Set the database cache directory (important!) and enable logging:
db_dir=/var/cache/minidlna
log_dir=/var/log

Tell it to look for new files or not:
inotify=yes

Set the name of the server presented to clients. This provides a simple way to check if you’re connecting to you server.
friendly_name=My-MiniDLNA

That’s it! Restart the service after you make changes to the configuration,
sudo service minidlna restart

or rebuild the database if you’ve changed or added music.
sudo service minidlna force-reload

There’s a ton more it can do, including serving videos, pictures, etc, and it also offers per-user configuration as well; but for my purpose my newly acquired Oppo BVD-103 can now stream all the music on my computer.

EDIT: Also including a link for the bubblesoft add-on server. I use this with the Bubblesoft app to access MiniDLNA on my Android phone. Uses java and requires port 58050 to be open.

On the web:
MiniDLNA Ubuntu
ReadyMedia
bubblesoft

audio bliss with the piCorePlayer + HiFiBerry

If one thing has changed in the past forty years of my listening to music, it’s not the music; as Lemmy said in his documentary, (to paraphrase) “you always return to the music of your youth because that’s when you figured out what music you like”. What has changed is how I listen to music; as much as I still enjoy flipping a vinyl record over (and that delicious analogue sound), nothing beats the convenience of digital streaming. Basically, I want all my music on a computer so I can access it, with a click, wherever I may be.

Not like any of this is new. Since the iTunes revolution, music has been reduced to ones and zeros, in more ways than one. The album has vanished, and CDs are mere content delivery units. Services such as Spotify, Pandora, Google Music, Amazon Prime, iTunes Airplay, etc… are the new record stores, serving and predicting what music one wants to hear. Their respective apps, and devices such as Sonos, Beep, Amazon Echo, and the newly announced Chromecast Audio are all there to push that music your way.

But I want my music, the music on my computer. Logitech Media Server, aka SlimServer or Squeezebox Server, has been my go-to for music streaming for probably a decade now. Problem is Logitech stopped making Squeezeboxes years ago. Beep seemed like a nice substitute, but honestly it mostly crashes, far too often to be considered usable.

Screenshot from 2015-09-30 04:04:27

The most elegant and inexpensive solution is the Raspberry Pi equipped with a HiFiBerry DAC running piCorePlayer. The latter has made some serious leaps in the past year in terms of usability and stability, and with the addition of the HifiBerry, sonically as well. So all of this is a long winded way of giving the trio another, hopefully louder shout-out for earning the top spot in my hifi rig. It works, it’s simple and it sounds fantastic. Thank you!

On the web:
piCorePlayer

squeeze2upnp + beep = lms

Screenshot from 2015-03-11 18-56-42

Logitech Media Server (LMS), the old Squeezebox Server or Slimserver, is my go-to for playing my music library on hard disk. I use a Squeezebox v3, various Raspberry Pi’s, and now with the help of this nice little program, my Beep. Squeeze2upnp (sq2u) is as it says, “a bridge between LMS and uPNP devices”. It translates LMS instructions for UPnP devices. More simply, it makes my Beep appear as a playback device in any LMS app or webpage.

You can download Squeeze2upnp below, it’s precompiled for Linux and Windows. There’s instructions in the user guide on how to set it up and get it running. Make sure your Beep is playing while Squeeze2upnp is in “discovery” mode, and be sure to daemonize it with the “-z” option, otherwise CPU usage goes through the roof. You will also have to edit the config.xml file to support FLAC playback. Also, you may have to monkey with your firewall, I’m not sure what ports it uses, but it caused an issue for me. (more later).

to discover UPnP devices on local subnet and configure sq2u to play them:
./squeeze2upnp-x86 -i config.xml
to daemonize sq2u:
./squeeze2upnp-x86 -z

That’s it, give it a few minutes and your UPnp device will appear
Big shout out to philippe44 for his active development of the Squeeze2upnp program. I had an issue with it crashing, sent him a debug file, and all is now well. That’s the beauty of FOSS.

Update: philippe44 is currently working on a third-party plug-in for LMS that automates discovery and playback to your Beep inside the LMS interface. Check out the thread above at slimdevices.com for more info.

On the web
https://github.com/philippe44/LMS-to-uPnP

linux box, clean install

Hardware all happy, it’s time to do a clean install of Ubuntu 14.04 LTS. The most important step before installing is to get a complete backup and a list of applications/settings etc. before tearing down the old computer! It’s also a good time to think about your new system, so consider what needs to be installed, and what needs to stay backed up, and what needs to be forgotten.

After installing from disk and running apt-get update/upgrade, there are a few usability tweaks I want to do right away:
1. Add packages nautilus-terminal, openssh-server, numlockx, update-motd, weather-util, landscape-common.
2. Setup ssh keys for my hosted server, and secure sshd!
3. Disable guest login in lightDM.
4. Import bookmarks and set panel applets (this could be a lot easier Canonical).
5. Fix writing to USB drives, then flash motherboard bios (F9 to F12)
sudo hdparm -r0 /dev/sdg

Then,
1. Configure router DHCP to give computer a fixed IP via MAC address.
2. Set privacy options in Unity. Include Imageviewer and Movie ;).
3. Install firewall (using gufw).
4. The fstab entries: Mount my new media hard drive. Side note here, always, always mount these things to /mnt/. The /media/ directory is not for anything in /etc/fstab. My backup directory (which is on a NAS drive), I have to enable cifs-utils, and set the cifs password.
5. Restore data from backup, sparingly.
6. Install applications, ditto.

Music stuff:
1. sudo apt-get install eyed facc lame flac vorbis-tools moc sox
2. I also installed Audex, Banshee, EasyTag, DeVeDe, Asunder, VLC, Audacious and Audacity.
3. Reinstall Logitech Media Server, located here.

Webserver:
1. Reinstall LAMP. You’ll be prompted to set MYSQL password, so be prepared with the one for your old databases!
sudo apt-get update.
sudo apt-get install tasksel
sudo tasksel install lamp-server

2. Create empty MYSQL databases, then restore backups. It’s as easy as:
mysql -u root -p
Create database databasename;
exit

then
mysql -u root -p databasename < path/to/backup.sql
3. Copy website backup to /var/www (or wherever), fix permissions. Then set initial directory in sites-available/default.conf and restart apache2.
4. For Drupal, I need to install php5-gd and add cron.php to crontab. For clean urls, I need to enable mod_rewrite (a2enmod rewrite) and configure .htaccess by adding this to sites-available/default.conf:

<Directory /var/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
<Directory>

5. Restart apache2.

SSD:
Because I now have a speedy SSD drive (oh yes, it’s fast!), I read up on potential tweaks to improve performance and life of the drive. With 14.04, the trim command is executed weekly (/etc/cron.weekly/fstrim) by default. This is fine because my box is on 24/7, otherwise it should be moved to rc.local so it executes on boot. If you want to check if trim is enabled, try this script:
sudo hdparm -I /dev/sda | awk '/.*TRIM supported.*/{ if ($1 == "*") print "Yes, TRIM is enabled"; else print "No, TRIM is not enabled.";}'
1. Add noatime parameter to /etc/fstab for / to disable file read stamps.
2. Create a virtual file system with /etc fstab:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0
3. Then, move browser Firefox and Chromium caches to /tmp
4. Change swappiness? Actually I don’t use swap. RAM is cheap and faster!
5. Finally, I debated moving /home off the SSD, but couldn’t discern any benefit: I mean, every $$$ notebook ships with one, right? Easy to get sucked into all the tweaking… So I’ll opt for just paring down what’s in my home folder, and moving music, photos and videos to my /mnt/media drive. Heck I should buy another disk and create a RAID 1 for all that media…

Anyway, that’s got me up and running. Job complete.

piCorePlayer

Screenshot from 2014-03-23 18:59:18

piCorePlayer

Another Raspberry Pi distro today, this one is piCorePlayer, a “dedicated Squeezebox player .. for your Raspberry pi board.. that runs a Microcore and Squeezelite.” Small it is, I used an ancient Palm 64MB SD card to write the image on, and it runs in RAM so no need to worry about the image ever getting corrupt; you can simply unplug the RPi to stop it. Everything worked effortlessly, I even got the USB wireless going, along with the USB DAC from Xitel. The RPi shows up in Logitech Media Server just as any other Squeezebox player. The benefit here is that I don’t have another interface to get used to; I am already using ol’ Slimserver. piCorePlayer supports a lot of outputs from the RPi, including analog audio, hdmi, usb audio (though the tweak for fixing crackles didn’t really work for me), and the I2S interface, which means I’ll be able to try it when I receive my HifiBerry!

update: upgraded to piCoreplayer 1.14d crackles still remain via usb output.

the future of squeeze


Ever since Logitech purchased Slimdevices, the inventors of the Squeezebox streaming music device and Slimserver software, things have slide in a very predictable pattern: downhill. There's been some new products, but contrary to marketing hype and the fanboys that infest the Squeezebox forums, none have surpassed the performance of the original Squeezebox "Classic". The original founders of the company have finally left, management has now changed a few times, and as of this writing Logitech's latest incarnation of the Squeeze, the Squeezebox Touch, is still unavailable for sale – some six months after its initial announcement!

What holds the future for Slim/Squeeze? Only time will tell, but I've not a good feeling good about this.

On the web:
Squeezebox Software