yt-dlp w/ the -x flag for audio. I have a scraper script that tracks my favorite channels on some Invidious (YT proxy, easier to scrape) site and automatically generates the yt-dlp download link to fetch them all. Then I copy them over onto my phone. You could automate that part, too, but honestly it's just a single command so whatever. I listen on the phone using the mpv player there, or mpv when I'm on the computer. When I'm done with a file, I delete it.