UPDATE: Thank you guys for all the suggestions! I got Navidrome installed on my NAS in a matter of minutes, got to test like a half dozen Subsonic compatible apps (both FOSS and Play Store), and it looks like Symfonium + Navidrome meets my needs. I’ll keep testing before my free trial for Symfonium ends, but I really appreciate the nudge to try a new music server!


I’m self-hosting my music collection (synology NAS), and while I’ve liked Poweramp, it only reads local music files, which means I have to copy many GB of music to my phone, even if I’m not particularly listening to it.

The Synology DS Audio app actually does what I want: it caches music locally as you’re streaming it, but it reads directly from the NAS.

The only problem with DS Audio is that it sucks as an actual music player.

Are there any Android music players, preferably FOSS or at least privacy-friendly, that will read from the NAS and cache in an intelligent way but also works well as an actual music player?

I did try Symfonium, but couldn’t get it to work with Webdav or SMB, plus the dev comes off as a real asshole, so I’d rather not give them money.

EDIT: To clarify what I’m looking for:

  • The app must be able to connect to my NAS music collection (through my local network is fine).
  • Most importantly, the app must be able to cache my music either as I’m streaming it, or in advance when I’m running through a playlist… then future plays of the song should be from the cache.
  • I do NOT want to have to manually download or sync files, which is how I’ve been doing, and I don’t like this at all.

If you’ve used the Synology DS Audio app, then you’ll know exactly the behaviour I’m looking for. It really is a shame that DS Audio sucks as a music player, or else it would be exactly what I’m looking for.

  • PieMePlenty@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    9 hours ago

    Install a subsonic server on a synology. There are many apps that support the protocol. I use the ultrasonic android app which is FOSS and pretty much acts how you want it to. I use it to stream my collection when I’m on the road.

  • butter@midwest.social
    link
    fedilink
    English
    arrow-up
    5
    ·
    19 hours ago

    As other’s have said Navidrome is the way to go. Not the most featureful, but it’s so much faster than every other solution that you make it work. It’s also very close to a huge update to support plugins and stuff.

    I use the DSub app. Free from fdroid. Configured to download 10 songs in advance, for when I’m driving with spotty service, and download my favorites.

    It also let’s you set different internal and external IP addresses, if you need that. I think most people do unless you run a DNS server.

    • Keelhaul@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      14 hours ago

      If you don’t want to run a DNS server and don’t want to set up different internal & external IPs you can also use NAT Hairpinning

  • bulwark@lemmy.world
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    1 day ago

    Not FOSS but I use Symfonium to stream music from my Navidrome instance on my NAS while I’m out of the house.

    Edit, saw your last comment. What couldn’t you get working?

    • Showroom7561@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      What couldn’t you get working?

      It was erroring out when I tried to set up either Webdav or SMB. Maybe I was setting it up wrong, but I’ve got those things set up on multiple devices and multiple apps without any trouble.

      • bulwark@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        23 hours ago

        Ah, I can’t speak Symfonium’s WebDAV or SMB handling. My music server runs Navidrome that uses the subsonic api. All I have to do is point my music player at my url and I can sync favorites and listen counts across everything, it’s pretty great.

  • infeeeee@lemm.ee
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 day ago

    My offline android music workflow:

    • Server: Navidrome but any music server supporting Subsonic API would work here. Navidrome has a nice UI, and reads MusicBrainz IDs, and can scrobble to ListenBrainz, that’s why I settled with this.
    • Mobile app: Ultrasonic, on Fdroid. There are a lot of ways you can set up caching. I set up that it should automatically download everything from my “Now playing” playlist, at home on wifi I just add a bunch of albums and playlists to the “Now playing” list, it takes a while but it transcodes and downloads everything in a couple of minutes. It has very good Android Auto support, and a widget. Due to an annoying bug I had to downgrade to version 4.7.1, but otherwise I love it.
      • infeeeee@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        23 hours ago

        I tried that recently. I didn’t like that it doesn’t have a widget, and the downloads and current playlist are completely separate. Also there was no option to automatically continue when connecting to a headset (this was working in Ultrasonic 4.8, but not in 4.7.1 I hope they fix that bug sometime…) So after some weeks use I switched back to Ultrasonic.

        • AbidanYre@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          8 hours ago

          I like having my downloads and current playlist separate, that seems like a personal preference. A widget would be nice; I guess I don’t use it enough for that to be a deal breaker. For a while it seemed like all the clients I tried had some weird quirk that made it kind of suck to use. Tempo was the first one that didn’t. I don’t think I ever tried Ultrasonic though. I’ll keep it in mind.

  • Sir_Kevin@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 day ago

    I haven’t tried it in she’s but foobar2000 might do everything you’re hoping for.

    Like you, I’m confused there hasn’t been an open source solution to this by now.

  • spawnsalot@fedia.io
    link
    fedilink
    arrow-up
    1
    ·
    22 hours ago

    Not sure how much it lines up with your specifics but I’ve used Neutron for ages and it supports WevDAV, SFTP, UPnP/DLNA amongst other things and sounds great (to my untrained eats anyway)

  • Know_not_Scotty_does@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    Emby will let you do it but you need a host server. Same with plexamp. Foobar2000 offers remote smb folder access but I don’t remember if it works as the library of it it just lets you download the files from smb.

  • Onomatopoeia@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    So, paid app (if you want wireless sync) - Media Monkey.

    The Android app can read network shares and network media servers (I forget exactly what it can read). But it works best if you run the server app - then you can stream the library or sync media, similar to iTunes.

    The Android app is free for basic functionality ($5 for wireless sync), the desktop/server app is free ($30 to enable wireless sync and a few other features). It’s been worth it for me. Even the free versions work very well.

  • isgleas@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 day ago

    On my synology nas I have installed navidrome to serve the music, and consume it via web, and a few android and linux apps like ultrasonic or supersonic