I'm currently using @nextcloud@mastodon.xyz for my music collection after downloading over 2.5k songs from YouTube Music (Premium). While it works fine for most things, I'm looking for a better alternative. My key requirement is to read files from a mounted WebDAV folder (NextCloud Folder).
The Subsonic API in NextCloud Music works fine, and I've had no issues streaming through clients like Symfonium and Subtract. However, I want to eliminate the 5-10 second buffering issue I experience on mobile. When I tried @powerampache@floss.social, my NextCloud AIO instance became unresponsive after about 30 minutes (happened twice, not sure why).
I also tried Navidrome, but I didn't like how it organizes music—it only recognizes album artists, which doesn’t work for me since I don’t have albums. I downloaded the songs in Playlists using Seal.
Ideally, I’m looking for a solution that streams high-quality music instantly, like Spotify or YouTube Music. If possible, I'd prefer tweaking my Nginx config to resolve the buffering issue rather than setting up new software. What alternatives do you guys use for fast, high-quality music playback with WebDAV support?
Edit: Forgot to mention, the buffering issue only occurs when I use a Subsonic or Ampache client with NC Music. The web version works very smoothly.
Edit: The issue with Nextcloud Music was occurring because of rate limiting.
I like Plexamp but there’s a couple of things to be aware of depending on your music library that took me a while to figure out:
They downsample anything above 48kHz which isn’t a big deal but sucks if you have hi-res music. It won’t even tell you it’s transcoding if you check the dashboard and Plexamp will show it as playing at the actual sample rate which is misleading when trying to debug.
It doesn’t distinguish between explicit and clean versions so if you have both then it will just look like duplicates. You also can’t favorite just the clean or explicit version as favoriting one will do the same for both versions.
They don’t support Spatial Audio/Dolby Atmos(E-AC-3) music. Doesn’t matter if they are m4a or flac. Again, nothing about transcoding in the dashboard but the sound will be horrible. It does at least show in Plexamp that the song is playing as Opus. I know everyone says multichannel music isn’t worth it, but I wanted to try it out and was very disappointed when Plexamp wouldn’t play them.
These probably aren’t issues to the majority of users with just their favorite songs in mp3 or flac 16-44, but it’s something for people with larger hi-res/multichannel libraries to be aware of that I recently learned.
For your second point can't you tag the song as explicit and put in it a separate album (album name (explicit) ) and unmatch the album (or add a specific explicit version to music barainz to match with) I have had to do this with instrumental versions assuming it's the same process.
Jellyfin. I've been using it for several months. It works really great for streaming music and also videos. I use the Finamp app in my phone for music.
Navidrome should recognize both album-artists and artists. In my phone app (Symfonium) I see them separately and I can browse by individual artists or by album-artists.
it's closed source, but Roon is pretty darn good. Slick UI, tagging, artist/album information, local/remote playback, speaker streaming. I have it pointed to an NFS share on my file server. It handles large (250k+ songs) libraries reasonably well. They integrate directly with a couple services, though I've never used them.
the selling point for me, over other music servers(I've tried almost every one mentioned in this thread), was that it was a much better ux than any other offering. for the most part it has held up or exceeded recent comparisons.
disclaimers:
it is not free. some might say expensive.
as seems the norm these days, the forums have some admin moderation problems.
they've not historically listened to user feedback seriously, though that has changed drastically over the past year.
they just got acquired by HK... which could really go either way long-term.
NGL, it took many years for it to mature to this point and it continues to be bumpy; though nothing worse than open software I've used and it is nothing if not reliable.
Do you only experience the 5-10 second buffering issue on mobile? If not, then you might be able to fix the issue by tuning your NextCloud instance - upping the memory limit, disabling debug mode and dropping log level back to warn if you ever changed it, enabling memory caching, etc..
Yeah, I face that issue only on mobile. I use Nextcloud AIO. Everything should be optimized already. Though I've tuned my nginx config a little bit (using it as a reverse proxy in front of AIO).
Personally I use gonic with the Subsonic API, and Ultrasonic on Android. I haven't noticed any buffering lag, but it does buffer and cache aggressively. For mobile connections I see that as a big plus since it'll continue to play even if I loose signal for a while.
Personally I use gonic with the Subsonic API, and Ultrasonic on Android.
Gonic is a super lightweight subsonic API server with a very basic static stats "dashboard". As so, it's great for lower end devices. Only problem is that it sometimes fails to pick up the album art is some cases, if that don't disturb you, then it's great.
Airsonic (abandonedware) is the best subsonic server in my option. It displays all album arts correctly and is folder based which works much better than Navidrome's Id tag reader, which is a dumpster fire.
Airsonic is on the heavier side on ram usage, around 1GB. Can probably run just fine on 500mb. Probably around what Jellyfin uses.
Ultrasonic is a great android app. It is just not updated for quite some time now.
I'm also running Jellyfin and I'll experiment with Finamp. Let's see if it takes the number one spot from Ultrasonic :)
Edit: Ultrasonic's strong point is also the caching of music for offline listening. Not sure if Finamp has the capability.
There's a ton of android clients Subtracks is nice too! Ultrasonic might not get regular updates, but it's already very complete so there's not much need.
I haven't had much issues with gonic and album art, I guess YMMV
I've been using a Navidrome server with Feishin as a desktop client (though I'm looking for something a bit more feature-rich) and play:Sub as a mobile client with a tailscale link. No idea if this is a dumb way to do this, but it works for me. I don't really get any buffering unless I'm trying to play a FLAC out in the middle of nowhere.
Currently exploring some tools around this myself too. I'd recommend having a look at Gonic, LMS(light music server) and Navidrome for hosting music. Personally I quite liked the simplicity of Gonic.
If you need to re-sort/manage your music then, Beets and Musicbrainz Picard, or MediaMonkey (if you're on Windows) are your friends. These can add alot of additional metadata to your library.
Beets is apparently the "best" tool out of these as it has a big plugin library and hella customizable configuration for your exact setup.
I started working on a hobby project recently to meld the utility of Beets with a music and podcast streaming service, like Subsonic. I'm developing this with a contract-first approach, and so far I've gotten most of the podcast management code in place, but I've not started working on the frontend outside of integrating a skeleton project into build process. I'll add a note to look into supporting webdav data sources directly.
I plan on doing another big dev push around Christmas, so hopefully I'll have an MVP app to show off around that time. The frontend is a basic vite/react base and the backend is Spring Boot with Kotlin. I'll be looking for some contributors for the mobile app side within the next few months.