Your IT department won’t let you copy MP3s onto your work PC, and your iPod won’t hold your massive music collection, but you need to listen to tunes while you toil away at the day’s labor. What’s an audiophile to do? The answer is simple: Stream the collection you have stored on your rig at home to your PC at work.
Sure, you could fire up a streaming service such as Pandora, Last.fm, or any one of the thousands of radio stations that simulcast their programming on the Internet, but then you’d have to either listen to a fairly random playlist based on your typical listening habits or to someone else’s playlist instead of your own. It can be fun to hear new tracks and find new artists, until you get stuck with a band you just hate—like Linkin Park. Sometimes you just want to fire up a favorite album and listen to the whole thing from start to finish. That’s where your own personal streaming station comes into play.
It’s easy to build a private streaming radio station that you can connect to from anywhere on the net using free software and services. We wouldn’t suggest deleting your Pandora account and just jamming to your private station, but personalized web radio is a great alternative for days when other streaming services just don’t cut it.
The secret sauce in our streaming scheme is SqueezeCenter, the open-source software that powers the Squeezebox. Formerly known as SlimServer, SqueezeCenter extends beyond the basic chores you’d expect from streaming-box software. For starters, it works with more than just the Squeezebox—you can stream your music to any PC with a copy of WinAmp, iTunes, or Windows Media Player installed. The application serves as an impressive web-based music jukebox that you can use to navigate your library and play virtually any DRM-free music format ever created.
The first order of business is to select the rig to install SqueezeCenter on. Remember that it will need to run 24/7, so you probably don’t want to use your monster gaming rig for a server—unless you enjoy paying $300 a month for electricity. We recommend an older laptop or another rig that sips power.
Once that’s decided, download and install SqueezeCenter. The installer will prompt you for the location of your music files and playlists, and then it will scan your library for supported music files, including MP3, FLAC, M4A, OGG, and WMA files. The scanning process can take a long time, especially if you have a massive collection, so now would be a great time to step away from the PC and go for a walk.
Quick Tip: SqueezeCenter will look for album art in both folder.jpg files and inside the ID3 tags themselves. You can easily update your music’s album art using iTunes’s Get Album Art feature or the excellent Album Art Downloader utility ( http://sourceforge.net/projects/album-art ).
Before you can stream, you need to configure SqueezeCenter to accept connections from other PCs. The software allows password-free access to the web interface by default, but only from the computer it’s installed on. We have to change that.
Open your web browser and connect to http://127.0.0.1:9000 . Then click the Settings button in the lower-right corner of the interface and select the Advanced tab. Pull down the menu and select the Security tab. You’ll want to enable password protection and set up a username and password for access.
Next, you need to configure the allowed IP addresses. It’s a good idea to give the PCs on your home network access to the SqueezeCenter interface so you can change playlists remotely. To determine the IP addresses that get access to SqueezeCenter, you need to find out what IP range your home network uses. The easiest way to find your IP on XP or Vista is to open a command line (Start > Run > cmd.exe) and type ipconfig . You should see a list of your active network connections, but most home users will see one IP address. To enable access to other computers, you need to tell SqueezeCenter which IP addresses are safe by using a wildcard. Take your IP address and replace the numbers following the final period with an * and put that number into SqueezeCenter’s Allowed IP Addresses field. Then click Apply.
At this point, SqueezeCenter should be properly configured to work on your internal network, but machines outside the loving embrace of your router won’t be able to access the web interface or the convenient streaming file. To enable external access, you’ll need to open up your router’s configuration interface and configure port forwarding for the ports SqueezeCenter uses.
Your router’s IP address will usually be the same as the default gateway that ipconfig displays. Type that address into your web browser and log into the router using the password you created when you first configured your router. Next, you’ll need to look for a section labeled Port or Application Forwarding. It’s usually in the Advanced section of the router’s control panel. If your router lets you specify port forwarding based on a rig’s name that will update as your computer’s IP address changes, you can simply specify the rig that will be used for streaming, set it to forward incoming TCP traffic to port 9000 on the server rig, and save your settings.
If your router doesn’t let you specify port forwarding by rig name, you’ll need to configure your server’s IP address manually. Open your Network control panel, right-click your network connection’s icon, and select Properties. Double-click TCP/IP and you can manually specify the IP address, Subnet Mask, Default Gateway, and DNS server info. Your default gateway is the same IP as your router and the subnet mask is usually 255.255.255.0. You’ll need to pick an IP for yourself; most routers reserve the range from x.x.x.2-x.x.x.99 for static IPs. You can choose any unused number in that range. You should be able to get your DNS server info from the WAN or Internet setup section in your router’s control panel. Once you’ve set up a static IP, go back to your router’s forwarding menu and forward the appropriate ports to your new address.
You should now be able to connect to SqueezeCenter from outside your home network, but only if you know your external IP address, which your provider can dynamically change from time to time. We’re going to use the free DynDNS service to automatically forward traffic from a custom URL to our home network—the program updates the IP address every time your provider changes it. Before you proceed, you’ll need to set up a free account at www.dyndns.com .
Once you’ve activated your account, log into the site and go to My Account. Then click the Add Host Services link and select a hostname and URL. We went with radiowill.kicks-ass.net Input the IP address currently assigned by your ISP (which you can get from www.whatismyip.com ). Be sure to save your settings!
Next, you need to download the DynDNS Updater, which you can download from www.dyndns.com, as well. Install it on your server machine and follow the prompts. It will ask you for your DynDNS username and password and then ask you which of your DynDNS domains you want forwarded. Make sure you check the Enable Automatic Updates option; we recommend you run the Updater as a service, which will force it to start when Windows starts whether a user is logged in or not.
That’s it! To listen to your stream, open your favorite MP3 player and go to the Open Stream option (the shortcut is Ctrl+U in both iTunes and Windows Media Player). The URL you’ll use is http://yourcustomdomaingoeshere:9000/ . Once you’ve connected to the stream, open the SqueezeCenter interface in your web browser using the same URL. Then you can select the tracks you want to listen to and rock out!
Now your stream is set up, but your friends want in on the Internet radio action. Unfortunately, copyright law doesn’t allow you to legally stream your tunes to anyone but yourself. If you want to stream to others, you can—but you have to pay. To get a license to broadcast, go to www.ascap.com/weblicense/ . If you’re choosing songs for your friends yourself and not running ads, you’re eligible to use Schedule A of the Non-Interactive 5.0 ASCAP license, which costs $288 a year. Or you could just tell them to make their own station.