310 comments

[ 3.3 ms ] story [ 76.9 ms ] thread
I've been using Plex (connecting via Tailscale) with their Plexamp music player.

It's been working pretty well, but I might have to give this a try to compare. Although, it's not clear from the GitHub README or the Apple App Store listing if the mobile app allows you to download music for offline listening.

Same, but Jellyfin.
(comment deleted)
I tred it with Emby but I had so much music, it slowed down the search engine noticeably.
Pretty much the same here;

  - Cloudflare tunnel for public access
  - Tailscale for private use and sharing over WebDAV
  - Nextcloud for general file management 
  - Jellyfin for music and video streaming
Have this running in containers: https://github.com/gbraad-homelab.

Nextcloud's WebDAV has issues with filenames or at least how it works. A large amount of files in non-'standard' characters wouldn't show up, so Ampache/Subsonic wouldn't work. This is why I tried Jellyfin.

Same here - Plexamp is working out great for self hosted music on-the-go. Was happy to contribute the small amount towards development.
Also using Plex and Plexamp, and very happy with that combo. Curious about why talescale is needed - I'm on a static IP, but I believe Plex also provides a forwarding service (?)

I think you were talking about Blackcandy in the second paragraph, but just to be clear, Plexamp does allow downloading for offline listening.

It's free, extremely easy (not that port forwarding is complicated) and you don't need to port forward.

I point DNS records on my personal domain to tailscale IPs so it some subdomains can only be accessed when connected to tailscale, I can do app.mydomain.com etc without exposing anything online.

I've been using Navidrome to great success, but will look into this. Any particular differences between the two?
Never crossed my mind to self host my own music streaming server, great idea!
Music is straightforward to self-host. Go for it!

Video can be a bit harder if you have to transcode.

It is really only a thing because smartphone OS vendor make it difficult for people to mount filesystem over the network.

If you could ssh/sftp mount from android or iOS easily, your favorite smartphone audio player would just play those files from a remount mount without any need of a streaming server.

Longtime Navidrome user so that's what I'm comparing this to.

This project looks cool, albeit simple at this point, but what I'd really love is a solution for music discovery for folks who self host their collection.

Is there something that sets this project apart from other easily self hostable tools?

Yes, I'm also interested in this project but Navidrome does a great job alongside Jellyfin and Audiobookshelf. A great trio.
Hey @hebocon I've been using jellyfin for both music and movies for close to a year...but keep hearing of navidrome (for music) as well. So, can i assume that you don't really use jellyfin for music, and instead use navidrome for that? How does that work for you? Any issues of interference, etc? I guess if i wanted jellyfin only for movies/tv, i could point it only at the folder where such media is saved, and then separately manage music via navidrome...but wondered what the benefits would be? Genuinely curious if you woiuld kindly share more info about your setup. Thanks! :-)
I set up JF for music first, then added Navidrome. I then added Moode for my separate stereo speakers and Home Assistant too. Never had an issue with everything having access at the same time.
Good to know! Thanks for sharing!
This is my stack too. Initially tried to stuff everything into jellyfin (and plex before that) but am confident this is the best stack today.
Wow! Complete with custom mobile player! That's quite a ways up from "set up a ssh tunnel home and use vlc", I may have to take this for a spin.
I've been using mopidy plus Snapcast to do this (via wireguard when remote) and have enjoyed it. Good multi-room, multi-site audio.
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: https://vox.rocks/

Subsonic and airsonic (the latter is a fork of the former).
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?

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.

How do you tell navidrome to serve "preorganized" flac. That is exactly my case.
AFAICT navidrome doesn't organize anything itself. In your config file, you just say:

    MusicFolder = "/home/vlad/music"
And you're off to the races. The docs even say that this can be a read-only folder, which it is in my case.
On the main docs page it says:

> 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.

Its anoying for me in any case.

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.

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.

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.

(comment deleted)
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.
Hmmm... I could. Substreamer let's me mark albums and playlists as "offline access" so I have something local. That works well enough.

Syncthing for photos is awesome. When I cut-paste on my desktop they are removed from my phone too.

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.

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.
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

