From iTunes to Ampache


I'm a music person.

Not a musician, just someone who loves music and always has something playing on speakers somewhere.

From the late 90s I started building my digital music collection. Some tracks from ripping my CDs, some from the web (though less commonly early on), some even from the CD-ROMs attached to a computer magazine I bought regularly which often had a bunch of mp3s. Once the iTunes Music Store became a thing, I started to buy them directly as well.

I used a number of music players but eventually settled on iTunes. Not because it was the best (because it clearly wasn't) and while I loved being able to buy stuff from right there in the program, that wasn't the reason either. It was because of smart playlists. I've actually still not seen an implementation of smart playlists anywhere else that works as well as iTunes did for me.

At one point I found a blog post (long since lost) that explained a very clever set up of smart playlists that built on each other. The final result was a playlist (or a few) that could play you the music you liked (favouring tracks that you've ranked/starred higher than others) and not played within a certain time (again, depending on stars: you don't mind hearing the better songs more often). I won't go into the design of these playlists (though I could be convinced to if anyone is really interested).

One of the issues with my playlists was that I expected myself to listen to every track, and then rate it and if necessary put a tag (eg "nsfw") in the comments field if the song was not suitable for playing at work (or back in the day, around my young children). Songs with rude words, too silly (I am an unrepetant Weird Al Yankovic fan) or just too loud. I had one playlist that would tell me which songs hadn't been marked in these ways. And gradually, many thousands of songs became hundreds and eventually dozens and then none. Was such a great feeling.

Of course, I have obtained a lot more music since then, but it's always easier to keep things under control than to get them under control.

Sadly (only in respect to this story) I switched over from OSX and Windows to Linux about seven or eight years ago. And that meant no more beautifully tagged and organised music collection with handy playlists. Like I said, I have found nothing that really comes close.

I ended up installing Plex on my server that contains my music. It has smart playlists but they are very limited. I use Beets for organising my files at the file level but there's no player built in (though apparently you can create smart playlists with it, but play counts are important and not part of beets). I've got a Sonos system now and that can hook into both Plex and just the music library at a file sharing level. But again, no smart playlists. And then, there's Spotify. I've been using it quite a bit of recent years but no smart playlists there either.

This year, I've decided to make use of my own music collection instead of Spotify. I played around with Plex's smart playlists and had a bit of an idea of how I could make some "good enough for now" playlists (with perhaps the hope that they might improve the functionality in the future). But then I decided to have another look around for something that might do what I wanted.

And I found Ampache. It's an older system, with a web interface built on top of Apache. But the best part of this story is its smart playlists. While there are a few limitations (smart playlist have to match ALL options or ANY option, there's no way to combine AND with OR) I have been able to reproduce my old playlists almost perfectly. I had some problems to start with, but a short conversation on the support Google group solved that eventually.

The only real problem: my untagged playlist is huge. I've got a lot of listening to do.

2020-02-06