OpenWRT-internet-radio is a project mainly written in Shell, it's free.
Internet radio project based on OpenWRT Backfire
How to compile:
Run following: mkdir OpenWRTradio && cd OpenWRTradio && svn co svn://svn.openwrt.org/openwrt/trunk/ ./scripts/feeds update -a git clone git://github.com/dz0ny/OpenWRT-internet-radio.git . make prereq && make atftp --trace --option "timeout 1" --option "mode octet" --put --local-file bin/brcm-2.4/openwrt-brcm-2.4-squashfs.trx 192.168.1.1
Default settings: