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.
first of all, there appears to be a fork of Cantata (which is still my music player of choice as well) that is still getting updates (maintained by a one nullobsi), if you're on Arch, it's available on the AUR as cantata-qt6
my current fallback option for local music playback is fooyin, I don't know for certain whether it checks all of your boxes at the moment, but it is still very much in active development
I also use jellyfinmediaplayer for music on my jellyfin server, but that doesn't have lyric support (unfortunately)
Just took a couple minutes to install and setup the fork to try it out. Turns out there is a flatpak on Flathub under the id dog.unix.cantata.Cantata that looks to be maintained directly by nullobsi. I'll have to see where rough edges show up, but this fork looks good thus far. A full port from Qt5 -> Qt6 isn't a trivial amount of effort, so mad respect to everyone working on this ported version.
There's new contender in FOSS music player scene: Fooyin
Fooyin is Foobar2000-like music player that currently hevily in development, it probably less than one year, but it has so many advance feature that even establish music player doesn't have.
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.
Looking for something else I ended up on MusicPlayerPlus which may check lots of the boxes, especially those not covered by ncmpcpp which is my favorite mpd frontend.
What operating system do you use? On Linux I use Amarok which is great, but afaik there's no up-to-date versions of it for other operating systems. It should have everything you want dunno about some of these tho like the semicolon stuff. Strawberry is a similar player that works on other operating systems.