Tuesday, November 1, 2011

Internet Radio -> Router + USB Sound-card


I listen to internet/streaming audio quite a lot and normally do it via my computer. I thought it would be nice to have a stand alone system that would do the same on its own. So my prerequisites were:
  • A stand alone system that would boot and get online without the need of a computer.
  • Let me connect its output to my Power Amp / Powered Speakers / Headphones.
  • Ability to control it from multiple devices - PC , Laptop , Mobile phones.
  • Ability to play all kinds of online audio streams like shout-cast.
  • Upgrade-able and highly customisable.
Check out the video and description below. What you see in the video below is the router directly feeding music to my old power amp. The router is connected to the internet via my home wifi network and so is the phone.  Here I use my phone to control the music and the same can be done from the computer as well. Since the unit is stand alone there is no need for the mobile/computer to be running.




Hardware:


Asus WL-520gU:
This is a router with a USB port to connect a printer. The idea is to flash a custom firmware on to the router and make the router support a USB sound card. http://www.asus.com/Networks/Wireless_Routers/WL520gU/

USB Sound Card: 
These are available on amazon and eBay. They have a USB jack on one side and a headphone and mic jack on the other side.

Software:
Firmware: OpenWrt [custom build] https://openwrt.org/
SSH/Telnet Client: Putty http://www.putty.org/
Webserver: Mongoose http://code.google.com/p/mongoose/
Mongoose hosts a website from the folder it is installed in. I downloaded the packages [kamikaze-2.4] on to my PC and then ran Mongoose in the folder thus serving the opkg packages. I then edited the opkg.conf file to point to this location before installing the packages. This is very useful for a quick install, to avoid errors and for future re-installs.
Player : 
Ario [ For Windows ] http://ario-player.sourceforge.net/ 
MPoD [ for iPhone ] http://www.katoemba.net/makesnosenseatall/mpod/


Other Links:
Asus Firmware Flash Utility:
http://www.asus.com/Networks/Wireless_Routers/WL520gU/#overview
Custom Firmware: 
http://mightyohm.com/files/kamikaze-2.4/openwrt-brcm-2.4-squashfs.trx
Open Wrt Package Link:
http://mightyohm.com/files/kamikaze-2.4/packages/mipsel/


A little more insight:
The router acts as a micro computer running a very thin version of a linux OS. Once this is done the router is configured as an internet client rather than a router. We then install the usb sound drivers to support the usb sound card. MPD is a server software for playing music and MPC is its client software[ both are installed on the router]. These are configure to start with the router and can then be controlled from an external controller [ similar to a TV remote] like a PC or a phone and can be used to add or change the stations. A running PC or a phone connection is not required once the music starts playing as the router houses the entire software and hardware for the same.

Steps Involved: Here are the steps in a nut-shell:

  • Flash custom Open Wrt firmware on to the router after putting the router in recovery mode, using the Asus update utility.
  • Telnet into the router from the computer with "Putty" and add a root password and exit.
  • SSH into the router with "Putty".
  • Configure the network settings and configure the router as a wifi client giving it static IP.
  • Reboot the router and SSH into it via WiFi.
  • Modify the package link for the opkg and update. [ Here I pointed to my locally hosted web-server]
  • Install kmod-usb-audio and kmod-usb-ohci.
  • Plugin the USB sound card and reboot.
  • After reboot install mpd and mpc [ Music Player Daemon and Music Player Client]
  • Make the required directories on the router. [.mpd , music ,  .mpd/playlists ]
  • Make changes in the MPD configuration file.
  • Start mpd server.
  • Start mpd client.
  • Configure automatic start of mpd on router startup.
  • Install Areo on your computer and connect to the router and play your channels.
  • Install MPod on the iPhone to connect to the router and play.
Tip: 
To add stations to Areo : To get the link to the internet radio stations I use Winamp. Play the shout-cast radio stream on winamp and right-click on it and then go to "File Info" to get the link to the station, copy it and add it to Ario. The same can be done via Winamp to play-lists that you download online.

I build this Internet Radio based on the information found on the Mighty Ohm [ http://mightyohm.com/] website. So for more information do visit their excellent website.

1 comment:

  1. Online tech support team providing linksys router Support one of the best service.
    Linksys Router Technical Support

    ReplyDelete