Hello! I was looking for alternatives for Spotify to listen to music and create and share playlists with friends, and found a huge amount of players, both local and streaming, but none of them offered a reliable way to share playlists with friends. So here me out: what if there were a federated, self hostable platform where you can create an account, that provides an API that all the million music app can integrate easily in order to synchronize and share them also with people that uses other apps? Do you think it would work? I believe that if something like this would widespread, huge music companies like Spotify and Youtube wouldn’t implement such a thing, but that perhaps would be also a way to “disincentivize” people from using those services!
“Hi friends Me on musicapp1 and Fred on musicapp2 created this cool playlist, hear it out!!”
“Sorry I pay 12$/month for Spotify, I cannot see it”
It’s not FOSS afaik, but it’s free and works really well: https://www.tunemymusic.com/
It’s actually very very cool, the closest to what I imagined. Yeah sadly it doesn’t seem to be FOSS
The main difference with my “idea” is that this one creates a copy of the playlist on each service, so if you want to share it you need to know which player the other person is going to use, or just send him all the links. My idea instead has just a single playlist, accessible with API that can be used by every music player
thanks for sharing this!
With your idea, does the service (eg yt music, Spotify) have to specifically support the API?
Yes, it’s like a common “protocol”. Probably huge music apps like youtube and spotify would never adopt such a thing unless it become really really widespread among other platforms, but just being able to share them across FOSS music players would be amazing imo
Maybe even FOSS wrappers for the big services. Such as https://github.com/th-ch/youtube-music/
I made a quick and dirty (emphasis on dirty) app to do that. You upload your own music and m3u playlists and get a link to share with your friends. The master controls what’s played and that is synchronised to everyone. We used it to control music for our remote D&D sessions.
https://github.com/bjoern-tantau/share-your-music
The code and interface are really ugly. And I cannot provide support because I’m disabled. But it can serve as a proof of concept.
Yeah something similar to this, with API to access it from any music player app! The features that would make it really appealing (imo) would be:
- share playlists with friends using different music players
- cooperative playlists: give edit permission to other users (chosen by you), so that you can create playlists with your friends
- search playlist: search “rock music” and get all public playlists that matches your search, perhaps even with tags
A federated platform seems to be a big overkill for this use case. Sorry, but that sounds a bit like the time where everyone tried to solve everything with blockchains. You could simply export and import playlist with a file that can be shared. Companys simply don’t want it to be that easy to switch to other services because its a huge selling point that you got all your playlists in their system. Additionally I don’t think that it would be that easy to identify songs between systems because I don’t think that there is a unique identifier like the ISBN for books.
You could simply export and import playlist with a file that can be shared
This is something that has to be done manually. What I have in mind is a platform where I can have a playlist on my music player app, that I update everyday I discover new music, and I want to be able to send a link to you so that you can listen to my playlist in real time, without having to export and then import manually. Also, I would like to be able to have “cooperative playlists” like Spotify has: everyone I give access to my playlist can add songs to it (I do this with my friends, we use it to discover new music)
I said federated because otherwise it would only work between close friends that can create an account on my server, and it means that I wouldn’t be able to share it with anyone outside my friend group. Otherwise it has to be a centralized service I guess
So something like ListenBrainz.org
Seconded. The more people we get on listenbrainz, the better.
I have Multi-Scrobbler set up and scrobble all of my listens to it. Hoping that more people do as well because I want better recommendations for some of my niche listens!!!
Maybe if we extended ListenBrainz to support a bunch of APIs for syncing playlists to services.
something like this, yes. It was better if it wasn’t centralized perhaps, but if that wouldn’t be feasible then something like ListenBrainz with the ability to add playlist to your account and sync them with a simple API would work
Nah, you gotta poll their API they don’t support push.
But when it comes to playlists, the API allows vast possibilities when it comes to playlist management.
Yes, my point is that we need a service alongside ListenBrainz to take Playlists from there and push it somewhere else like Spotify, Tidal, Jellyfin, whatever.
Something like Soundiiz but FOSS
Mhm I use Explo (written in go) to pull from listenBrainz and write playlists.
Can you give me a link? The name is pretty much unsearchable
You are talking about funkwhale. I never tried it, so I can’t speak to the part about integrating it with different clients, but that surely is possible, if it doesn’t already work.
Also, one big problem with this is copyright (however you might feel about it).
Edit:
The problem with services like Funkwhale and Navidrome or similar services is that you need a music library on the server, and the players can only play music from there. What I have in mind instead is a way to sync playlists (without caring from where the song is being streamed, may it be youtube, spotify, Funkwhale, Jellyfin, local library…) between different clients
Ah got it, yes, that would be insanely useful.
Also, one big problem with this is copyright
It could work as a music sales service too though. Have software that matches the tracks in the playlist to tracks in your library, maybe with a confirmation / manual match dialogue, and a link to the equivalent of iTunes to buy any missing tracks.
Give the option to buy albums too, so if someone sends you a playlist with a new Billie Eyelash single, for example, it could also recommend the album it’s from.
For those of us with large libraries, we just match the songs, but it’s got the potential to make money for the artists too. I believe that Discogs and MusicPicard? can match tracks to albums, and link to artists stores, so at least part of the sales side exists already :)
I thought funkwhale got abandoned
Edit: I was wrong https://dev.funkwhale.audio/funkwhale/funkwhale
I could have sworn that someone told me it got shut down.
I’m self-hosting Navidrome, which does sync playlists. However, Android clients generally suck, so I’m using Symfonium (paid app) to access my NAS music files.
If you can put up with the currently available Navidrome clients, then that’s a FOSS (and self-hosted) solution to consider.
Can you export playlists from Navidrome? I’m running it and can’t see a way of doing that. (The workaround I’m using is building playlists in Synology Audio Station and then setting up Navidrome to import them. If you know a better way of doing this I’d be interested.)
Can you export playlists from Navidrome?
This button saves an m3u file.
Because I use symfonium on Android, playlists sync between my device to Navidrome.
I already looked into Navidrome, but as far as I understand you have to keep a music library on the server, and then you can stream from there.
What I was thinking instead was just a playlist sync server: the music player apps will still play music from they were playing before, so some from local files, some from YouTube, some from Navidrome ecc, but the playlists are synced on this served and can be exchanged with other users that use different players
I like the sound of that
Do you mean like a FOSS version of https://soundiiz.com/transfer-playlist-and-favorites?
Or at a song/album level, a FOSS version of https://odesli.co/?
If I understood correctly these are one-shot services: I have a spotify playlist and want to convert it to a YouTube playlist. Instead what I have in mind is a way to sync a playlist “player agnostic”, so that it can be viewed by any music player supporting the API
That could be just a JSON file.
How about you make up the structure and we all adopt it?
How about you make up the structure and we all adopt it?
I would like to have the capabilities and the time to do this XD
I think that the best possiblity for something like this would be that a already popular music player created this alongside the player, and already adopted it, allowing sharing playlists with users on the same app. This way, all other music players would have the possibility to adopt it themselves in order to be able to share the playlists with users on their app and on the original music player, and so on
Or use an existing format like .m3u or .pls.
Can those handle the meta data for the track name, artist and release date. Assuming you want a portable playlist that can then find the track on the recipients preferred platform (streaming provider or self hosting). Given that a lot of tagging is trash maybe also included an audio fingerprint for validation?