the itjerk

my adventures with technology

Tag Archives: rpi

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.

tripath ta2024

To further the geek factor, I hooked my new Rasberry Pi up to a $8 t-amp I finally got to wiring up after a year or two in the box. It’s got the TA2024 chip, and sounds pretty sweet. I’ll get it hardwired into a case for it at some point.
Update: modded with Auricaps. Sounds fantastic, rich tones, deeper bass.
IMG_20140327_204313

Volumio

volumio

Microcenter has Raspberry Pi Model B on sale for $30 so I picked one up for the basement. I have the HiFiBerry DAC on order, but wanted to try out a few of the other distros for the RPi. Volumio, formerly known as RaspyFi , bills itself as “a truly new listening experience”. It’s an optimized OS for audio quality, probably not too high on security, but offers support for the HiFiBerry’s I2S data path. Any browser on the local network can access it’s minimal web interface, but since it runs MPD, pretty much any MPC client can control it.

Downloaded the image, connected the RPi via ethernet, and most importantly, plugged in an old Xitel AN-1 DAC that I’m really happy to have found. Not sure why, but Volumio doesn’t use the analog audio output on the RPi. Anyway, up and running, I setup a mount to my music on a NAS drive, waited for it to update mpd’s database, rebooted, and bingo, it all works.

Purpose-built for turning your RPi into an audio player (though conspicuously absent on the details), the ui is the biggest drawback from for Volumio. Too much mouse movement, too much clicking. However the sound quality was fantastic.

volumio

Other notes: The timezone was off, ntp could’nt get it right. Here’s how to fix it:
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

Still can’t Wifi going, will try with another distro to make sure it isn’t the usb mini.

squeezeslave and the raspberry pi

Ever want to listen to your digital music collection at home while you were at work? Specifically, the idea here is to connect to my Logitech Media Server (aka Slimserver or Squeezebox Server, and LMS for short) that's at home, with my Raspberry Pi (RPi for short) at work. (I'm going to assume that you know the drill about opening ports on computers and routers, your work's tech security policies, and all that jazz). Technically, it's relatively simple – make an ssh connection to the LMS, forward a few ports to the RPi, and then launch the player! Of course, this could all be done using just about any media player on just about any computer, and a web interface – that's the beauty of the LMS. But this is about the RPi, and I'd like to keep this as basic as possible – without even using a gui for playlists.

Squeezeslave is a great little program that emulates a Squeezebox player, providing both a SLIMP3 type interface and the capability to stream music. It's truly turns the RPi into a virtual machine. The program is an already compiled binary for ARM6 (the chip that the Rasberry Pi uses), which saves a lot of work. But be sure to get the "hard float" version for Raspbian Wheezy.

Installation is simple, this taken from Paul Webster's more than informative blog:

wget http://squeezeslave.googlecode.com/files/squeezeslave-1.2-367-armhf-lnx31.tar.gz
tar -xvf squeezeslave-1.2-367-armhf-lnx31.tar.gz
mv squeezeslave-1.2-367 squeezeslave

Before we run Squeezeslave, we have to connect to the LMS server at home. This is done via ssh and port-forwarding. I've configured my home router (and LMS computer) to accept connections on ports 22, 3483, and 9000, the latter two which Squeezeslave uses to connect to the LMS. I've also setup keys (using ssh-keygen) between the LMS and RPi so that a password isn't required to login. Finally, I also know the LMS's WAN and LAN addresses (using DynDNS for the former).

First, we connect to the LMS using the ssh command. The -L switch can be repeated, which is great because we need both ports 3483 and 9000 forwarded for Squeezeslave to work. The -N switch prevents remote commands, since we are just using ssh for port forwarding. Finally, by ending with &, we stay in the local terminal, and can immediately issue our next command. Note that all addresses are for your LMS computer.

ssh -L <3483>:<lan address>:<3483> -L <9000>:<lan address>:<9000> -N <username>@<wan address> &

Running Squeezeslave is simple: all we do is enter the IP of the localhost for the LMS, and give it the -D switch to open its display.

./squeezeslave 127.0.0.1 -D -R

What a cool interface!

Here are the key options for the display:

Now, if I point a browser to my home computer and bring up the LMS web interface, I'll find a player called "Squeezeslave". One performance note, I did need to edit Server Settings in LMS for the Squeezeslave to change Bitrate Limiting to something from "unlimited" to get smooth playback over the internet. That said, sound was excellent, making the Raspberry Pi one inexpensive SqueezeBox player!

Extending this little exercise, both commands could be scripted to run automatically at boot, making this a completely auto-on operation. And because of Squeezeslave's simple interface, I'm sure the RPi could be hooked up to a cool little LCD display instead of a monitor, add a remote…

Isn't computing fun?!

On the web:
Squeezeslave
Sourceforge
Installing Squeezeslave