edit: This thread describes how to install squeezelite on wheezy soft float, which is not the most common OS. The most common is Wheezy hard float, and I've now got it running on hard float to. See this tutorial for that installation: http://www.raspberrypi.org/phpBB3/viewt ... 38&t=25778.
After installing squeezeslave on my raspberry, I had a great squeezebox client which worked pretty good. See this thread: Squeezeslave up and running thread
But, I had some problems with certain internet radio streams. Squeezeslave only works with 44100 Khz streams. Some radio stations stream in other frequencies, so the sound was too slow or too fast. I tried correcting it on my logitech media server (running on my Nas), but converting the streams was too cpu intensive for my nas.
Then forum user Stoker suggested using SqueezeLite . And that was a great suggestion! SqueezeLite supports different streaming frequencies, and is also very light weight.
See more about Squeezelite: Thread: Announce: Squeezelite - a small headless squeezeplay emulator for linux (alsa only)
On page 5 there is allready somebody that had squeezelite installed on the Raspberry (see LINK).
Now, my Squeezeslave client ran on Hard-Float Raspian Wheezy, but the SqueezeLite executable is only offered for Soft-Float Debian Wheezy. Which is a bit more work to set up.
But I got it working now, and it's working brilliant, very stable and good sound.
Here are the steps I took to get it working, I did everything without a monitor using SSH.
First create a SD card with the Soft-Float Debian Wheezy image on it. Connect it to a network cable and log in using SSH (Putty is my favorite SSH client).
Run the config tool:
Code: Select all
sudo raspi-config
Then to get Wifi working (I have a Logilink WiFi dongle which is RTL8188CUS based), I used the excellent script from forum user MrEngman, provided in this thread: Automatic setup for RTL8188CUS based wifi adapters.
Of course, this is not necessary if you want to use the raspberry wired, then go directly to Installing Squeezelite.
These were the steps I took to get WiFi working:
Code: Select all
mkdir wifi
cd wifi
sudo wget http://dl.dropbox.com/u/80256631/install-rtl8188cus.sh
sudo chmod u+x install-rtl8188cus.sh
Run the script:
Code: Select all
sudo ./install-rtl8188cus.sh
The reboot command:
Code: Select all
sudo shutdown -r now
First create a "work" directory:
Code: Select all
mkdir squeezelite
cd squeezelite
Code: Select all
sudo apt-get install libflac-dev
Code: Select all
sudo apt-get install libfaad2
Code: Select all
sudo apt-get install libmad0
Code: Select all
wget http://squeezelite.googlecode.com/files/squeezelite-armv6
Code: Select all
sudo mv squeezelite-armv6 /usr/bin
cd /usr/bin
chmod u+x squeezelite-armv6
First list all the devices:
Code: Select all
squeezelite-armv6 -l
Code: Select all
Output devices:
null - Discard all samples (playback) or generate zero samples (capture)
default:CARD=ALSA - bcm2835 ALSA, bcm2835 ALSA - Default Audio Device
sysdefault:CARD=ALSA - bcm2835 ALSA, bcm2835 ALSA - Default Audio Device
default:CARD=Set - C-Media USB Headphone Set, USB Audio - Default Audio Device
sysdefault:CARD=Set - C-Media USB Headphone Set, USB Audio - Default Audio Device
front:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - Front speakers
surround40:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - 4.0 Surround output to Front and Rear speakers
surround41:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - 4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - 5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - 5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Set,DEV=0 - C-Media USB Headphone Set, USB Audio - IEC958 (S/PDIF) Digital Audio Output
Now to start Squeezelite I had to run (ip address is the address of the LMS server):
Code: Select all
./squeezelite-armv6 -o default:CARD=Set 192.168.2.4
Starting without the IP address for the LMS server:
Code: Select all
./squeezelite-armv6 -o default:CARD=Set
It was working well, so now I wanted to have it started on startup. So, to automate things, I butchered the daemon start script from squeezeslave to get it to start Squeezelite.
I made the script available through my website, it's my very first Debian daemon script, so use at your own risk!
Do the next commands to automate startup:
Code: Select all
cd /home/pi/squeezelite
sudo wget http://www.gerrelt.nl/RaspberryPi/squeezelite.sh
sudo mv squeezelite.sh /etc/init.d/squeezelite
cd /etc/init.d
chmod u+x squeezelite
sudo update-rc.d squeezelite defaults

To change it, run:
Code: Select all
sudo nano squeezelite
This is how you test the script:
Code: Select all
sudo ./squeezelite start
Code: Select all
ps -A |grep squeeze
Code: Select all
2324 ? 00:00:01 squeezelite-arm
Code: Select all
sudo ./squeezelite stop
I want to thank the creator of Squeezelite for creating this create squeezebox client!
Greetings,
Gerrelt.