the itjerk

my adventures with technology

Category Archives: SqueezeBox/Slimserver

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.

On the web:
MiniDLNA Ubuntu
ReadyMedia

Advertisements

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