I ditched most streaming services well over a year ago now, but Spotify has clung on because I have a playlist of around 2000 songs. I’ve set up Navidrome but now need to transfer all my music in the highest quality possible as efficiently as possible.
I tried lidarr some time ago, but it seemed to be based more around artists than individual songs and my indexer failed to find most of my library.
I’ve seen a couple of apps that will look at a playlist and then try to yt-dlp the song from YouTube but I’m worried about having a lower quality or different version. I’ve wondered if automating an “analog hole” type approach where I just pipe the audio of each song to a file and leave it playing overnight for a couple of weeks might actually be the best approach but that does seem a bit insane at this scale.
Here’s the not really legal way I have heard of
The optional steps can be more involved and need a lot of manual work. Also, the migration to Deezer will have issues, it’s not perfect.
If you want lyrics, I recommend using LRCGET or importing to Jellyfin and using it’s lyric plugin to automatically download them that way. The app SongSync on android also allows downloading lyrics automatically and manually from a variety is sources, including Apple and Spotify. Not on FDroid or Play, use GitHub or IzzyOnDroid.
As for a music player on android, I’m currents trying Symfonium. Not FOSS and actually paid, but so far it’s the best I have seen.
EDIT: Minor clarification.
I can recommend https://beets.io/ to auto Tag your library. It’s work but works better than Picard or other MusicBrainz tagger IMHO.