Yt-dlp is the gold standard for that.
https://github.com/yt-dlp/yt-dlp
Tag cleanup and album art are their own beast that you’ll wanna tackle post-download, but beets is another gold standard tool that can help with that layer.
Should we be wary of Red Hat?
Should we be wary of Red Hat?
Should we be wary of Red Hat?
Just to throw out an easy option: if the music is well-labeled on Youtube, you can get pretty close to that full suite with just yt-dlp by using
--embed-thumbnailas a stand-in for album art, dumping your files with an “Artist - track - album” naming structure using the--output-templateflag — then using an awk or python script as a second pass to add the artist/track/album names to each file as tags.E: and in case it isn’t self-evident, you don’t have to give yt-dlp a URL for each track; it’ll work fine with a playlist URL.