What do you use for music library streaming?
from wesker@lemmy.sdf.org to selfhosted@lemmy.world on 24 Aug 18:31
https://lemmy.sdf.org/post/41008981
from wesker@lemmy.sdf.org to selfhosted@lemmy.world on 24 Aug 18:31
https://lemmy.sdf.org/post/41008981
I was hoping to go all in with Jellyfin, but it’s been absolutely maddening to try to get it to play nice with my curated library. It just makes too many dumb assumptions about artist metadata.
Any other suggestions?
EDIT: I installed Navidrome, then poured over the documentation for the config file and micromanaged every setting. This has allowed me to get damn near close to the exact unobtrusive behavior I had hoped for.
EDIT 2: AFA mobile client goes, I’d absolutely consider paying for Symphonium, if it didn’t seem to require my having a Google Play account (fuck that). So instead I’m trying Tempo.
threaded - newest
Navidrome
+1 for Navidrome. As simple as pasting the album into the directory and it sorts the rest. I use subtune on my phone to access it and it works great.
I tried their demo, and I really dig the minimalist approach. Might give it a shot.
Agree with Navidrome. Works great in browser and the Substreamer ios app.
Another vote for navidrome. I tried substreamer on android ibdid not like the search. I use symfonium easy interface let’s me randomize in many ways.
On a side question anybody have suggestions for automatically creating genre based m3u files? I would like to setup “radio” like stations but adding my music to a playlist.
Filter by genre tag to make the finding part easier?
Not sure this is what you are looking for but navidrome has smart playlists, which is a small configuration file you can add to your navidrome and will automagically create a playlist in your navidrome based on your config.
There really isn’t any decent alternative. I can run 4 Navidrome servers along side each other using less resources than a single copy of the alternatives. It just works and does almost everything you could want.
Navidrome even supports multiple libraries now. I was using 2 instances for a bit for my wife and I, but now it’s all in one.
I didn’t realize they had updated. That’s great! I knew it was on the timeline but it works so well even with multiple instances I hadn’t been watching for it.
Yep! They released it like a week after I just set up a second instance lmao
The only catch I noticed is that the default “/music” library can’t be changed, so I set up my directories in the container like:
All 5 are set up as separate libraries, and I keep "/music/ in the container mounted to an empty directory. The discover folders are populated when Explo runs each week, that’s a whole project of its own.
Thanks, I already have it up and running. Works great!
Gonic works very well with symfonium
I’m using airsonic with symfonium, gotta check Gonic (it’s been mentioned twice in the comments)
Jellyfin, and yes it thinks its very cleaver with mumbling metadata.
> be Jellyfin
> see a track in an album with a “… feat. …” artist tag
“This must be a completely different artist than the album artist!”
> create somehow fucking immutable new metadata
I also use Jellyfin. Before being able to set custom tag delimiters, you had to ensure your music artists and album artists ID3 tags were correct. I believe it used a ‘;’ to separate multiple artists. Now with custom delimiters you can set your own. You may be able to try and fix things by setting ‘feat.’ as a custom tag.
Ultimately, I would recommend just using mp3tag and spending a few minutes setting up an action that replaces ‘feat.’ with a delimiter, such as a ‘|’. Run it through your current library and you should be good.
<img alt="" src="https://lemmy.world/pictrs/image/73b2c959-e818-4bd4-b9ad-557f84732ad7.png">
Thank you for the info. I might try this, however I’m already having a 10x better experience now that I’ve set up Navidrome, and then tried the Symphonium client.
I did this for a while, and only switched back to Jellyfin/Finamp while degoogling (needed for paid version). I thought it was definitely worth it while I was using it. I also listen to music on the TV and Jellyfin handles it better than other options I tried (including side-loading symfonium).
I currently use a separate music library manager on my server to organize my music collection, then Jellyfin just does the server work.
I think you’ll be very happy with the setup you are using.
Personally I just run both.
Navidrome is what I would call the daily driver, but since its just a share that JF can also see, for TV playback its JF just like you.
But I’m also a stickler for metadata so I don’t often run into issues. When I do see something come up thats not right, I correct manually. Which wasn’t happening very often until lidarr had the metadata issue with musicbrainz, though the past few months its been a manual effort.
You can use Symphonium with JF libraries as well.
I almost set up Navidrome but I have TVs and Movies on JF already
Oh, you have 10 random singles in the same directory? That must be an album all from the same artist!
Gonic for server, Ultrasonic for client (android)
I would use Navidrome if it supported browsing by folder structure, but they refuse to implement it. My metadata is so scrambled it might as well not exist and it would take months to fix it. I pretend it doesn’t exist, because I don’t use it.
Just curious, why folder structure? Are your directories not artist/album?
It’s
…/music/artist/album/song.flac
This does not work with Navidrome if the metadata is weird. I have a lot of songs that Navidrome refuses to even list because their metadata is bad.
I browse my music by folder structure, not metadata. Folder structure is universal and does not care about inconsistent metadata.
Ah, I write the metadata on import in lidarr, so kind of a non-issue for me.
Yeah… Newer genration are into “put everything in 1 big messed up directory and find all you needs by tags” structure.
I get the gist, but calling directory structure evil is kinda extreme. It allows to structure your thoughts and if somehow your metadata is corrupted, you still have a directory structure.
I work on both front for compatibility issues but nothing beats a well thought directory structure!!
Who called it evil?
I was wondering because all I do is /artist/album/, which is going to be the same logical appearance in navidrome as at would be from a dir structured view so couldn’t understand the point.
The difference is the metadata, which I’m much more strict on so I haven’t seen these sorts of problems.
I read that somewhere from a github repository maybe even in Navidrome’s pull requests or Issues maybe?
I think the argument was that in directory structure you always have to think where you have to put your files and sometimes a file can be at 2 different places at the same time and I do agree to some degree, that’s why I use both :) !
Entirely possible, I know they have commented before on not wanting to do it.
Which I kind of get if you’re parsing metadata, you’d have to create a whole new method for parse and view which can be a pain. Though I’d hardly call it evil myself since its how I sort too.
I’d agree on having to think and duplicates are possible, but that’s possible in so many scenarios.
shrug
Either way metadata I think is important, but ive been a pain about metadata since the 90s (because burning CDs and having the actual track info was awesome).
It can’t handle radio shows or VA mixes well either.
Picard or beets will help you with your metadata.
Picard will not, it’s possibly the worst thing you can do to a folder of untagged music.
Use kid3, it can use musicbrainz without making a mess of everything.
Picard has always worked pretty well for me. No complains.
I also switched to gonic over navidrome (even though I liked it a lot) because iirc I couldn’t get navidrome to pull Artist pictures in correctly. gonic i could just connect to lastfm and everything worked - and i could still connect to listenbrainz for my actual scrobbling.
You’re complaining about a player feature, and blaming the server.
I use Symfonium and Navidrome, and I absolutely can browse my Navidrome library by folder if I wanted to.
I’m complaining about what the literal developer of Navidrome told me when I asked about this. I’m not sorry for believing him.
Can you show me a screenshot?

