Since 2021 I’ve been using a combination of tools to handle my music collection. Today I’m going to talk about the tools I’m using to manage my collection including how I catalog, import, serve and listen to it.

Although I do subscribe to a music streaming service I have taken an interest in expanding my physical collection as well. My collection consists largely of CDs with some vinyl records mixed in. While I appreciate the convenience of digital stream I also enjoy the process and experience of playing physical media, which I’ve written about before. That said, I like to also take my collection with me in digital formats and enjoy knowing that it comes from my own personal collection. Before we get into how I copy my CDs to digital lets first discuss how I catalog and keep track of my collection.

Cataloging

A couple of years ago I learned about a site called discogs.com. In their words Discogs is “a platform for music discovery and collection” and this is exactly how I use it. You can search for and add to your collection each piece of physical music media you own or are interested in owning and add it to your collection or wishlist, respectively. The database contains user submitted and curated information about most releases available with surprising detail. You can choose to be super detailed about how you add items to your collection by selecting the exact release or more simply add the first item you find. How you use Discogs is ultimately up to you but it is an incredibly handy way to track what you already own, find new stuff you’d like to own and so on. Using Discogs allows me to track the state of my media (some of it is damaged and needs to be replaced, for example) as well as ensure I don’t buy the same item twice.

Importing

I import all of my CDs using a tool called XLD, available at https://tmkk.undo.jp/xld/index_e.html. Using an external DVD drive to my Mac, XLD is able to look up what CD is in the drive, grab metadata about it and take care of copying the music off of it and onto my NAS. The metadata ensures that the folders are named properly as well as the track titles. I stick to the FLAC format for the files as it ensures the best quality and compatibility with playback software. Whenever I sync music to my phone for offline play in the car I opt to have the songs encoded on the fly to a smaller format.

Some vinyl records also include digital files that you can download from a site. For these I will typically add them to an appropriate folder of either MP3 encoded music or FLAC encoded music.

Storage

All of my music is stored on a TrueNAS based storage system and then shared out to a virtual machine that is running Plex. TrueNAS exports the data using Samba so it is easy for my Mac and the virtual machine to access without issue. TrueNAS stores the files on a raidz set for redundancy and I periodically back the data up to another disk.

Playback

Once the music is imported and stored on TrueNAS I add it in Plex. Plex is a convenient way to manage music as it detects the music you have added and downloads additional metadata about it, like album reviews. Recent releases of Plex allow you to “sonically fingerprint” music so that it can better find similar music in our collection for building better mixes.

Although Plex is the server part of the music system the actual software I use is called Plexamp. Plexamp is an app that is dedicated to music playback offering a slick interface, ability to download music locally from Plex and provides gapless playback. If you’ve ever listened to an album and wondered why there were gaps between tracks that sound like they should flow together, gapless is what you’re looking for. In addition to gapless, when playing a mix you can optionally have Plexamp fade between songs and I find that this works extremely well. Overall, Plex and Plexamp are my favorite tools for listening to music.

The actual hardware I listen on varies depending on where I am. While working and at my desk then I will be using the setup detailed on my audio system page. While out and about it will be through my iPhone connected to headphones or my car.

Conclusion

I’ve long listened to music but only recently have I gotten back into the general process of collecting it and paying attention to the process of listening to it. I enjoy my physical formats but I’m also not blind to the convenience of digital formats. How do you manage your music?

Nobody asked for this but today I’m going to discuss why I put a CD player back into my audio setup.

Before we get into that, I want to touch on one of my biggest pet peeves about macOS: the media controls. A few years ago a change was made to the keyboard media controls that allowed them to control more media, even media that is available on web pages like YouTube or the little video widgets on news sites. On the surface this seems like a welcome change but in practice it feels as if the feature was programmed to purposely do the wrong thing at all times. For example, let’s say you have Spotify open playing music in the background and you visit a site that as an auto play video. Then you get a phone call so you press pause on the keyboard and…the music doesn’t stop? What gives? Well, macOS decided that the keyboard controls should control the video on the webpage and not Spotify. Or, maybe you’re like me and you use multiple music apps like Spotify and Plexamp. You’re listening to music with Spotify in the foreground with Plexamp paused in the background. You press pause on the keyboard and now suddenly there is two songs playing because macOS decided that what you really meant was to unpause the inactive music app, not the one you are actively using!

While I certainly appreciate having access to an effectively unlimited supply of music at the click of a button the overall experience has degraded significantly over the years. I believe a major contributor to this is due to how powerful today’s computers are. We’ve added greater functionality and expectations to computers and in a sense they’ve become too capable and complex for their own good. It used to be that browsing the web while running Winamp was about as much as you could reasonably expect a computer to do. I’m not lamenting that computers are more capable but I am saying that it has come at the expense of some tasks that used to feel simple and straight forward.

Which brings me back to why I’m using a CD player. As I mentioned in my broader post about the state of my audio stack in 2022, I have put a CD player back into my audio setup partially because of the straight forward simplicity that it offers. I turn on my amplifier, CD player, turn the input knob to CD and then put in a CD. That’s it, that’s all it does. Since the device has but one function there is never a question of what pressing a button will do. If a CD is playing it will always pause it. If it paused then it will play it again. As Antoine de Saint-ExupĂ©ry Terre des Hommes once said, “A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away” and I believe using a CD player is similar in a way. It’s incredibly refreshing to put down a device that can do anything well enough in favor of a device that does just one thing really well.

Of course, using music apps will always offer greater overall flexibility what with the huge selection to choose from, ability to take and play the music anywhere and all the other reasons CDs lost out to file based formats. But like reading an actual book, taking a CD out of its case, placing it onto the tray of a CD player and pressing play provides the sort of tactile experience not possible using digital files. For these reasons, at least for now, I am back to listening to CDs (along with my vinyl records) at least some of the time.

For a long time, I’ve wanted a Spotify-like experience but with music I’ve collected over the years. I appreciate Spotify because I can stream music on my desktop and phone anywhere I am but I can also download music locally to my phone to save on bandwidth. That said, there are some things that aren’t on Spotify like video game soundtracks or ocremix content that I also want to have with me. While Spotify can download local content to my phone the process is a bit cumbersome and the interface is, honestly, not great for that.

Enter Plex and Plexamp. Plex, probably better known as the tool of choice for those heavily into piracy, is actually a great way to store, catalog, and play your music. But Plexamp (and a paid Plex Pass) as a client really takes the experience up a notch by offering an experience that is entirely focused on music playback including hi-res formats and gapless playback. It also has some really clever genre, mood, and artist-based automatic playlists that are super slick. Combine this with the ability to stream the music from outside your home and offline it (at any bit rate you want including FLAC) and you really have a winner.

While I could do a video showing it off I don’t think I could a better job than this one.

A while ago I wanted to improve my audio setup in my office. I ordered some bookshelf speakers and hooked them up to an old receiver I had sitting around doing nothing. To help improve the setup further I decided to use a USB-C to optical adapter so that I could feed pure digital into my receiver. The receiver has a better DAC than my Mac and it reduced the noise a bit as well. Once I did this however I noticed that sound effects from the system and the first little bit of music would not play. This was because macOS does it’s best to save power and will power off, or whatever it is doing, the sound card. In turn the receiver would see no signal and sort of forget what sound format it was receiving. When audio started to play then it would determine what type of audio it was getting and then output the audio. Of course, this takes enough time that most system sounds won’t play and instead I’d got a small pop sound in the speakers as the receiver “came online”.

To combat this I found this little helper – https://github.com/mttrb/antipopd. This app will send what amounts to a null (in the background it is the say utility saying “space”). This keeps the audio chain alive and prevents any pops or delays in audio output. I highly recommend it.