1: https://beets.io/

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.

[0] https://ibroadcast.com/

Thanks for the pointer!

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].

--

0: https://www.ibroadcast.com/premium/

1: https://ibroadcast.com/news/

2: https://www.reddit.com/r/ibroadcast/comments/1d1iaht/is_ibro...

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!

[0] https://asti.ga

All you need is this:

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.

The application that generates that one HTML page for you is this: https://github.com/prettydiff/mp3-master-list

It is a Node.js application and you will need to run npm install in the application directory before the other commands will work.

Enjoy!

Not a bad idea! Maybe you could create a GH page with some public domain music for a demo.
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.

Look for "Storage VPS".

Then just run navidrome using docker-compose or microk8s

Check out Roon if you havent already
I'm about to use my existing jellyfin setup. Amy advantage here over jellyfin?
Not op but I’ve been running jellyfin for a few years. At least 2 years ago when I tried it for my music it felt clunky . I haven’t checked since but I encourage you to feel out the experience with a few albums, playlists, carplay, &c before going all in.

Fwiw I ended up using Navidrome m as a server, beets to manage metadata, and play:sub on mobile.

If you’re willing to pay for proprietary software, I’ve been incredibly happy with Roon for music organization. Handles 99% of albums I add without an issue, great multi-room support, best suggestions of any existing service (Rest in peace Google Play Music). They added remote streaming a few years ago and it’s all I use now.
Note that it is a $12.49 subscription, or $829.99 one-time. So you really need to love its featureset.
That's some serious price. If you're a professional music maker and need top-of-the-line audio production software, Ableton 12 Suite is ~600 EUR, and that's for making music, not consuming.
The audiophile market often seems to work like this. Insanely overpriced for marginal or nonexistent gains in quality.
It’s not unlike sports cars: most have them for the _pursuit_ … and where that emotion is involved, price and realized benefit become decoupled.
You don't understand, Roon's source code is gold plated and that means there's less line noise buzz in the playback or something
Music consumers and music creators are not the same demographic.

Price in one has no bearing on price in the other.

They do not have a Linux player so the price tag is a bit hefty compared to Plex or the free options...
You can control the playback via a phone if you need to play music through a Linux system though.

Music playback via a PC isn’t really what Roon seems to be going for though, so much as allowing you to control music playback through proper audio systems via a PC or other device.

I have friends that use Roon and say it's great, and has some nice features for room-based EQ, however I want to spend £0/mo standing cost (all extra goes to bandcamp).
I tried this (among a bunch of others) about a year ago and landed on Gonic[1] for the server and Supersonic[2] on PC and Amperfy[3] on mobile. Yes it's a few different tools to maintain (plus beets etc), but it's the ideal set of features etc for me.

Self-hosting has been fun and I've started experimenting with local LLMs to build playlists which is helping discoverability.. or more /rediscovering/ artists that I haven't listened to in a while

[1] https://github.com/sentriz/gonic/ [2] https://github.com/dweymouth/supersonic [3] https://github.com/BLeeEZ/amperfy

If you haven't seen it, discogs releases a huge dataset for free that I feel like is ripe for powering a cool music recommendation engine
I haven't! I just did a quick search, is this[1] what you're talking about.. or something else?

[1] https://discogs-data-dumps.s3.us-west-2.amazonaws.com/index....

Yes, that is what I'm talking about! I had once dreamed of building a service you could ask questions like "what other artists recorded in the same city in the same year as artist xyz" and have it figure it out via the discogs dataset.
I currently host icecast/ices. Does your above options allow multiple clients to listen to same stream. I see it mention jukebox mode.
I have both Gonic and MPD on my home server (an old mac mini running debian). It's connected directly via optical to my AVR and MPD can be controlled with the Rigelian app on my iPhone. Gonic is for Amperfy when I want to stream to the Homepod.

On my desk, I used to have a satellite instance of MPD for my desktop setup, but I copied over my library to an external drive and use that as my main instance (rsync to the server when I update it). I rarely play from my laptop (I control the others instead). but could use either the satellite config, a subsonic client, or a quick sshfs mount.

