I’ve been searching for services that host personal music collections, but there doesn’t seem to be much available. I came across a product called Vox [1], which I might try. There are also plenty of self-hosted projects of varying quality (but I hadn’t seen Black Candy before).
I'd like a service where I can upload a large folder of MP3s, and it would help organize them into albums, perform useful processing like ReplayGain normalization, BPM and key analysis, etc. It should also have a good playlist manager and player for desktop and mobile.
Some existing services allow you to add your own music files, like MP3s, but this often feels like a second-class citizen. Services like SoundCloud are focused more on social interactions, which I don’t really need.
Have I missed any services like this?
There's some growing dissatisfaction around algorithm-driven music services like Spotify. Also, these services carry the risk of music disappearing for various reasons. I think a service allowing curation of own MP3 collections could appeal a significant fraction of all music lovers out there.
1. Self-hosted web server with local file system access to your media.
2. One HTML page that I will generate for you. This page will contain a media player and a play list of your media files.
With this approach the solution is ridiculously simple, but you are at the mercy of the client device web browser for media codec/container support. For audio this is not so restricting but for video this is really restricting.
There are three examples in the repo. Look for the html files in the lib directory.
They won’t actually play media for you because I don’t include media files in the repo but you can get a very real sense of a long playlist and the usability of the media player controls and full playlist interaction.
Maybe I will work on better documentation in the future but I only wrote this to play files on my phone around the house.
Navidrome has worked well for me for the last couple years. My collection (~80 GB) is pre-organized FLAC but Navidrome will transcode to MP3 if needed. I use Substreamer on Android to connect to it (Airsonic API/protocol) or the WebUI at home or work.
Just the right balance of simplicity and features for me.
if not for the work requirement, at 80gb you could likely do what I do: use syncthing to make there be a full copy of the files on your phone. I've got a media terminal, my laptop, and my phone each keeping each other up to date. it's never broken or been frustrating. it works offline perfectly.
> Navidrome does not support browsing by folders, but simulates it based on the tags with a structure like: /AlbumArtist/Album/01-Song.ext
I don't think I have seen this tag simulation when I tried it around 2 years ago. But in any case, is this good enough? And does it recognize artists and songs from MusicBrainz like Jelly does flowlessly?
I don't know what you mean by "recognizing songs from musicbrainz", I've never used jellyfin to be able to compare. In my case, all files are tagged outside Navidrome.
All my players allow browsing by either Album Artist, Artist or Album. My folder layout follows this principle, so I'm happy with that.
But I can imagine layouts which don't adhere to this (classical music comes to mind), in which case I can see how not being able to get to the folders can be annoying.
Recognizing from MB is this: you have title1.mp3 and you can use MB fingerprint to detect song/album. Or song simply has subset of tags and MB fills up the rest, along with the links to MB details of artist/album where you can get tiny little details.
Discogs is a bit better in that, but its proprietary, so no.
I am more proficient with folders and have the number of tools to do so. Any GUI that streaming servers present is very unusable for me, I use it only for major happy case. Anything more advanced, I drop to the file system.
For Musicbrainz I use beets to import/organise the songs into my library directory structure.
For stuff not on mb I use fb2k as it has a fairly decent tagger and move it to the local external drive, which is synced to the server.
At home I usually just use fb2k to play to my sound system via an interface, and on the go I use play:Sub connected to the navidrome instance transcoded to 160k OPUS (initially over tailscale but now via portforward/cloudflare and soon cloudflare tunnel)
I use FB2k with picard and MB. If its not in the MB, I add it myself. With bookmarklests and picard this is very fast process.
Beets is too much work. I don't always have shell around nor I want to remote for this. This thing I use works on whatever machine I am currently.
I use jelly for convenience to connect to my media server when I am not at home. At home, I always use foobar2k which simply rocks for precise search and randomly generated lists (I even use SQL for this, via plugin). Its playing capabilities are far from any jelly like streaming server. Jelly is very bad at non-typical case, you can't even share a link to the current playlist and if left alone, after a day or two I have to reload jelly home page and go from there again, as anything that was left in the browser for a couple of days stops working until I reload from home.
I used to add stuff to MB but it's a bit involved as a process and honestly I'm too lazy a lot of the time. Picard is fine as a GUI tagger but I like foo.
If I can't pick what to listen to I quite like radiooooo, Radio Paradise, Radio Meuh, etc.
I use iBroadcast[0], it's a service dedicated exactly for this. Costs me a bit each year but I've felt it worth it. There's some differences to organising in iTunes like the handling of compilation albums that I'm not so fond of but you can see how it works on the free tier.
The browser client only does 128 kbps streaming but their mobile client can set the streaming quality (I have it at 256, max is 320) and I'm working on my own PWA client using their API that I've also set to 256, which would work on both mobile and desktop.
You can also set the browser client to stream the original file directly but browsers don't play most of my formats like ALAC so it just doesn't play anything then.
From the "outside" this looks like such a strange product. The landing page is very obscure and, together with the name of the service, I would automatically think this is a super old school product (being generous) or some sort of weird scam (being overly critical). There are no docs or pictures or any further description of what the product looks like, I guess the authors expect people to sign up to see (it is free! :-).
Other than that, I wonder how they address their costs [0]. It seems free accounts have unlimited uploads. Anyway, I guess I'll have to give this a try to learn more about it.
EDIT: I found some pics by clicking in their facebook page, which in turn links to a news page [1] (...).
EDIT: This product is fascinating. Seems like they've been around for 12 years, have a bunch of loyal users, and support their product (?) via reddit (at minimal approve of the reddit channel since they link to it themselves!). I wish we could know more about the team behind it. Related: [2].
Most self-hosted services metadata is only as good as the metadata on your audio files. I think using something like MusicBrainz Picard or beets to tag your media well is required, along with making sure that all files of a given album are in the same folder. (Plex has what seems like strict file naming conventions for music, but really all you need to do is make sure each album has all its files in one folder).
If you're interested in something more automated than having to use a program to tag your media, then I'm not sure what a good option is. Most people that don't use streaming services and have a digital music collection are tech-savy and don't mind going through the extra effort of tagging the media.
So here is my question, or one of them, as someone starting this whole journey: exactly what metadata do you want outside of artist, song title, album title? Because I can see there's a lot to be had. Embedded album covers, subgenre tagging, synchronized lyrics ... hyperlinks to Discogs and MusicBrainz, maybe? Tempo in BPM? Key?
ID3v2.3 or IDv2.4? Can you even do that to FLAC? And where do you get that metadata, using what tools?
I just don't want to be the guy who has to re-rip three thousand CDs because he did his workflow in a lazy or careless manner.
The cool thing about MusicBrainz Picard is that it puts not only an ISRC metadata tag on each file, but also a UUID for the MusicBrainz recording and for the MusicBrainz album id.
The idea here is that if you use something like MusicBrainz, you can actually retag all of your files in bulk if necessary because MusicBrainz Picard knows exactly what release each file belongs to. You can then configure MusicBrainz Picard to tag your files to your liking. It's a really great piece of software.
If you are tagging files manually, I think an ISRC tag is the bare minimum because it can allowed automations like MusicBrainz Picard to easily identify what each file is.
As for what version of ID3 or ID2, I'm not sure. It might depend on the software you use to play the audio files. The reason I personally use MusicBrainz Picard is because its MusicBrainz specific metadata is read directly by Plex, so even if the other metadata on the file is bad for some reason, Plex will match the MusicBrainz tagging with the correct release. I mean, Plex uses MusicBrainz internally for its metadata, so it's a safe bet for my purposes.
> ID3v2.3 or IDv2.4? Can you even do that to FLAC? And where do you get that metadata, using what tools?
I rip my CDs to Ogg Vorbis, so the ID3 question is moot. Yes, FLAC supports plenty of metadata. I use beets[1] for tagging, which uses MusicBrainz as the source of truth.
> exactly what metadata do you want outside of artist, song title, album title?
Album Artist, and sort-orders for albums/artists what I like the most (but not all players use those), then yes album covers are useful. I don't really care about subgeneres, but there is a plugin for beets that will fetch those from last.fm
Besides artist, title, and album, I also make sure to include release year and genre (and I'm not really particular about genre definitions - about 90% of my music falls under "rock," "pop," "jazz," or "soundtrack"). I add album art, too.
I started digitizing my collection 15 years ago, ripping from CDs and cassettes, and have never regretted not adding any more metadata.
I’ve been wanting the same thing for a while now too. I’ve thought about trying to build it myself but the thought of requiring users to manage their own library seems too niche. A hosted, music-focused Plex competitor sounds awesome but also not sustainable. Surely the majority of those users who care about managing their music library are also happier owning their storage too, no?
Storage is tricky... I know how to self-host software and get storage but I find it too much of a hassle to do it for me only, so I just have a folder in a google drive, which I need to migrate from soonish.
Why do you think a Plex competitor would not be sustainable?
Huge shout out to astiga which I've used for a year and a half. It'll run a streaming service for you out of cloud storage (eg s3, but also stuff like dropbox or google drive).
I'd love to self host but have a toddler and not much time, so astiga is a great "take my money and do it for me" kind of service!
I'd like a service where I can upload a large folder of MP3s, and it would help organize them into albums, perform useful processing like ReplayGain normalization, BPM and key analysis, etc. It should also have a good playlist manager and player for desktop and mobile.
Some existing services allow you to add your own music files, like MP3s, but this often feels like a second-class citizen. Services like SoundCloud are focused more on social interactions, which I don’t really need.
Have I missed any services like this?
There's some growing dissatisfaction around algorithm-driven music services like Spotify. Also, these services carry the risk of music disappearing for various reasons. I think a service allowing curation of own MP3 collections could appeal a significant fraction of all music lovers out there.
--
1: https://vox.rocks/