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


Fund Me

Want pianod2 to get better? Make a donation so I can focus on enhancing pianod instead of paying jobs.

Or mail a check to:
Perette Barella
176 Middlesex Road
Rochester NY 14610

Donations are not tax deductible and will be recorded as income. I am not using a crowdfunding site because they take a larger share.


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–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>.

2018–01–28: Transition from macOS to Linux is moving along; release scripts are now functioning under Linux and I’ve been able to push a release with a few bugs/small features I worked on to get my toes wet in my new environment. Meanwhile, the repository has been reorganized to allow branches and is ready for additional developers for those interested in contributing. And on the website, the recent changes page now includes the to-do list as well.

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.