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.
oh golly why would anyone do such a thing
here’s a totally unrelated news article from about a year ago: UnitedHealth uses AI model with 90% error rate to deny care, lawsuit alleges