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
    link
    English
    2
    edit-2
    4 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.

  • @[email protected]
    link
    fedilink
    English
    614 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.

    • @[email protected]
      link
      fedilink
      English
      1
      edit-2
      9 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
    link
    English
    11
    edit-2
    21 hours 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?

    • @[email protected]OP
      link
      fedilink
      English
      220 hours 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
        link
        English
        418 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.

  • @[email protected]
    link
    fedilink
    English
    620 hours 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.
    • @AbidanYre
      link
      English
      1120 hours ago

      Tempo is my favorite Navidrome client at the moment.

      • @[email protected]
        link
        fedilink
        English
        1
        edit-2
        18 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
          link
          English
          23 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.

  • Max-P
    link
    fedilink
    English
    421 hours ago

    LineageOS’s default music app, Twelve, supports Jellyfin as a source:

  • @[email protected]
    link
    fedilink
    English
    321 hours 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
    link
    fedilink
    117 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
    link
    English
    221 hours 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.

  • @[email protected]
    link
    fedilink
    English
    221 hours 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.

  • @[email protected]
    link
    fedilink
    English
    120 hours 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