introduction
Music is super important to me and has been for as long as I can remember. I grew up “fighting” with my parents for control of the radio on long roadtrips (we didn’t exchange blows - “name that tune” was the ring of choice). I raided my dad’s library of CDs he’d get sent (he was a youth pastor at the time). I’d exchange mix tapes (on actual cassettes) with my older cousin whenever we saw him. In college napster was a revelation (followed by the attempt to do the right thing with all-of-mp3.com). I did lots of concerts too (and I’ve been working on compiling a list of them all).
When streaming became a thing, that was exciting and something I jumped on. I’ve tried most of them - Spotify, Apple Music, Tidal. It’s convenient…
introduction
Music is super important to me and has been for as long as I can remember. I grew up “fighting” with my parents for control of the radio on long roadtrips (we didn’t exchange blows - “name that tune” was the ring of choice). I raided my dad’s library of CDs he’d get sent (he was a youth pastor at the time). I’d exchange mix tapes (on actual cassettes) with my older cousin whenever we saw him. In college napster was a revelation (followed by the attempt to do the right thing with all-of-mp3.com). I did lots of concerts too (and I’ve been working on compiling a list of them all).
When streaming became a thing, that was exciting and something I jumped on. I’ve tried most of them - Spotify, Apple Music, Tidal. It’s convenient and easy. It was particularly so living overseas, working a demanding job and trying to raise a young family. I’m finding now lots of music I missed out on.
Relying on streaming only isn’t necessarily the best approach though. The quality isn’t always great for one. As more and more artists put out high-res music not all streaming services will serve it as such.
Discoverability is also harder. I miss the days of sharing mix tapes with my cousin. We occasionally iMessage about music but it’s not the same. On services a lot of the focus is on what’s popular which isn’t necessarily what’s good in my books. My main points of discoverability in the last few years has been blogs and mastodon.
The ethics of it all is also worth consideration. Streaming services are notorious for being both legal but also doing the absolute bare minimum for artists. It’s not really a “break even living wage” sort of deal for most bands as far as I’ve heard. Not like being able to sell actual copies of the music. I’d like to actually support the music and artists I really like (beyond upping the play count on some individual songs).
And so, that all got me thinking about the way I’m using music and I’m in a place where I’m happy with the how things look.
the backbone
That lead me to keenly watching and listening to how others approached music and in so doing, discovered two things: Navidrome and Qobuz.
navidrome
I’ll start with Navidrome. It forms the more personal part of my listening habits. It’s open source server software that you point at a folder of music and it’ll stream it for you, either directly on the web OR through local apps using the subsonic api. It’s not difficult to setup - it’s basically just getting a docker container going - but there are some things to consider, especially when it comes to storage. I’ve gone thru two iterations: network attached storage and direct attached storage.
My first run at it used network attached storage. Last Christmas in a sale I lucked into a 4TB HDD storage VPS for about $40/yr. It worked fine for mp3s but it struggled with FLAC files and highres audio (what I am most interested in). Between read speeds, the transfer from the VPS through the VPS to me just wasn’t as efficient as I’d hope. So I’ve moved to a VPS with storage directly attached to it and it runs *so much more smoothly. *It feels like night and day.
So navidrome is setup, attached to a domain and working great! But it does come with a big shortcoming: Library management. That can be…a pain. But I’ve found a solution that’s working for now: Beets. Beets is a python app that creates a database of your music library, sync metadata with various known sources, with plugins that extends its capabilities (like a plugin that attaches LastFM play count to audio tracks). It’s a command line tool though and it’s pretty intense to setup. If you are going down that route, I recommend starting with a good proven config (this is the one I started with) and customize to suit your needs. One of the cool pieces: there’s a plugin that will automatically initiate a subsonic API library scan when you update your library so Navidrome will stay up to date.
With that in place, when I get new music this is my workflow:
- I can use rclone to send it to an “incoming” folder on the server.
- Login to the server and use beets to kick off an import. This will sync lyrics, makes sure that the metadata is properly attached and move the files into the appropriate spot.
- Launch an app and start listening!
🌊
Bandwidth also matters. Currently I’m using vnstat on the VPS to keep an eye on bandwidth so I don’t go over.
qobuz
I use Navidrome for my absolute favorite music. I stream everything else. For the next year at least I’ll be streaming with qobuz. Their library is expansive and sounds **great. **It’s French based (which I think is part of why I hadn’t heard of it until early this year). I love so much how they prioritize sound quality. I have been using Apple Music previously and they are lackluster at best - pulling up albums side by side will really make your eyes pop.
the frontend
For Navidrome, there is its built in web interface. It’s an option but its not ideal. I’m using it more for the API than that. So, here’s how I’m accessing it:
iOS clients
Arpeggi: Arpeggi has been my main one. It’s a Testflight app, meaning it hasn’t made it’s debut in the app store yet, but it’s easy enough to install from the testflight link in Reddit. It’s got easy access to your full library. Built in discovery features (I like the “Random Albums” carousel quite a bit) are a bonus. And full API support (like initiating a library scan) are quite nice (but also niche).
Cadence: Cadence is made by an online friend who I’ve learned a ton from. His app is very opinionated and that’s great! You can tell it’s made with love. Where Arpeggi has run with full API support, Cadence really focuses in on the “Album” experience. Load it up and get a list of your Artists or Albums. Pick some things to add to the queue and start listening! There’s search built in and discovery based on “Recents” and “Frequents” and that’s it! I’d love to see a “Random Albums” carousel on the discover page but that’s probably the only thing I’d request. It doesn’t do playlists but the more I set with it the less I think its needed.
osx clients
Cadence: Cadence is by far the most usable subsonic app I’ve come across for my Macbook Air. I tried a few others in the mac app store and didn’t have great experiences. As an app, it functions just like the iOS version.
streaming
For streaming I’m locked into the Qobuz apps and that’s OK. They work well - no complaints there.
wrapping up
For now at least I’m really happy with where I’ve landed. It’s been a joy rediscovering my music library I had on a hard drive in what amounts to inaccessible cold storage. It’s been even more of a joy adding recents favorites to it slowly. And Qobuz has been such an improved streaming experience over Apple Music. If you are a music lover and looking to change things up I’d recommend a similar setup!