Self-hosting music#
Recently I decided to ditch music streaming. A few years back a migrated from Spotify to Tidal. I was mostly motivated by superior quality of the latter, ethical concerns regarding the former (ie paying 200M to Joe Rogan) and realising how little music streaming giants pay the artists.
I was happy with Tidal most of the time. It allowed me to discover plenty of interesting artists. But over last 4 years, I felt more and more like music consumer. And while Tidal shares more of its profit with the artists than Spotify, realising how little the musicians make from my streaming made me feel uncomfortable.
So I decided to ditch commercial music streaming by:
self-hosting music using Navidrome, which allows
listening music using open applications on
relying on open music encyclopedia MusicBrainz for medatada, tagging, scrobbling and recommendations
and owning music by buying directly from the artists or via intermediaries such as
Below, I’ll describe briefly my journey.
Listening#
Navidrome supports Subsonic API, so any app/service supporting it will work. Below you can find my recommendations.
Web#
Navidrome provides a basic web interface. It’s functional, but if you’re moving from commercial services, definitely check feishin. It looks/feels cool and is very customisable.
You can try it in the web browser. Or install as desktop app (haven’t tried it yet!).
Mobile#
There are several apps available, my favourite so far is tempo. It is light and works very smooth. It allows downloads for offline listening. And it’s highly customisable.
There is a fork of tempo, tempus, that seems updated more regularly. I haven’t noticed any significant difference so far.
Naturally, both apps are open and available in F-droid. Note, both support google auto, but neither worked in my car so far… For google auto support, you’ll need to install the app from github.
MusicBrainz: open music encyclopedia#
I discovered MusicBrainz early this year. And it blew my mind!
It’s an effort akin to Wikipedia, thousands of people around the glob contribute to curate it. And this week I started to contribute myself! It’s easy.
MusicBrainz offers several services/tools, some of which you may find very useful for self-hosting music library.
Navidrome links natively to MusicBrainz and ListenBrainz. Likes-sync support is under development.
ListenBrainz#
ListenBrainz offers music scrobbling. This means you can sync music you’re listening in real-time. If you do, you’ll be able to see listening statistics and personal music recommendations. I’m still exploring it. But the best about it, is that your music preferences and listening habits are no longer locked in walled garden of propietary service.
In Navidrome, go to Settings > Personal and click on Scrobble to ListenBrainz. You’ll need to add your personal token and voila! Each play from navidrome is now automatically synced to ListenBrainz.
Picard: music tagging#
Picard allows you to organise and tag your music collection. Every time I add some music to my collection, I let Picard to cluster and annotate it. Rarely, you’ll find that something is not in MusicBrainz yet. Picard allows contributing new albums to MusicBrainz encyclopedia. Once you do it, you can rerun Picard and benefit from this new information locally.
And if you keep your music collection in Nextcloud, all changes will be automatically propagated to your Navidrome server. Simple, right?
Where to get music?#
I recommend getting the music directly from the artists, ideally on physical media, and later doing digital copy for yourself. Alternatively, you can get music from a couple of services, that share their profit more fairly with artists, for example:
Band Camp - between 80-90% of money goes to artists
Qobuz - music shop and EU-alternative streaming service
You can find more comprehensive list of privacy-oriented applications/services here.