Here’s my “low complexity, medium effort, full legal, full quality” solution:
Start actually buying your music. I go down the list in descending order of convenience:
- Bandcamp
- Qobuz
- Apple iTunes (not Apple Music)
- Physical CDs (for ripping)
Tag all your music with Picard (or wrtag if you only buy full releases, there’s a GH issue for other cases) or beets. Picard is the simplest and most feature complete right now and has a nice GUI. Then upload your tagged music to your Navidrome.
Then use a tool like
- https://github.com/WilliamNT/tunesynctool
- https://github.com/blastbeng/spotisub (check my fork for a better functioning version) These will match songs from your spotify playlists to songs in your subsonic-compatible server (which Navidrome is) and recreate your spotify playlists using the music it finds in your Navidrome. These syncing tooks can have misses and you may need to do some log-digging or issue-opening to find out why, but I’ve gotten them working fairly decent and plan on doing some work to improve them some day.
It’s a nice, fully legal, fully self-hosted stack. Not NEARLY as convenient as having them auto-ripped for you from youtube, but like you said, there are quality and metadata concerns when ripping from youtube.