

Not entirely automatic, but I found that Navidrome (at least when you use a third party client like Feishen or Symfonium) has smart playlists. I use that to write some simple queries like:
By genre:
- Ambient
- Downtempo
By listening habits:
- All Favorites
- Rediscover Old Favorites
- Last 100 Songs Played
- Never Listened To
- Top 100 Songs
and so on.
Obviously, the genre smart playlists assume your music has Genres tags. I use Picard (with the Last.fm genre plugin) for that.
MusicBrainz Picard
It’s a GUI tool that gives you the ability to tag songs in bulk. It uses the MusicBrainz database to provide relevant metadata, and also provides user plugins (like the Last.fm plugin I mentioned)
I get my songs in batches (through Bandcamp and youtube-dlp) every couple of months, so GUI is fine for me.
However, I’m seeing a CLI alternative called https://beets.io/ ? Apparently it is a CLI tool that also queries the MusicBrainz database (or Beatport, or Discogs), and apparently integrates well with Lidarr. I never tried it, however.