Devious Fish
Home of pianod2 & pianod

pianod2 is an open-source, multi-user, network-controlled, scriptable music player that plays music from multiple sources.

pianod is the original version, a lighter-weight, Pandora-only version.

Which should I use?

pianod2. It's more flexible, the client is better and easier to use.

Unless you're running on compute-, memory-, or compiler-challenged device (your gateway router or NAS appliance, a Raspberry Pi, etc), and you can make due with just Pandora, in which case the original may meet your needs.

If you're on a 10.7+ Mac, and don't want to compile, your can try Orchid. Beware, though, it's not yet anywhere near stable and has some issues.

  pianod pianod2 Orchid
Status Stable (downloads)
Maintenance only
Stable (downloads)
& ongoing development
Early development (downloads)
Crazy unreliable
Project page DeviousFish.com/pianod DeviousFish.com/pianod2 DeviousFish.com/orchid
Sources Pandora (One at a time) Pandora, filesystem, tone generator
(Aggregating capable)
Same
Automatic tuning Based on login or user attribute Based on login or user attribute Same
Outputs One Multiple rooms One
Crossfades No With libao or AVFoundation, but not libsdl Yes
Media substitutions No Yes r184
Client On web Included or web Included or web
Client languages English English, French, German and Spanish Same
User guide No Yes Not yet
Dependencies libao
gcrypt
gnutls or PolarSSL/mbed TLS 1.3
json-c
libfaad and/or libmad
Depends on configuration, but typically:
libao, libsdl, or a suitable libavdevice output
gcrypt
gnutls or mbed TLS 2
json-c (for Pandora)
ffmpeg or libav or OS X 10.7+
taglib (recommended)
zlib, gzstream (optional)
OS X 10.7+ (?)
Programming Langage C 99 C++11 Packaged
Memory usage* Fairly light Moderate to heavy Typical
Page color Blue Pink Gray/tan
Protocol Stable In flux Same

*Memory usage

pianod2 memory usage depends on sources loaded. On my Mac, it starts at about 10MB, growing to 25MB after indexing 13,000 songs from a filesystem, reaching ~60MB after several days of mixing with ~20-25 Pandora stations, at which point it levels out.

Other Projects

wsgw (deprecated) is a Websocket gateway that enables HTML5 websites to connect to non-Websocket services.