pianod Launch pianod web remote


Recent Changes

  • 01 Jul 2014—r165 Update libpiano/libwaitress. Fixes segmentation faults that started June 19.
  • 02 Jun 2014—r164 libfootball: Update some JavaDoc comments.
    Update copyright dates, standardize guard #define names around .h files.
    Adjust build to look for json-c's .h file in json/json.h, json-c/json.h (json-c 0.12+), or json.h.
  • 22 May 2014—r163 create-pianod-tls-cert: Fix gnu certtool detection, which didn't work on some older versions.
    libfootball: JavaDoc the comments for use with Doxygen.
Multiuser pandora play
Shared Pandora player
with web-based remote
Share stations
Share stations with housemates
Customize user privileges
Customizable user privileges
Revise stations
Edit stations & Music
QuickMix station picker
Pick your own stations, or...
Rate stations for autotune
Rate stations & autotune based on who's listening
Schedulable station changes
Make an automated DJ by scheduling stations
Socket interface
Integrate via a socket,
HTML Websockets, or...
Shell script interface
With a shell script if you prefer.
/ : Slide time:


pianod is an open-source Pandora client with line-oriented and Websocket TCP/IP control interfaces. A simple protocol makes for easy clients, mix scripting, integration with a home automation system, or use as multiple-user music system. pianod has a full-featured web-based interface that allows multiple listeners to view status and share control.


  • Stable releases (r165): Download latestView all
  • Outdated editions: View all.
    Versions r164 and earlier are deprecated due to a protocol change that crashes libpiano. Fixes are discussed on the mailing list for those interested.
  • SVN access (includes XCode project files). Building from SVN requires GNU autotools (autoconf, automake).


Documentation & Support

Similar Projects

  • Pandora’s official clients are available from Pandora.
  • pianobar is a terminal-mode Pandora client (and the origin of libpiano). It is interactive, with keystroke commands instead of full statements, but has event support which runs a shell script or whatnot to do scrobbling or other things.
  • Elpis is a Windows client
  • Pithos is a Linux client
  • mserv is a similar-style jukebox for local media

Thanks to all the open-source developers who provide our dependencies, Fletcher Penny for multimarkdown, Dimitri van Heesch for Doxygen, Liz Aragon for the piano and football/soccer ball, and Zennaware for making a decent Mac SVN client, Matthias Miller for Javascript Lint, Mihai Bazon for UglifyJS2, and everyone at MacPorts for making package management manageable.