And for offline sessions, I have a DAP with a 512GB card and most of my collection.

Why did you chose gonic over navidrome[1]?

My stack [2] is: navidrome (music - subsonic server) substreamer (app) beets (music organization) EAC (audio cd ripping) audiobookshelf (audiobooks)

Most important part of navidrome are smart playlists[3], with these I didn't need AI support just yet...

1: https://www.navidrome.org/

2: https://news.ycombinator.com/item?id=40470630

3: https://github.com/navidrome/navidrome/issues/1417

+1 for navidrome. I’ve had better luck with the play:Sub app (iOS).

I think it’s important that these servers use a common API (subsonic), but it seems like the slickest apps are always targeted to one specific backend (plexamp, finamp, prism music).

I did try Navidrome and used it for a while.. I honestly don't remember why I switched but I suspect the reason was probably more related to the client I was using at the same (Submariner on macOS) than the server-side.
I have chosen jelly over it because of the way navi stores music. I prefer to organize music in folders myself, and tag them with picard. Jelly then just shows everything nicely with 0 configuration.
Navidrome can work with your folder layout, too.

I don't remember why I settled on Navidrome instead of the others, but I basically just told it "here's my music, now go play me something" and it all just worked. As far as I'm concerned, it doesn't manage organization at all.

> Navidrome can work with your folder layout, too.

Is that recent? When I was looking to replace libresonic I looked at Navidrome and it couldn't do that, and the developer indicated they didnt have plans to add that feature.

I also settled on Gonic. Mostly for this reason.

Do you mean "browse using your folder layout" as in "show that layout in the UI" as opposed to browsing by artist / album / playlist?

If that's the case, indeed, it doesn't seem to support that.

I thought you were talking about the actual on-disk organization, like iTunes would import and rearrange the files to its standard.

Yes, that!

Thanks for the clarification.

I've used navidrome since the beginning with my own layout, you just mount the folder in the container and it goes and indexes it.
It indexes based on tags. You could theoretically have every file in one folder and still browse by artist/album/genre etc.
Thats why I choosed Jelly. I do prepare music file a lot, so that is expected, but movies and series I do not and it works great to recognize them 99% of the time.
https://github.com/epoupon/lms is another (Open)Subsonic compatible server that supports directory browsing commands. But actually few clients use them.
Another +1 for navidrome. I use along with play:sub on ios, and feishin with desktop , and couldn't be happier.

I also use Lidarr for PVR needs

I didn’t need a web client and Gonic shows the actual directory layout for the folder API. I have a few albums that requires gapless playback and most web players can’t accommodate them. My music library layout is mostly ‘collection/album-key/track-key.ext’ where album-key is something that uniquely identifies the album and make it easy to search for. For my main collection it’s’artist - year - album’ while for others it can be just ‘year - album’. Gonic shows the same layout to clients.
I think the folder structure like browsing is the main reason to ditch navidrome...

While I get the point, this is not an issue for my use case.

What I would love to see though is a "sync playlist to path" button in the web interface where it keeps the original folder structure. With this i could create partial lib dumps for my car usb stick or my family members. Maybe i submit an issue for this.

OK, I will ask. I presume you purchased all those music files that you host on that certain server, didn’t you? I will also assume that there is no tool that lets you acquire music MP3s (or some appropriate file type which is non-audiophile listenable) the Linux ISO way (without having to hunt them songs one by one), right? I am talking about someone already having a Spotify/apple music playlists/likes/favourites.

Also, these self hosted music services mean — no new music reco/discover, right? Not necessarily a bad thing. I was curious. Never done this.

How is the cost/spec need of this self hosting like? Does it have to be stand alone or it can live with other things like maybe an archiving/bookmarking service and small self hosted utilities like that (of course not all being used at once).

Why purchase he’s doing AI training /s
Not OP, but gonic is very lightweight and takes little resources. It lives on a machine that serves a few websites and also hosts my photos with photoprism (by far the most resource intensive service on this server). It's a basic N100 machine with 8GB RAM.

