As of version 27, forked-daapd works well enough for my purposes.
forked-daapd is an audio streaming server and webclient for same; it offers compatibility with:
- iTunes and Rhythmbox clients
- AirPlay speakers, including Shairport
- MPD clients
- any mp3 stream client, like VLC
- Roku Soundbridge
Of these, you can no longer buy new Soundbridge hardware, and the Chromecast Audio is no more, though other Chromecast devices are supported (for audio streams, not video.)
My primary desire was to get the powered speakers in my bedroom playing music from the house music server, with some additional features: some sort of remote control for volume and play/pause; remote selection of music; not too much physical space. I bought a Chromecast Audio just before Google decided to stop selling them, and it’s really a nice device: smaller than a hockey puck, with 2.4GHz wifi, USB power in, and a choice of volume-controlled 1/8" stereo jack out or TOSLINK optical, through the same port.
Prior to this release of forked-daapd, I had various problems controlling the Chromecast Audio:
- long delays between starting music and actually getting sound out (sometimes nearly a minute)
- audio drop outs
- poor volume resolution (too quiet, mostly-okay, and eighteen steps of too loud)
All of those problems seem to be gone now.
In addition, forked-daapd has the ability to read my filesystem hierarchy rather than consulting its database of songs, which I find to be an absolute necessity. Many of my tracks date from times or occasions when embedded track info was missing or wrong, so any music database which wants to trust the embedded info first is going to be problematic.