Converting YouTube performances to albums

October 22, 2026

NPR's Tiny Desk and KEXP's In-Studio performances are both great — small performances by musicians you might already know or have yet to discover. (The YouTube comments on the KEXP videos also frequently compliment the sound engineering quality!)

They are freely available on YouTube, but I want to listen to them on non-YouTube environments. This means downloading the audio, converting to mp3, chopping it up into a track list, and tagging the result. I have done this manually in the past but I finally sat down to automate it.

The program works like this: you create a short TOML file with the relevant data (URL, track timings). The program uses that to execute yt-dlp (aka youtube-dl) and ffmpeg to generate the album. It's basically a fancy shell script; most of the work was figuring out the proper ffmpeg incantations to e.g. attach the video thumbnail as album art.

You also can generate the metadata file with an agent. This is another instance of my guess and check pattern: sometimes the track times can be extracted from the YouTube comments, but it's also fine if it generates a sloppy guess because you can fix by hand and commit the result.

Anyway, this post is possibly longer than the program, which I put up on GitHub at evmar/taper. Maybe you'll find it useful too. My latest grab was a recent Angine de Poitrine performance, which you might find as either noise or just your jam!

(As too small a footnote to warrant its own post, I set up hosting for these with Navidrome behind Tailscale at home. Navidrome seems pretty great. There are a million clients for it too, so it works on my phone as well. The state of software in this area has improved a ton since I last looked.)