Devious Fish

pianod Launch pianod web remote
pianod2 includes the web remote with the software. Versions here may be more up to date.
legacy pianod remote



pianod2 is a free, multi-source, network-controlled music player daemon for use as central music server or scriptable backend. It is published under the MIT license.

  • Multiple sources. Mix your Pandora stations with your MP3 collection. Mix that all up with your mates’ collections. When listening, choose a single source or let the media manager integrate playlists from multiple sources (different users, accounts, or music services) into one big happy pile of music. DLNA (network media servers), podcast/feed-based services, and other music services are future goals.
  • Remote-control. Start, stop, choose or rate music from any modern web browser.
  • Shuffle mode. Mix by songs, playlist, album or artist, and queue up selections from your local collection.
  • Multi-user. Share control with your family, roommates or visitors—but pianod tracks ownership, allowing only the right person to revise each collection.
  • Automatic playlist selection. Each person rates playlists, and pianod adjusts the mix based on who is listening.
  • Multiple output zones. Different music in different zones for home automation scenarios.
  • Scriptable. Use the included piano script to control playback, runmix to set up a sequence of timed playlists, or write your own and interface via the socket interface (line-oriented or websockets, plain-text or TLS secured).
  • Flexible. Build with your choice of 3 media libraries, 3¾ output libraries, 5 TLS packages and 3 sources.
  • Media substitutions. Save bandwidth by substituting streaming media with matching local media.



2018–08–13 A Clang compile error and compatibility with FFmpeg 4.0 are in r300.

2018–07–12 Compile Error: A compile issue shows up in src/mediaunits/threadedmediaplayer.cpp under Clang 6. Edit the file to add #include <functional> on a new line after #include <future>.

If you encounter problems, please report them to the developer or the mailing list.


Three clients are included with pianod2:

  • Standard client. Made for using pianod.
  • Console. Made for testing, debugging and nerds, the console provides command line access. Commands entered in one of the inputs (or selected from a list) execute, displaying results in a table.
  • Viewer. The console displays album art and information in large, friendly letters. Suitable when you just want people to know what’s playing.

Project needs

  • Translators: Included are English, German, French and Spanish. Translations were done with software; there may be errors or awkward phrasing. If you want to translate for another language, or want to improve existing translations, take a look at the .lang files in the Development downloads and mail new or updated files to peretteのdeviousfish dot com. SVN access may also be arranged by request.

Similar & Related Projects

  • pianod, the original version.
  • Orchid, a precompiled edition of pianod2 for Mac OS X.
  • Pandora’s official clients are available from Pandora.
  • pianobar is a terminal-mode Pandora client (and the origin of libpiano—thanks PromyLop). 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.
  • Tomahawk is another multi-source, social music player but as an application rather than a daemon.
  • Elpis is a Windows Pandora client
  • Pithos is a Linux Pandora client
  • mserv is a similar-style jukebox for local media (and I’ve stolen back my enhanced search algorithm that those guys never integrated into their code base.)
  • mpd, the music player daemon

Thanks to all those, too numerous to list, who created and maintain the included and non-included packages. Thanks also to those responsible for the tools and artwork on which pianod depends: Dimitri van Heesch for Doxygen, Microsoft for TypeScript, everyone behind C++ and the STL, Liz Aragon for the piano and football/soccer ball, Fletcher Penny for multimarkdown, and everyone at MacPorts for making package management manageable.