As for my music, although I own a physical copy of most of it that I bought legally, I downloaded almost everything through bittorrent as is easier than ripping CDs.

A sizable part of my collection consists of things I was unable to buy because it's unavailable here or unavailable at all, though. Some albums I received from friends. I don't feel guilty about it, to be clear.

I have 700 via those tools but then my current Spotify/Apple Music list must be close to 1500 and I shudder at the thought of hunting the rest of 800 down on P2P here and there. So I was wondering is there a way to do it in one shot or few shots as a batch/automated process.
The „starr“ Apps generally allow importing lists to automatically hunt down the items on P2P and upgrade your local versions if better qualities are found. I’m not sure if it directly supports Spotify/Apple Music lists though.
Sadly I have almost stopped using pvt p2p or otherwise. I also never had anything other than a basic ruT setup. I guess it's about things like Radarr etc. I would not know where to begin with them. Will try to use something other user have suggested.
Yep. Same with Plex. I used to run it with 1.2 GHz dual core Intel Atom. I always encode to 128 kbps Opus when I stream my music and I'm not on Wi-Fi. It took about 300-500ms until the music started when I pressed play. The CPU usage was very low even when actively encoding.

The only thing that takes a bit more of CPU is if you have a huge music collection (I have about 2.5 TB), and you do the first metadata and album art scan over the collection. Otherwise you can run these systems with a potato.

    > Otherwise you can run these systems with a potato.
Crikey: This gave me a laugh like none other in a while. For anyone else who doesn't get the reference, you can build a very basic battery from a potato, e.g., https://stemgeneration.org/potato-power/

Now, I would love to see a YouTube video where someone tries to power a portable music player from a battery. Could a PiZero be done?

How many TB of photos can you comfortably have in photoprism? I mostly use date-systems, so I could turn off the "ai" if that's resource-intensive.

Can it "stream" previews and then offer full-size downloads? (I'm looking for something that can offer previews + downloads so I can quickly find photos from my home archive when I'm out with my laptop or phone)

Self hosted music service doesn't necessarily imply new music discovery problems, because a lot of people still discover music the old non-algorithmic way, by being interested in certain genres, studying labels and artists and going through their albums, adding to their collection what they would love to hear again. Buying and owning the song/album somehow brings me more satisfaction than paying a monthly fee for a song library where I won't even listen to 99% of the tracks. Regarding the cost – it is most certainly magnitudes cheaper than renting music from spotify or apple music, but it is ofc more expensive in terms of attention.
The algorithms have never introduced me to a new song.

They always try to mash up things I've heard before, which is disappointing because I can often go to "similar artists" in Spotify and after drilling down a couple of levels, find new artists.

But Spotify will never suggest it until I listen to a song at least once and even then it will only recommended that one song.

I still do most of my discovery by looking at other bands on a related label, internet radio or, as mentioned, finding a band I like and browsing the similar artists.

What used to work for me was the "recommended" section under a playlist, as well as the discover weekly. I say "used to" because I haven't actually used to those in a long time for unrelated reasons.

The drawbacks to these is that they require time to go through them. AFAIK, the "automatically continue playing" feature doesn't pick from the recommended section, and it's hit and mostly miss. Furthermore, to use that section, you already need to have a manually created playlist.

The main drawback of the "discover weekly" approach is that it's strongly biased towards your recent activity, which in my case is random background music of the lofi type. I don't particularly care about this music as long as it's not distracting, so I don't care to discover anything, the randomly changing playlists by Spotify are enough. I would much rather these were excluded, so Discover Weekly would only consider what I listen to "intentionally". There's an "exclude from your taste profile" entry when right-clicking on a playlist. Never used this, don't know how it behaves.

However, all in all, I've discovered many songs and artists I hadn't known before, and many of those have become staples. So I can say that I'm pleased with at least some of Spotify's discovery mechanisms.

You can sort of achieve that the other way around by starting an incognito session when you put on background music. Haven't worked out how to do that for things with Spotify integrations though.
They have for me, 10 years ago. Seems like the Spotify algorithm figured out that rehashing the same works better for engagement than recommending new stuff
> The algorithms have never introduced me to a new song.