Thank you.
It is strange to me that the developers themselves would tell me that this wouldn’t work, and that folder browsing requires Navidrome to support it inherently for clients to be able to do it.
Use some service like lidarr or beets to tag the music before it goes into jellyfin
I meticulously use Picard to curate my collection. I’m 99% certain it’s not me or my library, it’s the assumptions Jellyfin makes about specific artist related tags, and the inability to override said assumptions.
As a musicbrainz editor, don’t depend entirely on Picard and musicbrainz for correct tagging either cause shit isn’t as well curated as you think.
I’m in the habit of manually cross-referencing Discogs for every album I run through Picard, often making alterations if need be. I’ve also spent a lot of time configuring and scripting the shit out of the tool to get a pretty immaculate collection.
If you’re putting in that much work, please submit those edits to musicbrainz! We need all the help we can get 😭
Jellyfin is terrible about this, with any files.
It keeps tagging some TV shows as anime. Wish I could tell it I don’t own any anime, dammit.
I’ve had to start locking stuff in Jellyfin so it will stop with this nonsense.
I’m currently using beets to tag my music and airsonic for streaming
I still use Samba to do everything related to filesharing (including music streaming). I haven’t needed to touch my media server in years. It just continues to work. 🤷♂️
Since it’s just normal network filesharing, pretty much any music player that has samba support works. On a PC, I like Winamp. On my phone, VLC.
What application do you use on your phone to mount samba shares (Android)? I know Amaze can mount those but they are not easily accessible by other applications.
Not related to music steaming but I’ll just throw in that Infuse is an awesome iOS, macOS, tvOS app for streaming movies from a Samba (or a multitude of other) servers.
beets for library organization, gonic for serving, Tempo for consuming
did you know, that the gonic developer sentriz is developing a beets alternative in go github.com/sentriz/wrtag
it works quite well, but lacks a lot of the features of beets
I’ll keep an eye on that, thank you, but I’ve been using beets to maintain a very large library for 10+ years and I’m very happy with it. It was the only software I found to cure my foobar2000 addiction way back when
I too like Tempo, but I use Navidrome as the backend.
I use Jellyfin but I download all my songs from Tidal, Qobuz or Deezer and tag them automatically right then and there in a clean format so Jellyfin does not have to guess at all.
I also have some automatic checks in place to convert incorrect metadata to a proper format. Like moving artists from the title
(feat. Somebody else)
to the artists tagSomebody; Somebody else
and a bunch more.Together with Finamp on desktop and mobile everything is pretty much working as expected.
At the moment I’m trying out Ampache. It seems to have more features than Gonic.
Plexamp
Careful curation of mp3 tags and a short leash.
My Plex and Jellyfin libraries are the same files and they are both handled identically because I don’t let them think about the files.
I used a tool to export my Plex playlists as XML, then wrote a little python to convert them into M3U, jellyfin recognizes the M3 use and just makes playlists.
Mstream - it’s the lightest and simplest of streaming servers.
LMS is also pretty damn light as well. Uses about 19 MB of RAM on my system on idle.
Lightweight Music Server
SD Card on my phone. i don’t stream it anymore. storage is so cheap now i can easily hold all of my flac files, no problem.
edit don’t look for solutions to problems you don’t have. most ppl don’t NEED to stream everything over the internet.
go back to local.
I have over 3 TB of music. SD cards aren’t quite that big yet.
whts yr slsk info? lol
You’ll know it when you find it. 🤣
muahaha… daw
my library is already tough to sift through.
20,000 mainly flacs and it’s still less than 500gb
I have about 85k tracks. :)
gosh!
sure, then in your case, if you absolutely must have access to it all at one time, then home streaming makes sense.
for me, and i do imagine most ppl (tho i could be wrong!), it doesn’t make sense compared to just returning to local.
genius that i am, i only realized that AFTER i setup a jellyfin server on my home server for streaming my music. XD derp.
I use navidrome. And what’s nice about it is, there are 3 people in my household, they can all access that. We all have our own favorite tracks saved in our preferred player, and we can still save a good chunk of them to our phones.
In my case, I have a random mood playlist of 200 tracks that gets updated every morning before I wake up, my phone app caches all 200 of them, so I can play them without network access.
that’s a great use case!
how does this work for you? i was on gonic but moved back to navidrome to allow for mopidy to let home assistant trigger playlists directly (with the mpd integration)
but i haven’t figured out the smart playlists yet
I have a few smart playlists set up that are each various genres of music. It’s not perfect, but it works well enough.
So you only listen to music on one device? If not, do you swap the SD card between devices all the time or do you have a separate SD card for all devices? How do you keep them in sync, transfer playlists, etc? What if you have more than 2TB?
Yeah, go local as in: Run your own media server and stream from that.
But only keeping music files on the end device is a step in the wrong direction.
i listen on two devices: my phone and my PC.
depends on ppl’s use cases. a home media server is over-engineered solution for me, and perhaps others. but it’s good to stop for second and consider what one’s needs actually are.
Right, but considering that OP is already running a media server and also is looking for a way to curated his library, I don’t see how switching to on-device storage would be anything but a downgrade.
up to OP. i read it as “i wanted to go all in on Jellyfin, but it’s been a PITA. what else would you suggest?”
Yes… Which is OP is already using a streaming solution, clearly that’s the chosen direction.
mate… ppl can change their minds. i did.
I hate the kid-pidgin, but you make a really good point here:
I mean, this is always excellent.
Too often - you’ll see it in this comment thread - we go all out and show our own solution would fit OP’s case. And to them it must sound like “if you want a coke from the sev(7-eleven, like circle-k, Ted) you’re gonna need a van, a really big spring, a holocaust cloak and a wheelbarrow for sure.”
Considering OP’s situation, skill level, fuckery tolerance and perseverance is key. Resilio could be all they need, here – Not elegant, not D.R.Y, not pretty, but its fuckery is low (good g.o.l.f number), but it could be fire-and-forget.
Now, I’m not sure you’re not replying to a comment that says the same thing …just, not as well. Still good advice.
I do use a media server but I could probably get away with just syncthing to sync my computer and phone, it would probably be easier even. Of course, if you have more than 2tb and you want it all at your fingertips then a media server is probably the right call.
The only reason I still have a s20fe. The last of the sd card phones… sigh
ppl will find a way. i’m on a Mudita Kompakt. XD
I’m currently waiting for my Fairphone 6 to arrive, but I believe the sim tray includes a spot for an SD card. I was also recently using a Furi Labs FLX1, which also had an SD card slot. There are other options out there. 😊
Indeed. My collection is on my phone’s memory, my old phone “music player”, and just a back up SD card in my laptop.
I use a DAP with an SD card on the go, because my whole collection is lossless and I like fidelity. However, it’s convenient to be able to stream music to my TV while doing house chores, in addition to allowing family access.
the family bit is key i think for needing a home server. some TVs you can do via BT to the phone.
but if you’re setting it up anyway for your family, then yeah, best to organize around the server.
good luck to you!
Another option if you don’t have a family is to use DLNA for streaming to the TV, most TV’s have native support for that and you can just set up your computer to work as a DLNA server.
Navidrome with Symfonium for Android and the Web interface or my new favorite Feishin for Desktop Linux
Same, no complaint for Navi and Symfonium.
Jellyfin.
On the phone it’s only usable at home because I don’t have a VPN in place.
But I could stream via the web ui which is not convenient.
Tailscail + Symfonium 💜
Tailscale is the way. You can make their free tier go really far, especially if you use your own OIDC solution.
For real, I almost feel guilty that I’m not paying yet.
1TB SD card on my phone.
I’m in the middle of writing up a novel about my music stack since I’ve just about gotten it exactly where I want it. There’s no one-size-fits-all answer here and it’s difficult to really replicate the behavior of major streaming services.
The short version of what I have set up:
Backend: Navidrome
Frontends: Feishin (both desktop and hosted) and Symfonium
Remote access: Pangolin (this does involve keeping a Navidrome rest endpoint totally exposed so Tailscale/Netbird/Wireguard are fine too, but I wanted to be sure my wife can access it from her work PC in the office)
Library and metadata management: Lidarr, beets, and metadata-remote. Lidarr does the bulk (one instance per user/library), beets handles manual imports, and MDRM is for fine-tuning and really obscure stuff
Searching/Downloading: Lidarr + Tubifarry + slskd. Also support smaller artists as much as possible, bandcamp purchases and merch and whatever go a long way.
Discovery: Explo
I’ll have a full beginning to end writeup pretty soon hopefully. It’s still not perfect, and juggling multiple users adds a huge layer of complexity, but I’m happy with where it’s at.
Could you explain how you use explo?
This is gonna get a bit into my particular setup but sure
Explo’s a super early in development “discover weekly” generator, relies on Listenbrainz scrobbling and runs on a cron job to download the playlist from your connected source (in my case slskd), put it in a folder, and create a Navidrome playlist out of it. I use the SLSKD_MIGRATE option (my feedback is actually the reason the dev even added it), so my files are downloaded to my slskd dir and explo moves them to a separate library.
I’m very particular about my library though so I don’t want it just throwing everything into the same folder as the rest of my music, and I have 2 users, so my directories are like:
Keeping the discover folders for Explo completely outside the main library, but mounted in Navidrome as additional libraries, helps keep things very separate. Explo’s also smart enough to check with Navidrome before searching for a track - if it already exists in the library, then it won’t redownload it.
I run 2 Explo instances, 2 hours apart, and in between those runs I have another cron job that wipes out my slskd downloads directory for a clean slate.
One small catch I ran into: Explo needs a Navidrome admin account to kick off the library scan, but my users aren’t admins (since an admin automatically has access to every single library). So each week when it runs I need to log in as an admin and re-assign each playlist accordingly. Not a big deal, and the dev already has some ideas in mind to address this in the future. This also becomes a small bit of an issue with the whole “don’t download existing tracks” thing - Explo’s looking at the admin’s library which is everything, not the individual users’ libraries. So if one user’s playlist has a track that’s in the other user’s library, it won’t be properly added. Not the end of the world, but a mild annoyance.
I will say (and this isn’t a fault of Explo), I’m not a big fan of Listenbrainz’s weekly playlist algorithm. About 2/3 of the playlist tends to be artists that I already listen to, so it feels like a bit of a waste. I hope down the road we can plug in last.fm or something which tends to be a bit better for that.
@wesker@lemmy.sdf.org if it helps, the Symfonium dev is open to de-googled licensing via Ko-Fi donations. See the forum post here: …symfonium.app/…/how-can-i-pay-for-symfonium-with…
Per Tolriq’s responses there, you can get the APK safely from the Aurora Store.
One last comment on your edit: Tempo is great, and I used that as well, plus it’s open source. The symfonium dev is actually pretty cool about helping you work around Google if you want to buy it another way, but it has to be activated manually by the dev on each device. I just didn’t want the hassle.
I’d probably go with Tempo if I were still using navidrome since it’s open source.
Lots of interesting discussion, but I’ll add I’ve been plying with www.music-assistant.io
Integrates all sorts of backends, including everything mentioned here, with streaming to just about any device. Reminds me of MPD back in the day, or at least the promise of it.
It is possible to buy Symphonium by the developer instead of Google Play
@wesker@lemmy.sdf.org just so you know there is a fork newly updated of Tempo at github.com/eddyizm/tempo
I just use my local music player musicolet. Never going to switch unless another player alñow resuming last songs of any playlist