Greetings,
For several years, I have used the wonderful Cantata as a frontend to MPD. Sadly, the frontend stopped receiving updates in 2022 and has started to some problems with age. While I continue to use Cantata for as long as I can, I have been looking around at other music players. However, I haven’t seen anything that aims to implement some of the nice things from Cantata.
In short, a few things I have been looking for in a player:
- suitable for playing single songs, albums, full artists, custom mixes, or playlists (no hyperfocus)
- can either set a custom artist sort tag (albumartist, composer, etc.) or properly handle semicolons (or some other separator char) in tags
- semicolon tag split in general would be nice for genre handling
- powerful active queue handling (move; shuffle and sort by song, album, artist; remove duplicates; consume on play; etc)
- online lyrics search from multiple providers
Additionally, some nice-to-haves that Cantata handles:
- CD ripping
- export library to portable device (with compatibility)
Anyone have a favorite that can handle at least the shortlist of functionality I come to expect? I don’t expect specifically a frontend for MPD, but I would prefer a player that doesn’t struggle to handle a library with 104 magnitude library size.
it might be more complicated than you’re looking for (requires a self-hosted server instead of just a desktop app), but take a look at the ecosystem surrounding Subsonic
Subsonic did some licensing shenanigans, but there’s an actively-maintained GPL3 fork called airsonic-advanced
there’s also alternate implementations, Gonic and Navidrome, that maintain compatibility with the original Subsonic API
because they all work with a common API, there’s a variety of clients that can work with the backend.
I’m also a big fan of Beets for music organization, it’s not tied in to the Subsonic ecosystem so you can use them completely separately if you want. it handles tagging, can fetch lyrics, and can also transcode the library (or an arbitrary subset of it) if you want to send it to a portable device. (not sure if this is what you mean by compatibility)
I currently have Beets organizing everything, run Navidrome on my server pointed at the Beets library directory, then Ultrasonic on my phone, and the Navidrome web interface on my desktop. the combo is especially nice for streaming to my phone - Navidrome will transcode FLAC to Opus on the fly, and Ultrasonic has an option to cache those files locally, and to pre-download them over wifi instead of mobile data. so I have my full collection available on my phone, can stream it from anywhere, and the songs I listen to frequently are already downloaded and I don’t have to waste mobile data, or wait for them to load if I have poor cell signal.