Nearly the same for me, the algorithm has introduced me to a new artist once, ever (and that was the old Google Play service which is no longer available).

Most of the time it creates playlists which are as someone described 'radio curated by the worst version of myself'.

My music discovery is via genre specific radio, a few review magazines, and exploring similar artists via reddit or allmusic.

Maybe it's rose colored glasses, but I recall finding new songs and even occasionally new artists on Pandora maybe 15ish years ago. It does seem like the last time I tried Spotify it was working really hard to make sure it didn't play me anything I hadn't heard before.
Back in the days, there was a service called what.cd, which was really nice for music discovery. You had very dedicated music fans, great forums and a daily top 10 of most downloaded music. For many it was the fastest way of finding new interesting stuff.

I've heard rumors this kind of services still exist, but we never know if it's just an urban legend.

RED and OPS are sadly not even a faint and distant shadow of WCD.
I know. But they are the best we have. Still much better than Spotify or the other streaming services.
Only one way to fix that!
And it's much better now than it used to be. Of course the amount of people in these forums is much smaller, but all of them are very much music nerds. So you get very good tips for what to listen from them.
IMO the best places to find music at the moment other than friends are record stores, Bandcamp, and slsk.

I've found some decent stuff due to streaming services and algorithms but it's just so lazy and convenient.

honestly the best way to discover new artists for me is last fm. i can look who has similar taste and see what they like. Allways wanted to implement this somehow
I have not explored this in a long time. Moved to ListenBrainz. Will check it again.
hey, thanks. I was in my bubble and wanted to get a bit out and didn’t know about the listenbrainz. Will give it a try.
You don't do music discovery by blogs, music journalism, word of mouth, genre databases and so on? You're fully subservient to some algo an ad corp is using?

As for purchasing, many artists give away their works (e.g. "name your price") or don't deserve payment but should be archived and studied anyway (e.g. nazis, billionaires and so on). It's probably not that hard to build a Bandcamp crawler that fetches name-your-price-albums from specific genre tags.

For a few clients and simple browsing you can run an audio cast off a router or cheap SoC.

Buying new tracks like when I was still using iTunes would be nice. Bandcamp comes close but I don't mind the extra step of downloading the zip file and running my script to have it in my music server. Where I also have plenty of digitalized CDs that I own.

Spec-wise, start cheap and upgrade the CPU/RAM when you hit limits. It's not like you'll use all those services at the same time. My home containers all run on a recently purchased HP Mini G2 that I upgraded from a 6100 to a 8-core 6700 and the RAM is an odd 24GB. It even has a rarely used minecraft server. Docker containers are bundled into proxmox instances per user or whatever makes the most sense.

For some people music is a hobby — looking for new stuff, buying and sorting it is their passion.

The worst thing you could do to me is tell me that I pay $5 a month and the rest of my musical journey is solved and gets decided by a corporate algorithm that pays emerging musicians and niche artists a starving wage.

