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. Add your personal music collection and multiple Pandora accounts. When listening, choose a single source or use the media manager to mix all the sources.
- Remote-control. Start, stop, choose or rate music from your web browser or phone.
- Shuffle mode. Requests get priority, but when the queue is empty pianod can pick by songs, playlist, album or artist.
- 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
pianodadjusts the mix based on who is listening.
- Scriptable. Use the included
pianoscript to control playback,
runmixto 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 replacing streaming media with matching local media.
- Stable (r301): Download latest • Raspbian Jessie install script • View all
- Development versions: View all • Download latest (329) • Download XML/JSON transition version • Recent changes (SVN logs)
2020–05–02 r329 is a candidate for promotion to stable release. Changes since 301 include replacing XML storage with JSON, replacing the Pandora backend (replays are now supported), client bug fixes, and fewer dependencies for compilation.
2020–03–15 Use r304 to transition existing data files (user and source lists, filesystem seeds, etc) from XML to JSON. Then immediately upgrade to a later release, as there’s at least one nasty bug in the JSON reading code.
Three clients are included with
- 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.
- 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
- proximmon provides presence monitoring. Configure it to tell pianod who is coming and going, and automatic playlist selection can adjust the mix automagically.
- pianod, the original version.
- 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 guysnever 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, CodeLite for making a decent Linux IDE, Subversion for providing good source control, and Linux Mint for making a pleasurable distro to an escaped Mac user.