On Listening Part 1: How I Keep a Music Library in 2026 (It Shouldn’t Be This Hard)
Contorting jukebox software into something that can sanely manage 150k mp3s.


I keep a pretty extensive digital music library that I’ve been building for 28 years. It’s 1.5 TBs of mp3s at the time of this writing, and it’s been my primary way of listening to music for around two decades.
Being a musician myself, I’m not someone that has the time to build and maintain jukebox software that can work for normal people, but over the years I’ve ended up putting a ton of time into my current library ecosystem. A lot of that time has been spent thinking about how to deal with a large library, and what feels like the most natural way to garden and navigate that.
The short version
Modern streaming apps try to handle a few things: Music discovery, show notifications, listening on desktop, listening on mobile. Here’s what I do:
- Radar / discovery: I hear new music through word of mouth, various favorite labels and publications, Bandcamp and Ampwall, and more word of mouth. I don’t need anything else.
- Show notifications: I’m already out a few nights a week, I’m fine.
- Desktop: Swinsian, the “single source of truth” library.
- Home stereo (when I’m not playing physical media): I have an NAS drive that runs a Plex server, and a set of scripts on my main laptop that auto-runs every few days, syncing the Swinsian library to the Plex library (ugh). Then, I have an old spare laptop sitting next to the home stereo with a copy of Plexamp running.
- Mobile: Plexamp, same library.
Listen, it’s worth it
I think having a digital music library is so important. I use mine all day every day. I keep physical media shelves too (tapes, CDs, records, USB drives, a few other near-unplayable formats), but my mp3 library is my main thing, and I love it.
- Listening this way feels beautiful, the way any other well-kept part of the home feels beautiful.
- It’s the only way I can keep up with everything that passes by my radar. On any given day I have a 24-72 hour queue of albums that I’d like to listen to, and I usually listen to at least a couple new albums a day, mostly in the order they were added. I’m usually a few months behind.
- I wouldn’t be the musician I am without it. Being able to listen this broadly, deeply, and systematically has changed my practice (and perception of music) immensely.
- Probably a fifth or a quarter of my library just isn’t on streaming and never will be, including a lot of my favorite music ever.
- I do not pay a monthly fee to listen to files on my computer (no duh??). No one tracks what I listen to, no one puts ads in my face.
- Tracks never disappear, or move around, or get crowded out, or get edited, or change artwork, so long as I keep good data hygiene.
- The metadata is pretty clean, no tag slop like “Track Title feat. guest artist 1, Guest artist 2 (Guest Artist 3 Remix) [2022 remaster ]”
- The UI is blessedly dull and doesn’t try to lead me around. I never feel like I’m lost in Ikea, and I never have to click a red dot.
- Tracks and albums are organized in a way that makes sense to me and facilitates context and memory. I never have the “ugh what should I listen to?” feeling that I would get whenever I used to open Spotify. (Insane to me that I would have that thought – that’s the power of UI design.)
- I get to sleep at night knowing I’m not funding some weird tech dorks who fund military AI tech and shove ICE ads in people’s faces, and who basically single-handedly hollowed out the music industry, which was already completely fucked but somehow sucked less than this?? Wild. Anyway.
But it does suck
On the other hand, it is a long-term hobby, and it does take constant data hygiene.
- Files come to me in all formats and with all manner of disorganized metadata. Standardizing this stuff requires not just consistent data hygiene, but also thinking through how I want to organize stuff – programmer/archivist thinking that’s fun for me but that probably sucks for most civilians. (A lot of the ID3 tagging is batched by Kid3 and Mutagen.)
- In order to keep a 1.5 TB library I have to use an external SSD. They’re smaller than they used to be but it still sucks to have it dangling off my laptop.
- Then, if I don’t want to lose everything, I need to keep a backup onsite, plus another backup offsite.
- Then, if I want to listen on my phone, I need to keep a Plex server on my NAS drive, with a fourth copy of the library. Sigh.
- Insult to injury, this fourth copy needs to be kept up to date by a bunch of Python scripts that I’m still tweaking as of this writing. These scripts also alter the ID3 tags of a lot of the files as they’re copied over to play nicely with Plex’s metadata idiosyncrasies, which differ from Swinsian’s. Sigh.
So it’s a good amount of work. It shouldn’t be this hard. Normal people should be able to just have this for free, or for no more than the cost of a reasonable bookshelf.
But, in 2026, it is what it is. Here’s how I do things:
First layer: Swinsian
Swinsian is truly a wonderful piece of software. Go buy it right now if you’re on a Mac and want an mp3 library. It’s old school iTunes without the bullshit. It’s been working for me since 2017.
That said, I’ve contorted the playlist and metadata system into something it’s not supposed to do, but that ultimately makes sense for me. It looks like this:
1/4. New Arrivals section vs. stuff I’ve listened to
First, the library is broken into two main categories: Stuff I’ve listened to and stuff I haven’t. Remember copying entire libraries of mp3s from friends in the 00s? Remember downloading entire discographies of your favorite artists? I still have all that stuff, and I’m still occasionally making my way through it.
The way my ecosystem can tell if something is a New Arrival or not is by whether I’ve assigned it a genre. Little hacky, I know, whatever.
Further, there’s a lot of shit I want to listen to. So, I keep different playlists:

The inbox playlist at the bottom is the one that gets the most play – everything else is me getting excited & going on a downloading spree, listening to like 10 hours of it, and then leaving the rest for later or never. (Which, the fact that I can do this is so amazing to me???) But inbox is the day-to-day radar – new releases, word of mouth reco’s, etc.
2/4. Moving albums out of New Arrivals
When I listen to a new album, I assign it a genre, then delete it from whichever new arrivals playlist it’s in. It’s not yet fully in the system, that comes later. Every month or two, I’ll open a smart playlist containing tracks where genre != null and rating == 0 and look at what I’ve listened to in the past month, rating things as I go. Once it has a rating, it’s fully in the system.
It’s important for me to do this once in a while, not as I listen, because it gives the albums time to stick in memory or not, to get pulled off the shelf for replays or not.
My ratings system is kind of psycho, but it basically works ok. It’s probably due for a reordering, but:

Swinsian stores ratings on a track level but I keep them consistent at the album level – meaning, an album’s tracks will all have the same rating.
- 5.0: I’m into it.
- 4.5: I’m a little into it.
- 4.0: “What was this again?” or “Oh right, that album was fine.” or “Oh right, I like that song.”
- 3.5: My tunes / my friends’ tunes.
- 3.0: You know those noise / ambient artists with like 100 albums that all sound the same? Some of them I actually really like. But, it’s not like I have an attachment to any specific albums. So.
- 2.5: Top of the current listening pile.
- 2.0: Albums that aren’t new arrivals, but that I wanna get more familiar with.
- 1.5: Not a ton of these single-file mixes – remember those from the 2010s? If I have one on hand I’m gonna be into it, but the ecosystem should be able to differentiate between one-track-one-piece files like I Am Sitting in a Room from one-track-multiple-piece files like an Electrifying Mojo FM radio broadcast from 1983. So, this is how I differentiate between the two.
- 1.0: I don’t like deleting stuff from the library, but some stuff I just don’t need to hear again.
- 0.5: Audiobooks, podcasts, new age tapes from the 80s and 90s, Stephen Romano’s radio drama soundtrack version of The Maxx from 1993, etc.
Are these “ratings” as such? Mostly no, but it’ll have to do.
Most albums that are coming from new arrivals will be 3.0 (monochrome), 4.0 (this was fine), 4.5 (pretty good), with 2.5 (run it again) in second place, and 1.0 (dollar bin) and 5.0 (hell yea) being probably equally rare.
3/4. Genre
For me this stuff is fun to think about, but again this is psycho archivist stuff that normal people shouldn’t have to deal with just to have a record collection.

I have a few rules about how I handle genre that help keep the tag-slop at bay:
- Genre isn’t objective and these words are all spectrums with plenty of overlap between each other. The concept here exists somewhere between 20th century marketing jargon and descriptors of actual cultural traditions, so it’s pretty hard to work with in a definitive way. “But hey,” I tell myself, “no one’s looking at your little music library so have fun & be yourself & file things however you want.”
- I have always loved the fact that when you walk into a record shop, every album has to go in one place. None of this
indie, indie rock, 90s rock, rock and pop, rock n roll, indie, tweenonsense. I try to emulate that model by using (mostly) one tag per album. Exceptions for certain compilations, some splits, etc. But it helps to feel like I’m putting something on a shelf somewhere. - Limit subgenres to one level deep.
hip hop/cloud rap,jazz/cool jazz,heavy music/black metal– these distinctions are enough for me to maintain order. I don’t need nosecond wave blackened tech grind, that’s just slop.
It’s true there’s plenty of overlap between some of these genre worlds – oh well. Everything’s gotta go somewhere.
I almost never end up touching these genre playlists actually – I kind of just keep them around as a reference for knowing my filing system. They were fun to come up with when I first starting using the genre tag 9 years ago, and reflect more on my own preferences and education than anything else.
4/4. Artist vs. Album Artist
Thinking again of the record shop metaphor, albums by ††† are likely to end up under Deftones, likewise you’re likely to see Condo Fucks filed under Yo La Tengo. The Album Artist frame in Swinsian comes in handy for that.

Outro
This is getting long so I’ll save Plex and the Python scripts for next time. Thanks for reading! Music is probably the best thing.