To me Bandcamp has been the best thing since sliced bread - direct connection with artists/labels, high quality audio (in a dozen formats) and often the chance to buy physical media (I'm a vinyl person).

Digital crate digging is one of my hobbies!

Bandcamp has a massive amount of _legal_ free / zero cost / €1 per album music if you spend the time digging. As a hobby DJ I really enjoy the digging aspect!

Please don't be so quick to assume all music is pirated by those with large audio collections.

Some, ie Roon, allow you to play back both your local library and music from certain streaming services so you get the benefit from both
> Also, these self hosted music services mean — no new music reco/discover, right?

Sure they can do. Mine gets suggestions from lastfm.

> How is the cost/spec need of this self hosting like?

Mine is a raspberrypi4 on my local network, probably less than 20€ of electricity per year. Hosts other things...

>OK, I will ask. I presume you purchased all those music files that you host on that certain server, didn’t you?

I self-host my music streaming with Plex, and I'll go ahead and admit to you that no -- not all of my music is paid for.

>Also, these self hosted music services mean — no new music reco/discover, right?

I've discovered more music, and more interesting music, through my Plex server in 6 months than I have on Spotify/Apple music in 6+ years. On the site where I get my music, I have downloaded thousands of albums - 75+% of which I have never heard in my life. I did this by downloading albums I liked, and then snatching all related albums on top, and then snatching all the albums collected by people who like the albums I like, and so on. And so I now have a collection of music all relatively close to my taste but FULL of stuff I've never heard in my life.

On top of that, this site also has ways to follow users and has a way to see albums that they enjoy. It has a top 10 board of the most popular albums on the site that day/month/year.

Then, on the Plex side, Plexamp (which I stream with) has many many ways to start "stations". "Time travel radio", Decade radio, Style (genre), Mood ("Ambitious radio", "Cerebral radio", "Passionate radio", etc.) and more such as algo-DJs with specific styles.

It's all much higher quality mechanisms for discovery than payola-weighted streaming algorithms and "curated" playlists.

What site is this? I miss some sites from 15+ years ago which let people post bootlegs.
Sounds like an interesting website. Would you mind sharing the link? Asking for a friend.
The successor to oink was what.cd (most would say), and this site is the successor to what.cd -- it starts with the letters 'Red' and is a synonym for 'erased'.
I love everything about this thread. I can't help but think about the context and what big part it plays here - imagine someone reads this in 1,000 years, they would have to know so many things on so many levels to understand it the way I did.
Roon (proprietary) has great music discovery features like this. They curate a structured database of all the people related to each act, recording, etc. every artist has an info page with lots of links, so you can trace collaborators across projects. They use the same data to power a really good radio and album recommendation features.

https://roon.app/en/music/data

+1 to Amperfy, I use it with the Music app on my Nextcloud. The App Store version is a bit barebones last I checked but the Testflight version feels like a completely different app, it’s just like Apple Music but self-hosted. Kind of like Apollo felt like an app Apple would make.
I'm hyped about Amperfy but it doesn't have gapless playback which is a hard must for me. Last time I checked, anyway. Looks like it's been committed recently though: https://github.com/BLeeEZ/amperfy/issues/96

Also it seems transcoding is mp3 only, whereas play:Sub can use (and seems to default to using) OPUS which is better in every conceivable way.

Edit: Trying gapless with the TestFlight - seems to work, however, it doesn't change the displayed track.

(comment deleted)
Is there an Apple Watch app for this tech stack? That’s what my current (totally different) solution is missing.
(comment deleted)
[flagged]
piracy => "everything that you don't perpetually pay for" now?
While there’s a lot of piracy, there’s also a lot of people buying music. Not everyone runs the *arr stuff, I buy several albums every month on bandcamp.
You have no idea how much "product development" is done for that if this strikes you as odd
If I copy a song from a friend the interpret earns nothing.

If I stream a song from spotify the interpret maybe earns something depending if he is big.

=> The interpret don't loss anything, only the labels does nowadays.

Music streaming is piracy for most indie interprets.

Have you heard of bandcamp?
Not a single artist ever in the history of the world has ever said, “Bandcamp enabled me to buy a home in Silverlake and to quit my day job.”
I'm currently using icecast and ices to host a music stream. It'll effectively stream music to a port, and multiple clients can enjoy.

Anyone doing something similar, I'd like to migrate to something more modern.

I think that's still pretty modern. My stream setup uses liquidsoap to generate HLS files which are served as a livestream directly from Tigris/S3. But a lot of users of liquidsoap still use the icecast output I think.
I can see why someone looking to easily handle massive scale wants HLS, but why is it useful here?
Snapcast is similar, but will keep all the clients in sync for multi-room audio

https://github.com/badaix/snapcast

That's actually something I've always wanted. Thanks, I'll take a look
Snapcast is nice because if you have an existing setup it can just use stdin as the audio source.
I'd love to find something that works effectively at randomly streaming my music video collection, esp out as an rtsp stream. Kodi's music video support has a tendency to choke and has some weird deficiencies in how it handles them, such as audio leveling.
There's also owntone, formerly forked-daapd. It implements DAAP, which is what iTunes/Apple Music uses.

Works with Rhythmbox, at least. IDK if there is a compatible Android client.

Owntone http stream works on any browser, ios, droid.

Works well enough i haven’t bothered to set up anything else.

Wireguard is pretty great for all this stuff.

I run Jellyfin and Symfonium. Symfonium isn't free but it is feature filled and it seems to be a passion for the Dev.

All for other options in this area as it has taken me a few goes at finding something that works for me. Usually it is the client that is lacking.

I've started using Navidrome with Symfonium a few months ago. Navidrome is pretty good, but I'm very impressed with Symfonium. It's simple, responsive, and straightforward, but it's got a ton of options so you can fine-tune the client quite a bit.
Symfonium + Navidrome here (Plex running on raspberry pi couldn't stomach my music collection, and Jellyfin is even worse).

What I really like about Symfonium compared to other subsonic clients is that it keeps the db locally.

I have had Jellyfin running as a media server on an i7 gen4 PC that I have setup as a NAS as well. I first tried subsonic client and Nextcloud but I was only running it on an Odroid H2. I think the extra CPU performance helps.
Thanks for a tip to try out Symfonium. Seems to work great with Plex and Navidrome. I have a few issues with Plex for music, especially when it wants to convert DSF files into flac, which is fine but unnecessary. Plexamp on Android also sometimes fails to download full albums for offline playback.

Jellyfin I've tried a few times, but it still cannot encode and stream music as opus, which I find the best format when using low bitrates. Navidrome and Plex support opus by default.

I have Spotify and a few dozen gigs on my phone for the stuff Spotify doesn't have (or has removed).
I guess this is the time I ask the question I ask whenever a new self-hosted media streaming server gets posted...does anybody know of any similar server for demoscene tracker files and/or retroconsole music format (bit tunes) hosting, transcoding and serving the stream?

chip-player-js [1][2] has more or less exactly what I'm looking for, and I'd be perfectly happy with it, but I can't seem to get any of the docker containers I find to build properly or the repo to build due to dependency issues (probably ignorance on my part) [3][4].

1 - https://chiptune.app/ 2 - https://www.mattmontag.com/music/chip-player-js 3 - https://github.com/mmontag/chip-player-js 4 - https://github.com/soltune/chip-player-js-docker

I run multiple minidlna instances in Podman and let BubbleUPNP connect to them through Wireguard. Getting the multicast discovery to work was a bit challenging.
This is by far the nicest solution out there. All the others, plex, etc are resource hogs that want to transcode everything, unlike minidlna, which can run on a router, if needed, without docker, or all that jazz.

People might not like it because bubbleupnp is not open source, but it's a very nice piece of software nonetheless.

BubbleUPNP is so nice that I emailed the author to please consider taking yearly payments instead of the very lenient one-time price of less than €10.
Any tutorial or links on this?
Not at the moment - this would be a good topic for a blog I've been meaning to set up for 10+ years now.
People who use this or something similar (Jellyfin, Navidrome, etc.), what do you use to easily add new music?

Ideally I'd like to automate this to the point where I can look up an album and it gets downloaded automatically, similar to how Overseerr[1] works for movies and series but without the dependency on Plex.

[1] https://github.com/sct/overseerr

I don't want to easily add music. I am not a hoarder. I carefully check anything new I add to the collection.

But you could use a Nicotine++ for that task easily. It will even auto search from the wish list periodically.

I use Funkwhale, which exposes a nice web UI for uploading new music. Saves me the hassle of manually adding music files to a server, and it also allows for a multi-user setup where users can keep some music to themselves.
I didn’t see synology or qnap mentioned here. They are probably the easiest way to self host and stream the músic, even if they are simpler, but for me worked well.
Slightly off-topic, but does anybody know something easy to create online radios from music collection?
Is there a way to play YouTube music and create it as a playlist using this, bonus if it can also block ads?
I use piCorePlayer + LMS (Lyrion Music Server, previously Logitech Music Server) on a Raspberry Pi with a DAC plugged to my amplifier.