Selfhosted alternative to Spotify
from mitexleo@buddyverse.one to selfhosted@lemmy.world on 21 Oct 14:05
https://buddyverse.one/post/36444

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.

#selfhosted

threaded - newest

carloshr@lile.cl on 21 Oct 14:11 next collapse

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.

@mitexleo @selfhosted

mitexleo@buddyverse.one on 21 Oct 14:15 next collapse

Is Jellyfin Subsonic or Ampache API compatible?

mhzawadi@lemmy.horwood.cloud on 21 Oct 15:01 next collapse

no, its a different thing

carloshr@lile.cl on 21 Oct 14:35 collapse

@mitexleo @selfhosted I don't know. I just use it with the official app or finamp.

mitexleo@buddyverse.one on 21 Oct 15:27 collapse

How do you organize music? All of my songs in the same folder. Artist and Album sections are empty now.

carloshr@lile.cl on 21 Oct 16:09 collapse

@mitexleo @selfhosted artist/album. I use musucbrainz Picard to tag files, so jellyfin can identify easily.

mitexleo@buddyverse.one on 21 Oct 16:23 collapse

How can I configure it? My Artist tab shows only one artist.

carloshr@lile.cl on 21 Oct 16:29 collapse

@mitexleo @selfhosted here you can find some information on how to organize your music directories in Jellyfin.

https://jellyfin.org/docs/general/server/media/music/

You need to add media library first.

mitexleo@buddyverse.one on 21 Oct 17:17 collapse

Organizing them is going to be time consuming for me. Nextcloud Music has everything I need. It can detect genre, language etc. using NextCloud Recognize app. I just need to improve the buffering issue. 🥺

carloshr@lile.cl on 21 Oct 19:17 collapse

@mitexleo @selfhosted Jellyfin can also do that. You need to configure metada providers in library. But it is required that you organize your library directories by artist/album.

PrinzKasper@feddit.org on 22 Oct 09:01 collapse

But it is required that you organize your library directories by artist/album.

That’s what killed Jellyfin for me, I have like 6000 songs in a flat folder and I’m not gonna spend the time to reorganize all of that lol. Navidrome recognizes albums etc by tags, so that works better for me.

mitexleo@buddyverse.one on 22 Oct 14:26 collapse

Navidrome wasn’t displaying the artists.

mhzawadi@lemmy.horwood.cloud on 21 Oct 15:02 next collapse

I use Jellyfin, moved from subsonic and its amazing

BaroqBard@lemmy.world on 21 Oct 20:08 next collapse

If I may recommend it, give Symfonium a try for an app front end. It’s actually stellar. I tried Finamp with the same and wasn’t as jazzed

Owljfien@lemm.ee on 22 Oct 07:14 collapse

I’m also loving finamp, I keep meaning to try building it on desktop when I have free time, but also keep forgetting

cyberpunk007@lemmy.ca on 21 Oct 14:12 next collapse

I’m using Plex with plexamp. You could also go jellyfin with finamp

Blxter@lemmy.zip on 21 Oct 15:36 next collapse

Not gonna lie I love Plexamp so glad I gave it a chance awhile ago.

apprehensively_human@lemmy.ca on 21 Oct 16:00 collapse

I use plexamp as well, I think I bought Plex Pass specifically to have it.

You can install a headless plexamp client onto a Raspberry Pi and have it hooked up to an audio receiver for seamless music casting.

cyberpunk007@lemmy.ca on 21 Oct 19:24 collapse

Wait, what? That’s cool.

apprehensively_human@lemmy.ca on 21 Oct 21:45 collapse

It’s a bit of a process to get it going, but it’s worth it for me so that I can use my phone to cast directly without needing to use a smart home device.

howtohifi.com/install-headless-plexamp-endpoint-h…

AlphaAutist@lemmy.world on 22 Oct 15:25 next collapse

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.

Blxter@lemmy.zip on 23 Oct 10:54 collapse

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.

AlphaAutist@lemmy.world on 23 Oct 18:59 collapse

They are already tagged as explicit/clean in the metadata as well as separated by folder with an [E] tag if explicit. I could manually rematch them but my library is large so I’d really rather not

hefty4871@lemmy.ca on 22 Oct 16:44 collapse

Those plexamp sweet fades though. 🤤

wildbus8979@sh.itjust.works on 21 Oct 14:38 next collapse

If you want pure streaming DAAP using OwnTone is a good alternative owntone.github.io/owntone-server/

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.

Orbituary@lemmy.world on 21 Oct 15:21 next collapse

Lose. “Loose” is for morals and what Monty Burns does to the hounds with bees in their mouth.

wildbus8979@sh.itjust.works on 21 Oct 15:23 collapse

No one cares.

zingo@sh.itjust.works on 21 Oct 19:42 collapse

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.

Edit2: Yes, it can cache music.

wildbus8979@sh.itjust.works on 21 Oct 20:08 next collapse

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

Overshoot2648@lemm.ee on 24 Oct 22:02 collapse

I like Navidrome for the server and substreamer for the app.

meldrik@lemmy.wtf on 21 Oct 15:13 next collapse

Funkwhale?

mitexleo@buddyverse.one on 21 Oct 15:25 collapse

Last time I checked that project wasn’t actively maintained. I think Jellyfin suits my needs.

Wiz@midwest.social on 21 Oct 21:28 next collapse

Sad to hear this news.

HappyTimeHarry@lemm.ee on 22 Oct 08:02 collapse

Funkwhale is still actively maintained, the last release was less than a year ago.

hedgehog@ttrpg.network on 21 Oct 18:32 next collapse

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…

Check out docs.nextcloud.com/server/…/server_tuning.html and docs.nextcloud.com/…/php_configuration.html#ini-v… for docs on the above.

mitexleo@buddyverse.one on 22 Oct 04:39 collapse

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

tuxec@infosec.pub on 21 Oct 21:36 next collapse

I’m syncing Spotify playlists with Lidarr and play my music in Jellyfin or Symfonium.

51dusty@lemmy.world on 22 Oct 01:10 next collapse

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.

Sunny@slrpnk.net on 22 Oct 07:17 next collapse

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.

Best of luck 🤞

chrundle@lemmy.world on 22 Oct 11:38 next collapse

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.

mitexleo@buddyverse.one on 22 Oct 11:42 next collapse

Not sure why it didn’t work for me. I’ve also tried Jellyfin. Had the same issue.

chrundle@lemmy.world on 22 Oct 12:27 collapse

How are you tagging those and in which tagging software?

mitexleo@buddyverse.one on 22 Oct 14:31 collapse

I use NextCloud Music and Recognize (a NextCloud app). It’s showing all albums and genres (mostly) correctly. Also I can go to a artists page and see all of his songs.

NextCloud Music supports both subsonic and ampache API.

<img alt="" src="https://buddyverse.one/pictrs/image/98b7223f-45ce-474d-b697-09122b383248.jpeg">

chrundle@lemmy.world on 23 Oct 07:21 collapse

Recognize

I am not familiar with these, but it seems it’s automated tagging? Then it depends how it writes the tags and the separators. Try viewing the tags in Musicbrainz or some other manual tagging software to check.

Overshoot2648@lemm.ee on 24 Oct 22:00 collapse

I’m doimg the same, but with the substreamer app.

sfunk1x@lemmy.world on 23 Oct 02:40 next collapse

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.

Jentu@lemmy.blahaj.zone on 24 Oct 14:00 collapse

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.