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)
Free and Open Source Software
If it's free and open source and it's also software, it can be discussed here. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
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.
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.
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.
Check out MusicBee. It's my go-to for Windows now, and it has most if not all the things you asked for.
(Note: upon looking into it, MB is not OSS, if that is a deal-breaker for you)
It doesn't look to be open source, or is it?
Haha, yeah I just updated my answer a second ago after realizing this was c/foss and not c/technology.
No problem. When I decided to look for myself, it seems this question has come up on their forum, and the dev gets really salty over it 😂
Looks like good software, though. 👍
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.
https://rybczak.net/ncmpcpp/ https://github.com/doctorfree/MusicPlayerPlus
Strawberry is a music player and music collection organizer. It is a fork of Clementine released in 2018 aimed at music collectors and audiophiles.
IIRC I was not satisfied with the UI, so it didn't become my main player. But maybe that's different for you.
i thought of using strawberry or clementine actually, usually i use either qmmp, audacious (both qmmp and audacious are actually nice to use for me because of the fact winamp skins are somehow supported and i found it cool) and more recently rhythmbox though i looked through and wanted to try other music or video (or both) players out of curiosity.. in your opinion (or the person reading this' own opinion) how good is either strawberry or clementine and which is better (assuming since strawberry is a fork, i thought it would have more stuff in it or stuff that does it better compared to clementine)
I've always used aimp2, but my library broke file path metadata and the fixup tool fails to relocate them. I've looked at FOSS and free alternatives, and am not really, fully satisfied with any of them.
IIRC, I found none of them sufficient. Strawberry, Clementine, Audacious, MusicBee; all have dissatisfactory UI / UI structure for me. Foobar is way too minimal. From my exploration, MusicBee was the most reasonable, acceptable for me. The customizable tab setup is a confusing mess too, but otherwise… I've been using that for a while.
At some point I started implementing my own music player, making use of the BASS library like aimp2 does. But not much has come of that [yet?].
Maybe I can recover my aimp2 metadata, and will switch back to that.
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.