Comment by ccakes
24 days ago
I tried this (among a bunch of others) about a year ago and landed on Gonic[1] for the server and Supersonic[2] on PC and Amperfy[3] on mobile. Yes it's a few different tools to maintain (plus beets etc), but it's the ideal set of features etc for me.
Self-hosting has been fun and I've started experimenting with local LLMs to build playlists which is helping discoverability.. or more /rediscovering/ artists that I haven't listened to in a while
[1] https://github.com/sentriz/gonic/ [2] https://github.com/dweymouth/supersonic [3] https://github.com/BLeeEZ/amperfy
Why did you chose gonic over navidrome[1]?
My stack [2] is: navidrome (music - subsonic server) substreamer (app) beets (music organization) EAC (audio cd ripping) audiobookshelf (audiobooks)
Most important part of navidrome are smart playlists[3], with these I didn't need AI support just yet...
1: https://github.com/navidrome/navidrome/issues/1417
I didn’t need a web client and Gonic shows the actual directory layout for the folder API. I have a few albums that requires gapless playback and most web players can’t accommodate them. My music library layout is mostly ‘collection/album-key/track-key.ext’ where album-key is something that uniquely identifies the album and make it easy to search for. For my main collection it’s’artist - year - album’ while for others it can be just ‘year - album’. Gonic shows the same layout to clients.
I think the folder structure like browsing is the main reason to ditch navidrome...
While I get the point, this is not an issue for my use case.
What I would love to see though is a "sync playlist to path" button in the web interface where it keeps the original folder structure. With this i could create partial lib dumps for my car usb stick or my family members. Maybe i submit an issue for this.
Another +1 for navidrome. I use along with play:sub on ios, and feishin with desktop , and couldn't be happier.
I also use Lidarr for PVR needs
I have chosen jelly over it because of the way navi stores music. I prefer to organize music in folders myself, and tag them with picard. Jelly then just shows everything nicely with 0 configuration.
Navidrome can work with your folder layout, too.
I don't remember why I settled on Navidrome instead of the others, but I basically just told it "here's my music, now go play me something" and it all just worked. As far as I'm concerned, it doesn't manage organization at all.
6 replies →
https://github.com/epoupon/lms is another (Open)Subsonic compatible server that supports directory browsing commands. But actually few clients use them.
2 replies →
+1 for navidrome. I’ve had better luck with the play:Sub app (iOS).
I think it’s important that these servers use a common API (subsonic), but it seems like the slickest apps are always targeted to one specific backend (plexamp, finamp, prism music).
I did try Navidrome and used it for a while.. I honestly don't remember why I switched but I suspect the reason was probably more related to the client I was using at the same (Submariner on macOS) than the server-side.
I have both Gonic and MPD on my home server (an old mac mini running debian). It's connected directly via optical to my AVR and MPD can be controlled with the Rigelian app on my iPhone. Gonic is for Amperfy when I want to stream to the Homepod.
On my desk, I used to have a satellite instance of MPD for my desktop setup, but I copied over my library to an external drive and use that as my main instance (rsync to the server when I update it). I rarely play from my laptop (I control the others instead). but could use either the satellite config, a subsonic client, or a quick sshfs mount.
And for offline sessions, I have a DAP with a 512GB card and most of my collection.
I'll have to check out Supersonic for the desktop.
On Android I've been using Symfonium which is fantastic. https://play.google.com/store/apps/details?id=app.symfonik.m...
If you haven't seen it, discogs releases a huge dataset for free that I feel like is ripe for powering a cool music recommendation engine
I haven't! I just did a quick search, is this[1] what you're talking about.. or something else?
[1] https://discogs-data-dumps.s3.us-west-2.amazonaws.com/index....
Yes, that is what I'm talking about! I had once dreamed of building a service you could ask questions like "what other artists recorded in the same city in the same year as artist xyz" and have it figure it out via the discogs dataset.
Musicbrainz for the win.
I currently host icecast/ices. Does your above options allow multiple clients to listen to same stream. I see it mention jukebox mode.
Is there an Apple Watch app for this tech stack? That’s what my current (totally different) solution is missing.
+1 to Amperfy, I use it with the Music app on my Nextcloud. The App Store version is a bit barebones last I checked but the Testflight version feels like a completely different app, it’s just like Apple Music but self-hosted. Kind of like Apollo felt like an app Apple would make.
I'm hyped about Amperfy but it doesn't have gapless playback which is a hard must for me. Last time I checked, anyway. Looks like it's been committed recently though: https://github.com/BLeeEZ/amperfy/issues/96
Also it seems transcoding is mp3 only, whereas play:Sub can use (and seems to default to using) OPUS which is better in every conceivable way.
Edit: Trying gapless with the TestFlight - seems to work, however, it doesn't change the displayed track.
[dead]
OK, I will ask. I presume you purchased all those music files that you host on that certain server, didn’t you? I will also assume that there is no tool that lets you acquire music MP3s (or some appropriate file type which is non-audiophile listenable) the Linux ISO way (without having to hunt them songs one by one), right? I am talking about someone already having a Spotify/apple music playlists/likes/favourites.
Also, these self hosted music services mean — no new music reco/discover, right? Not necessarily a bad thing. I was curious. Never done this.
How is the cost/spec need of this self hosting like? Does it have to be stand alone or it can live with other things like maybe an archiving/bookmarking service and small self hosted utilities like that (of course not all being used at once).
>OK, I will ask. I presume you purchased all those music files that you host on that certain server, didn’t you?
I self-host my music streaming with Plex, and I'll go ahead and admit to you that no -- not all of my music is paid for.
>Also, these self hosted music services mean — no new music reco/discover, right?
I've discovered more music, and more interesting music, through my Plex server in 6 months than I have on Spotify/Apple music in 6+ years. On the site where I get my music, I have downloaded thousands of albums - 75+% of which I have never heard in my life. I did this by downloading albums I liked, and then snatching all related albums on top, and then snatching all the albums collected by people who like the albums I like, and so on. And so I now have a collection of music all relatively close to my taste but FULL of stuff I've never heard in my life.
On top of that, this site also has ways to follow users and has a way to see albums that they enjoy. It has a top 10 board of the most popular albums on the site that day/month/year.
Then, on the Plex side, Plexamp (which I stream with) has many many ways to start "stations". "Time travel radio", Decade radio, Style (genre), Mood ("Ambitious radio", "Cerebral radio", "Passionate radio", etc.) and more such as algo-DJs with specific styles.
It's all much higher quality mechanisms for discovery than payola-weighted streaming algorithms and "curated" playlists.
What site is this? I miss some sites from 15+ years ago which let people post bootlegs.
Roon (proprietary) has great music discovery features like this. They curate a structured database of all the people related to each act, recording, etc. every artist has an info page with lots of links, so you can trace collaborators across projects. They use the same data to power a really good radio and album recommendation features.
https://roon.app/en/music/data
Sounds like an interesting website. Would you mind sharing the link? Asking for a friend.
2 replies →
Self hosted music service doesn't necessarily imply new music discovery problems, because a lot of people still discover music the old non-algorithmic way, by being interested in certain genres, studying labels and artists and going through their albums, adding to their collection what they would love to hear again. Buying and owning the song/album somehow brings me more satisfaction than paying a monthly fee for a song library where I won't even listen to 99% of the tracks. Regarding the cost – it is most certainly magnitudes cheaper than renting music from spotify or apple music, but it is ofc more expensive in terms of attention.
The algorithms have never introduced me to a new song.
They always try to mash up things I've heard before, which is disappointing because I can often go to "similar artists" in Spotify and after drilling down a couple of levels, find new artists.
But Spotify will never suggest it until I listen to a song at least once and even then it will only recommended that one song.
I still do most of my discovery by looking at other bands on a related label, internet radio or, as mentioned, finding a band I like and browsing the similar artists.
5 replies →
Back in the days, there was a service called what.cd, which was really nice for music discovery. You had very dedicated music fans, great forums and a daily top 10 of most downloaded music. For many it was the fastest way of finding new interesting stuff.
I've heard rumors this kind of services still exist, but we never know if it's just an urban legend.
5 replies →
honestly the best way to discover new artists for me is last fm. i can look who has similar taste and see what they like. Allways wanted to implement this somehow
2 replies →
For some people music is a hobby — looking for new stuff, buying and sorting it is their passion.
The worst thing you could do to me is tell me that I pay $5 a month and the rest of my musical journey is solved and gets decided by a corporate algorithm that pays emerging musicians and niche artists a starving wage.
To me Bandcamp has been the best thing since sliced bread - direct connection with artists/labels, high quality audio (in a dozen formats) and often the chance to buy physical media (I'm a vinyl person).
Digital crate digging is one of my hobbies!
Not OP, but gonic is very lightweight and takes little resources. It lives on a machine that serves a few websites and also hosts my photos with photoprism (by far the most resource intensive service on this server). It's a basic N100 machine with 8GB RAM.
As for my music, although I own a physical copy of most of it that I bought legally, I downloaded almost everything through bittorrent as is easier than ripping CDs.
A sizable part of my collection consists of things I was unable to buy because it's unavailable here or unavailable at all, though. Some albums I received from friends. I don't feel guilty about it, to be clear.
Yep. Same with Plex. I used to run it with 1.2 GHz dual core Intel Atom. I always encode to 128 kbps Opus when I stream my music and I'm not on Wi-Fi. It took about 300-500ms until the music started when I pressed play. The CPU usage was very low even when actively encoding.
The only thing that takes a bit more of CPU is if you have a huge music collection (I have about 2.5 TB), and you do the first metadata and album art scan over the collection. Otherwise you can run these systems with a potato.
2 replies →
I have 700 via those tools but then my current Spotify/Apple Music list must be close to 1500 and I shudder at the thought of hunting the rest of 800 down on P2P here and there. So I was wondering is there a way to do it in one shot or few shots as a batch/automated process.
3 replies →
How many TB of photos can you comfortably have in photoprism? I mostly use date-systems, so I could turn off the "ai" if that's resource-intensive.
Can it "stream" previews and then offer full-size downloads? (I'm looking for something that can offer previews + downloads so I can quickly find photos from my home archive when I'm out with my laptop or phone)
Bandcamp has a massive amount of _legal_ free / zero cost / €1 per album music if you spend the time digging. As a hobby DJ I really enjoy the digging aspect!
Please don't be so quick to assume all music is pirated by those with large audio collections.
Buying new tracks like when I was still using iTunes would be nice. Bandcamp comes close but I don't mind the extra step of downloading the zip file and running my script to have it in my music server. Where I also have plenty of digitalized CDs that I own.
Spec-wise, start cheap and upgrade the CPU/RAM when you hit limits. It's not like you'll use all those services at the same time. My home containers all run on a recently purchased HP Mini G2 that I upgraded from a 6100 to a 8-core 6700 and the RAM is an odd 24GB. It even has a rarely used minecraft server. Docker containers are bundled into proxmox instances per user or whatever makes the most sense.
> Also, these self hosted music services mean — no new music reco/discover, right?
Sure they can do. Mine gets suggestions from lastfm.
> How is the cost/spec need of this self hosting like?
Mine is a raspberrypi4 on my local network, probably less than 20€ of electricity per year. Hosts other things...
You don't do music discovery by blogs, music journalism, word of mouth, genre databases and so on? You're fully subservient to some algo an ad corp is using?
As for purchasing, many artists give away their works (e.g. "name your price") or don't deserve payment but should be archived and studied anyway (e.g. nazis, billionaires and so on). It's probably not that hard to build a Bandcamp crawler that fetches name-your-price-albums from specific genre tags.
For a few clients and simple browsing you can run an audio cast off a router or cheap SoC.
Some, ie Roon, allow you to play back both your local library and music from certain streaming services so you get the benefit from both
Why purchase he’s doing AI training /s