I use Logitech Squeezeboxes to play synchronized audio throughout my house. They work great with the library of music I have managed in iTunes on my “server” computer. I only have 2 real gripes about my current setup.
- Logitech no longer supports the Squeezeboxes and is now supporting their updated UE line of audio products.
- Google Music hasn’t had a supported API for connecting and playing music.
With the appearance of Google Play Music All Access and the fact that most of my mobile devices are Android these days, I’ve slowly been getting used to using All Access.
With the release of Googles new Chromecast devices for $35, I figured it was time to figure out a way to get it working through my squeezeboxes.
In order to get this to work I needed to first find a simple way to get the audio out of the Chromecast. I accomplished this with the help of an HDMI Audio Extractor. The exact one I purchased is the ViewHD Premium HDMI to HDMI + Audio Audio Extractor from Amazon.com. There are many brands and types and possibly cheaper working alternatives. It is essentially a pass through device that has outputs for the audio to pass it to an external amplifier or sound system in case your TV doesn’t have an audio out.
Testing this with some simple speakers this worked well. I could plug the Chromecast directly into the HDMI Input and control it and have it play media and only get the audio out.
Next I wanted to get this into my computer in a way that I could play the audio stream through my Logitech Squeezeboxes/Server. To accomplish this I have worked up the following solution.
I routed the audio out of the HDMI Audio Extractor into the Line In on my soundcard/motherboard using an RCA to Mini Jack cable, similar to this one.
Next I used a combination of an Icecast audio server and a recorder/compressor to essentially create my own private internet radio station. Using VLC I was able to test that the audio was indeed getting recorded from the Line In port and compressed and sent through the Icecast server. This was the most complicated part of the whole process. And mostly it came down to making sure the Line In was being used as the source audio, opening server ports and getting the config of the audio compressor and Icecast server setup properly.
With that working I was then able to open up the audio stream just like any other internet radio stream via the Logitech Squeezebox web interface. I also made it a favorite so its even easier to access.
I have just about a 3 second lag currently between switching tracks and hearing the change. But that is quite small and could possibly be shortened even more since its all local communication within my own network.
Now I can play all of my Google Music Library including All Access content throughout my house via my Logitech Squeezeboxes. Which means my friends and family can connect to my wifi and que up music, youtube music and more and control the music experience as easily as I can.
I’ve run the server over night for several days and haven’t run into any issues yet. Once its setup, it works pretty nicely.