Hi, I am failure. This isn’t a GSoC proposal (yet). Consider it a gauging of the community’s interest in the idea.
The Idea
The idea I have is to implement a “Listen Together” feature for BrainzPlayer similar to those available in Spotify and Discord. I imagine it behaving pretty similarly to the music bots available on Discord in the old days (like FredBoat).
If you have never used those, here is a summary of how it works.
- Users join with the host having the perms to add songs / playlists.
- The bot loads and streams the music via the VC it is in.
- You enjoy music that is extremely crusty, and sounds like it’s passing through butter in your ears (I would know) in sync with your friends.
I liked it, and I would like to recreate it but without the crusty ear bleeding screeches.
A more technical difference will be that unlike with FredBoat where the bot plays the music, BP will only be syncing the various tracks being played to make sure everyone gets to listen to the same tracks in the same order and at the same time (with a small margin for error).
Why?
Would it really be better than Spotify and Discord and whatever Apple is doing in their own corner?
Yes! Because it’s going to be free (as in Freedom). While that is enough to sell me on anything really, I will add some USPs for this to convince the normal people.
- There isn’t a similar option (to the best of my knowledge) available across such a wide variety of music sources. Jams is for Spotify and requires Premium for listening remotely (and Lord knows I would die before I have to pay a dime to Spotify). Discord Listen Along only works with Spotify Premium as well.
- The music won’t be crusty.
- It’s free, which means more people who don’t care for scrobbling will become a part of the MetaBrainz ecosystem for this feature. And one day, we might even have enough to create a cult.
What about Jellyfin and Rave?
I don’t have much experience with either, but I know Jellyfin (because I was a part of the self-hosted community) and well it’s …self-hosted, and that already turns enough people away to make this feature worth it for BP. Rave seems to be more oriented towards regular streaming as well.
But what really are the advantages?
If you are still not convinced, I think it’s just one more good feature to add to BP that will make people want to use it more (both regular users and new users). I use Metrolist everyday, because it’s more convenient. but if and when I feel like jamming with my friends, I will switch to BP because that’s a feature it has, and that Metrolist doesn’t, making BP a more relevant feature of LB.
Is it even possible / feasible?
I would assume yes, in part because the “Listening Now” feature already exists. It only feels a hop and a skip away from using that information in conjunction with BP.
But, I am yet to do a proper analysis of it, and how complex it will truly be, and I have a feeling it won’t be the easiest thing I have ever done.
I will do that after I get some "Woo!"s and "YEAHHH"s, so if you like the idea, drop something along those lines.
Extended features
These may or may not be part of my GSoC proposal, but I like the sound of them.
- I think this could be extended by using the existing “similarity” scores and allowing people to discover rooms and the like.
FAQs
Questions that I got in IRC / Element. Not exactly frequently asked, but you get the gist.
What about users having different services?
Let’s say User A has two friends (big ask, I know), User B and User C.
User A is rich and has Spotify, AppleMusic, SoundCloud, and YouTube.
User B has Spotify, and YouTube.
User C is me, and will not pay for Spotify and only has YouTube.
When searching for the track, we would limit it to only searching YouTube.
Will this make User A and B upset? Yes. But unless all users have the same services available, listening together doesn’t really work, does it?