pianod is a music player with line-oriented and
Websocket TCP/IP control interfaces. A simple protocol makes for
easy clients, mix scripting, integration with a home automation
system, or use as multiple-user music system.
has a full-featured
web-based interface that allows multiple listeners to view
status and share control.
In English? Install pianod on your stereo-connected computer, and you and your family can remote control the house music from any web browser: your phones, tablets, laptops.
The original supports Pandora. pianod2 supports multiple music services. I hope it will be available in alpha form soon.
Some systems (Linux, at least) without SO_NOSIGPIPE crash with SIGPIPE “randomly” (=sometimes when clients disconnect); this is fixed in r170. Also, systems with small kernel network buffers can suffer connection hangs if pulling a lot of data at once; this is fix in r171. Thanks to Bryant Young for reporting both and working with me to get them resolved. Incidentally: MSG_NOSIGNAL goes on every send() call; it’s not set once like the SO_NOSIGPIPE socket option.
- Stable releases (r167): Download latest • View all
- Development (r173): Download latest • View all
- Outdated editions: View
Versions r164 and earlier are deprecated due to a protocol change that crashes libpiano. Fixes are discussed on the mailing list for those interested.
- SVN access (includes XCode project files). Building from SVN requires GNU autotools (autoconf, automake).
- Use the web remote off the Web, or download and install it (you will need to use pianod’s -c option to set the client location). The web client is rich with features for the Pandora power user: unlove a song with the neutral button (☯), toggle song or artist seeds with one click (種), or add a song or artist that played as a seed to another one of your stations (+).
- Michael Hines is developing a mobile client for the Titanium cross-platform SDK.
- node-pianod is a node.js library for controlling pianod
Documentation & Support
- Instructions: pianod installation guide, API documentation and football documentation—Football is the socket layer used by pianod
- Support: support wiki and mailing list
- Visit my instance via telnet to explore the protocol. (Although as a visitor, you will have listener rank and limited actions.)
- libpiano, the player library, on github
- pianod2 is the second generation pianod: not just Pandora anymore.
- Pandora’s official clients are available from Pandora.
- pianobar is a terminal-mode Pandora client (and the origin of libpiano). 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.
- Elpis is a Windows client
- Pithos is a Linux client
- mserv is a similar-style jukebox for local media