Devious Fish
Home of pianod & pianod2

pianod is an open-source, network-controlled scriptable music player for use as central music server.

pianod2 adds multiple sources and separate rooms.

  pianod pianod2
Status Stable (downloads)
Maintenance only
Beta (downloads)
Ongoing development
Project page
Sources Pandora Pandora, filesystem, tone generator
Automatic tuning Based on login or user attribute Not implemented yet
Outputs One Multiple rooms
Client On web Included or web
Client languages English English, French, German and Spanish
Dependencies libao
libfaad and/or libmad
libao, libsdl, or a suitable libavdevice output
gnutls or mbed TLS
json-c (for Pandora)
ffmpeg or libav
taglib (for filesystem)
zlib, gzstream (for file compression)
Programming Langage C 99 C++11
Memory usage* Fairly light Moderate to heavy
Page color Blue Pink
Protocol Stable In flux

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

Which pianod should I use?

If you're running on compute- or memory-challenged device (your gateway router or NAS appliance, a Raspberry Pi, etc), and all you want is Pandora, use the original.

If you want multiple sources, use pianod2. If you're on an embedded device, trim out unneeded sources using configure's --without-source options.

If you need autotuning, you'll need to continue with the original one for a little longer.

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