node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org ยป


audica radio

A stream player/recorder with a Textstar Serial LCD, Web UI and REST UI. Developed to use a raspberrypi as a standalone streaming radio. VLC is needed for playing. Streamripper is needed for recording. It allows to display the current songs of a radio stream if a playlist url and a regular expression is configured for parsing it out.


POSThttp://raspberripy:3141/add?url=<url>[&name=<name>&playlistUrl=<stream playlist url>&playlistRegexp=<regular expression with group(s)>]Add a radio station and a optional name for it. Optional is also the a parameter for the stream playlist and a parameter with a regular expression that defines what do parse out from the content of the playlist url
POSThttp://raspberripy:3141/update?old=<stream entry as json>&<new url value>&name=<new name value>&playlistUrl=<new stream playlist url value>&playlistRegexp=<new regular expression with group(s) value>Update a radio station.
POSThttp://raspberripy:3141/delete?old=<stream entry as json>Deletes the first station that matches the stream properties
GEThttp://raspberrypi:3141/nextSwitch to the next radio station
GEThttp://raspberrypi:3141/prevSwitch to the previous radio station
GEThttp://raspberrypi:3141/playStart playing the current radio station
GEThttp://raspberrypi:3141/stopStop playing the current radio station
GEThttp://raspberrypi:3141/recordStart recording the current radio station
GEThttp://raspberrypi:3141/recordStopStop recording the current radio station
GEThttp://raspberrypi:3141/stationsGives a list of all added stations back. The format is as json.
GEThttp://raspberrypi:3141/currentSongGives the current song of the current stream back.


Key A (upper left)Switch to the previous radio station
Key C (upper right)Switch to the next radio station
Key B short <2s (bottom left)Start/Stop playing the current radio station
Key B long >2s (bottom left)Show ip's of eth0 and/or wlan0 if available
Key D (bottom right)Start/Stop recording the current radio station

Web UI

Open the following url http://raspberrypi:3141/ in a web browser.


Complete values for the "kexp" radio station:


Complete values for the "radio eins" radio station:

nameradio eins
playlistRegexp<p class="artist">(.*?)</p>[^]*<p class="songtitle">(.*?)</p>

There can be multiple groups. Every group is displayed.