Goodbye for now :( - Finally migrating off of Spotify
Last Updated
this feels less cute and a little threatening coming from a large org like Spotify
I finally migrated off Spotify! Cancelled the subscription today. Data export says I've been here for 13 years (since 2013). Funnily enough, I couldn't even answer properly in Spotify's exit survey as the "Competitor you switched to" dropdown did not have what I migrated to. Which brings me to...
I am fully migrated to Jellyfin + a lot of other small pieces of software. I guess I'm in my self-hosting arc :3. According to my Dokploy logs this is about 4 months of work spread out into the noise that is my life, from the first time I started up my Jellyfin container to when I finally felt comfortable enough I'd gotten everything I needed from Spotify.
Getting the music
This was the hardest task. I had 2,000 songs, which is a far cry from the 400 or so I started with in Spotify. I spent about 8 hours over two days manually entering them song by song in 2016 so I was unfortunately expecting at least 40 hours of work. Problem is, getting out of Spotify is harder than getting in.
For some of it I was able to purchase it off Bandcamp. The artists still have an online presence and had the albums with the songs I listen to on them. There was some irony when I realized that each month I used Spotify at $12/mo, I could have bought an album or two directly from the artist. And I would have had something to show for it instead of a blob of JSON from Spotify. Anyway, I spent about $400 doing this.
The other songs fell into a few buckets. I listen to a lot of songs unattached from the albums, so a long-tail of songs existed in albums where I only wanted that song. Some artists don't seem to exist outside of Spotify anymore, either not producing or moving on. Some just... don't have a storefront elsewhere. And then some artists I could only buy on sites like Qobuz. But the idea of having to pay different tiers of money for different audio formats (Bandcamp gives you all of them at one price point) kinda sent me down a rabbit hole and I just didn't. I felt weird buying inferior audio at a slightly lower price point, but didn't want the harddrive space of the more expensive one?
For these songs there are other means 🏴☠️ on this wide open internet, and I'll let you use your imagination. If you want to know the specifics, you can email me directly.
Once I had all the local files though my process has been very simple. I put them into Seafile to sync them across multiple devices (mostly as a backup) and then rclone them from the Seafile server to Jellyfin. This keeps the public Jellyfin server away from my home network.
Scrobbling without LastFM
For scrobbling (LastFM's word for song logging) I ended up using jellyfin-plugin-listenbrainz. I guess it doesn't do "scrobbling" as it's the ListenBrainz API but the end result is the same. For collecting it I have it pointed at a Koito instance which I'm really happy with. Koito is honestly a gem. It looks amazing, the import process required me just giving it one of my exports for it to read, and it's been stable up until this point. It's nice I can still share it with my friends too.
My instance of koito showing the music that brings me the dopamine
Playback (Home, Car, Offline...)
Before Spotify I just synced all my songs across devices. And my backup is to use GoneMAD Music Player again. But now I had a lot more songs weighing in at 26GB and then there's scrobbling to worry about and...
For home and general default use I use the Jellyfin web player. It just works on anything with a browser. For the car I used this (and suffered random disconnections) for months before I found there's a quality first-party Android app for this. Works with Bluetooth media controls in the car and doesn't act funny when it disconnects like the web player.
Offline playback is still unsolved for me. I've tried symfonium and it seems to do what I want but there's still the scrobbling question. There's a chance pano-scrobbler might work here but more exploration is needed.
Playlists
This one is mostly unexplored. Playlists are well supported in Jellyfin but I need a mega playlist of all my songs minus maybe 50 or so I have for other reasons (basically Liked Songs). Ideally an on-disk stored in my library format would be nice too.
However, this is a future-me problem. Right now shuffling everything works for 99% of cases.
So... why was it so hard to leave?
Getting into Spotify was so easy (after the initial pain). So why was getting out so hard? It's not like my habits had changed that much, had they?
I think because Spotify not only solved music playing, but music finding and consumption, it allowed me to consume more songs and more frequently than I would have otherwise. If the magnitude of my consumption had stayed the same (at 400 songs with no scrobbling) leaving would have been more trivial.
I think my consumption has also become, ever so slightly, more detached from the human element of it all? Consider the human element in consumption is a spectrum. On one end buying a crystal case CD from an artist on the street and on the other end being fed unnamed music on some AI-generated radio. I just shifted more to the latter end. This is only because the long-tail of art I like does not package so well as to always be inside what Spotify (and the industry itself) can and wants to standardize, for good reasons. The pull of the convenience of Spotify had me straying less frequently and less far into my own long-tail of music I'd potentially like.
Final thoughts
Not sure if Jellyfin will stay. I now see it may be simpler to just use players that support scrobbling directly. But for now this works, and I've achieved my goal of cancelling my Spotify subscription.
Here's to finding more of that long-tail music that doesn't make it to Spotify, and parting with more of my hard-earned money to the right places and people.