This is probably weird to you, but here goes anyway. Being Finnish I miss my saunas. I really do, so I substitute the sauna with hot baths. I've previously made a magzine rack so I can read a book or magazine whilst soaking in the bath. In the past I've also turned up the music on my computer so I could hear it reasonably loud into the bathroom. Naturally this meant that the sound level was quite high nearer the speakers much to the annoyance of my girlfriend and probably the neighbours. The solution to this could have been a portable radio/stereo etc, or fixed waterproof speakers in the roof. However, my girlfriend wasn't really keen on me installing speakers into the ceiling. Therefore the solution couldn't be permanent, but had to be removable.
The solution is a set of computer speakers connected to our home server situated in the loft not too far from the bathroom. The server already houses all of our MP3s and runs several music streaming apps, including SqueezeCenter (artist formerly known as SlimServer). Not too far between the dots to connect them then?!
I already had a set of Creative I-Trigue 2200 speakers that has served me well over several years as desktop speakers for my computer. They're no super-duper HiFi speakers, but they're good enough to pump out some tunes in close range and not too high volume. They're also quite compact. Perfect for the job.
I had been hoping that I could do some aluminium welding on this project, but it turned out that it was not needed. I simply took a 13x13x13mm alu U-profile of 1mm thickness some 800mm long and affixed the two speakers onto this "arm". I left a part of the arm sticking out to prevent cables from getting too close to the bath. I then bough a simple suction cup, officially known as a "Suction Lifter", from Axminster Tools, cost me £2.40. Only problem with this one is that it's a hideous colour. Nevermind. I screwed the suction cup onto the arm. Then I collected the wires and taped and zip-tied them onto the bar. I'll need to extend the power supply a bit and put it in a permanent spot, but for now it still works.
That's the hardware done.
Now how do we get the tunes to the speakers?!
I spent quite a bit of time trying to stream from the SqueezeCenter onto localhost I tried mgp123, mpg321 (doesn't do streaming), madplay, and splay, but none of them worked. To make it a bit clearer, in theory you should be able to do something like this: mpg123 http://username:firstname.lastname@example.org:9000/stream.mp3 or even madplay http://username:email@example.com:9000/stream.mp3, but it just didn't seem to work. I tried using wget etc, but I got the streaming to work only for one song, then it cut. Something like this: wget -q -O - http://username:firstname.lastname@example.org:9000/stream.mp3 | madplay - but nope. And then by some pot luck I managed to find out that there's a headless (i.e command line) version of the very nice SoftSqueeze. SoftSqueeze is a Java application that runs on your desktop mimicing the commands from the hardware such as Squeezebox and Duet. It works well on the desktop but for me it was pointless as the server doesn't bother with the GUI stuff. I was very pleased when I found SqueezeSlave. I just downloaded the appropriate binary and started it and voila I had full control over the audio. Perfect!
I then installed a iPhone/iPod Touch specific skin for the SqueezeCenter called iPeng. Whilst it worked fine, it was still a web-app and not 100% good. However, there's native iPhone apps out there, three in fact. One by the same guys who do iPeng, but the one that caught my eye was Squeezemote. The reason I chose it was because it seemed to use the native iPhone look and so far it's worked flawlessly. At £4.99 it was a bit more than I wanted to spend, but hey. The total cost so far isn't too bad. ;)
I can now pick up my phone and create a playlist for my bathroom audio experience. All I then have to do is to make sure that the SqueezeSlave is running (which I plan to leave running and install on the garage laptop too) and that I clip the speakers onto the tiles in the bathroom and turn up the volume! If it's too loud, you're too old! ;)