the itjerk

my adventures with technology

Tag Archives: raspberry pi

raspberry pi 3

You know, every time I get a new raspberry pi computer, a month or so later there’s a new and improved model out. So that rPi 2 B I got the kids for Xmas is now rendered obsolete by the latest rPi 3 B. Built-in wifi and bluetooth, faster processor  from the 64bit 1.2GHz quad-core chipset, faster RAM and GPU, and hopefully the same footprint because I really like the fancy “official” case they are in.

BTW, I did pickup a rPi Zero for $5, but until I find an HDMI-mini to HDMI cable that costs less than $5, I guess it will just remain in its wrapper.

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

raspberry pi 2 b

Well, just about six weeks after I purchased a raspberry pi b+ a new, vastly improved model is released. Faster multicore processor and double the RAM mean it’s much nearer to a real PC than ever. One will probably need recompiled software to take advantage of the multicore processor.

  • A 900MHz quad-core ARM Cortex-A7 CPU (~6x performance)
  • 1GB LPDDR2 SDRAM (2x memory)
  • Complete compatibility with Raspberry Pi 1

On the web: http://www.raspberrypi.org/raspberry-pi-2-on-sale/

new year brings model b+, beep, chromebook

Happy holidays and all that. Xmas brought a few new electronics to the household, here’s a very brief recap:

Raspberry Pi B+ replaced the old model B. I have a feeling that the old one was a dud somehow because every time it had an unclean shutdown, I had to reformat the SD card. Anyway, in with the new out with the old.

I received my Beep unit just before the holidays, in fact, even before email notification of the shipment. But of what use is a music player – one that handles digital output btw – if there is not any software that can access the music that you actually own!?! In a box it will sit until I can use it with something other than Spotify or Pandora.

The Acer Chromebook is quite nice, though the keyboard takes a little getting used to. Supervised mode is a bust because although you can limit/restrict web access, it is not possible to allow a supervised user the use of apps or extensions.  Really Google?

HiFiBerry DAC

hifiberry-kit

HiFiBerry

Arriving today from Switzerland, the €36 (delivered) HiFiBerry is a “high-resolution digital-to-analog converter for the Raspberry Pi …with a Dedicated 192kHz/24bit high-quality Burr-Brown DAC for best sound quality.” The daughter-board plugs directly onto the RPi’s onboard connector P5, but does require you to solder an 8-pin header to the RPi in order to do so. You’ll also need to solder the output(s) you want on the HiFiBerry as well. Easy enough, I had it connected in a few minutes, and did a quick check to see if the RPi recognized it, then went to the piCorePlayer web interface to configure it to send sound through the HiFiBerry.

aplay -l
card 1: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []

How does it sound? Fantastic, very clean and detailed, in a word, audiophile grade. The key is Inter-IC Sound or I2S. You can read all about it here but it’s a short, isolated path for PCM data, with extremely low jitter. Which is a great thing, because both analog out and USB audio on the RPi weren’t optimal for quality sound. No noticeable noise floor (as I’m running the TA2024 without a volume pot), it’s a dead silent performer (which is a great thing). Cheers to the RPi people for making I2S available on the Pi, and to the HiFiBerry folks for an affordable, high quality product.

IMG_20140331_151340

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.

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.

how to make raspberry pi

raspberry pi and vnc

Not sure why I didn't do this before, but VNC is the low-cost option for accessing your Raspberry Pi. Most everyone uses TightVNC as the server, and on my Mac here in the office, VNC client is built right in to OS X, as well as a RealVNC plugin for the Chrome browser. But I'll use the java-based TightVNC jviewer because it supports ssh (those VNC passwords are easy to snoop).

Here's instructions on how to run TightVNC server at boot, no sense to reinvent the wheel (thank you to penguintutor.com), as it's everything you need to getting your RPi headless:
Remote GUI access to [RPi] using Tightvnc
TightVNC
VNC Viewer for Chrome

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