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.

    • roofuskit@lemmy.world
      link
      fedilink
      English
      arrow-up
      9
      ·
      16 days ago

      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.

      • nfreak@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        15 days ago

        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.

        • roofuskit@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          15 days ago

          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.

          • nfreak@lemmy.ml
            link
            fedilink
            English
            arrow-up
            3
            ·
            edit-2
            15 days ago

            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:

            • /user1/music
            • /user1/discover
            • /user2/music
            • /user2/discover
            • /shared

            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.

    • ctry21@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      9
      ·
      16 days ago

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

    • jhdeval@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      16 days ago

      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.

      • N0x0n@lemmy.ml
        link
        fedilink
        English
        arrow-up
        3
        ·
        16 days ago

        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.

    • Dr. Wesker@lemmy.sdf.orgOP
      link
      fedilink
      English
      arrow-up
      18
      ·
      edit-2
      16 days ago

      > 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

      • gccalvin@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        1
        ·
        16 days ago

        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.

        • Dr. Wesker@lemmy.sdf.orgOP
          link
          fedilink
          English
          arrow-up
          9
          ·
          16 days ago

          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.

          • gedaliyah@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            16 days ago

            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.

            • curbstickle@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              2
              ·
              15 days ago

              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.

          • Jakeroxs@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            1
            ·
            15 days ago

            You can use Symphonium with JF libraries as well.

            I almost set up Navidrome but I have TVs and Movies on JF already

    • pHr34kY@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      16 days ago

      Oh, you have 10 random singles in the same directory? That must be an album all from the same artist!

  • nfreak@lemmy.ml
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    15 days ago

    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.

      • nfreak@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        15 days ago

        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:

        • /music/me
        • /music/wife
        • /discover/me
        • /discover/wife

        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.

      • kerobaros@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        16 days ago

        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

  • Appoxo@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    15 days ago

    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.

  • Jason2357@lemmy.ca
    link
    fedilink
    English
    arrow-up
    4
    ·
    15 days ago

    Lots of interesting discussion, but I’ll add I’ve been plying with https://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.

  • rumba@lemmy.zip
    link
    fedilink
    English
    arrow-up
    3
    ·
    16 days ago

    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.

  • mrdown@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    14 days ago

    I just use my local music player musicolet. Never going to switch unless another player alñow resuming last songs of any playlist

    • nfms@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      16 days ago

      I’m using airsonic with symfonium, gotta check Gonic (it’s been mentioned twice in the comments)

  • gedaliyah@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    15 days ago

    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.