back
63 comments
> Effectively a tool for adding background tunes to a chat room, Groovy worked by pulling audio directly from YouTube videos, joining voice calls, and playing music queued up by users

It's not surprising that this was shut down like most "freeload until we get caught" hobby crafts.

But is there a way to build this service in a legit way on top of any existing music services?

For example, if you were able to give Groovy your Youtube Music API key at a subscription level premium enough for your Discord server, but that doesn't exist on Youtube.

I can imagine there isn't much upside for the big players in these hard spaces to support "glue app" value like Groovy, but how can you build Groovy without building your own music service?

Any service that broadcasts licensed music to users is going to have issues like this someday. See how tricky it is to have legal background music on a Twitch stream.

I think the best way forward for this kind of thing is to not broadcast the music but instead have each user use their own local player with their personal Spotify/YouTube account and sync the playlist through a shared service.

Metallica played BlizzCon and the stream on Twitch had their audio replaced / covered up by elevator music [1]

[1] https://www.billboard.com/articles/news/9529030/twitch-metal...

We've even see law enforcement blast copyrighted music to prevent video from ending up online. I think you're right, the ability to synchronize clients via playlist versus streaming is going to be the path forward.
The best way forward would be to abolish copyright. The only people making serious money in the current system are a fraction of a percent of the most popular artists and a constellation of middlemen who skim money off the top. And as sibling comments point out, the status quo is actually harmful to artists who want to play their music online.
Discord has spotify integration so you can have group listening sessions, but it only works for premium users.
I'm always surprised the source code doesn't accidentally leak out when this sort of C&D occurs
The code used for scraping YouTube and streaming audio to Discord has always been open source:

- https://github.com/sedmelluq/lavaplayer

- https://github.com/freyacodes/Lavalink

> a big "fuck you" to google

Ehh, I'll be the devil's advocate, google makes money via tracking and ads. Both were avoided by using the bot. big brother is just protecting their business model.

Discord.js (the primary Node.js interface to the Discord API) is chock full of exactly this code -- as examples even. Using ytdl to stream into voice channels.
This is why copyright is dumb and doesn't translate properly to cyberspace. There is no way in hell the RIAA would bring a case against you for listening to a record that you own in the privacy of your home with a group of your friends. This is the exact cyberspace equivalent to this meatspace activity, which is obviously entirely legal and desirable and socially acceptable. The fact that we can't have nice things over a technicality that there's some distance involved and computers is utterly insane.
> But is there a way to build this service in a legit way on top of any existing music services?

Probably not because it would count as a performance and no consumer music services are licensed for that. You'd need something like whatever pubs and shops use.

So the question is how do we create a space for something like this? I don't think most people consider this kind of music as a "performance" it's just the RIAA dictating stuff.
What about just syncing the playlist and seek position and leaving the actual playback to every client with original youtube player (or even better music.youtube.com) ?
> But is there a way to build this service in a legit way on top of any existing music services?

One could always build an AI that train on the youtube data to provide background music that take a suggestion from discord and then fill in music that is generated with portions that are recognizable from copyrighted music but then does not do provide the whole song. User can then rate the background music and provide input to the AI.

AI copyright laundering is going to be a fascinating new legal domain.
> But is there a way to build this service in a legit way on top of any existing music services?

Discord surely have enough lawyers and, you'd hope with a $10bn valuation, enough financial clout to wave at the record companies to get the kind of license they'd need to give their users background tunes.

But that would cost them time, money, and put them on the hook for shenanigans...

Well, yeah...anything that depends on a third party API will last only as long as the API owner is OK with it.

10 years ago, back when Windows Phone was a thing, Google wouldn't make an official WP app for Youtube. So somebody created MetroTube, a native YT client. Incredible app, with a completely seamless experience.

Then Google changed its API rules and it was dead in under a year.

> anything that depends on a third party API will last only as long as the API owner is OK with it.

Discord bots generally use a library like lavaplayer[0] to scrape YouTube for music streaming purposes; no API access per se. It was always at best a grey area, especially since many large bots rotate through IPv6 blocks to avoid YouTube's IP bans.

[0] https://github.com/sedmelluq/lavaplayer

There is NewPipe for Android if anyone is interested (just not on Play Store of course).

https://newpipe.net/

It comes as no surprise to me, they were monetizing streaming music from YouTube to millions of people, once you get to that scale you can't pretend it's just a hobby project, it's a business that's freeloading on YT content.

If you want a music bot that won't succumb to the same fate, you are better off self hosting something on a small VPS.

This is a bummer, but when I heard the news last night it inspired me to add this functionality to the bot I've made for the server I'm in with friends.

For anyone looking for a fun, quick project to do I recommend checkout out discord bots, discord.py is a great library that allows for some pretty cool stuff!

The most fun I've had is hooking it up to OpenAI so that typing "!ai some prompt" here will get the bot to respond back with OpenAI's response

I was prepared to be angry at Google, but this probably stems from at-volume use of licensed material outside of the ToS. It probably impacts their deals with the music industry, etc. and requires intervention. (Not that this couldn't also be a salvo fired against an upstart competitor, but I doubt that's the primary reason.)

Seems like Discord could estimate the value of Groovy to its users, and if non-negligible, could come up with their own license deal. Perhaps with Spotify or another company.

The people to be angry at are the recording industry.

Discord does in fact have a Spotify integration, but it has limitations - you need to link your spotify account, if anyone is a free user everyone else gets silence while they have ads, and you can't use it at the same time as voice chat (the last one is largely why bots like the topic of this post are still popular).

https://support.spotify.com/us/article/discord-and-spotify/

I liked groovy bot and it replaced what people would do manually by just streaming their machine watching YouTube.

It seems stupid that Google didn’t work something out as the main problem was that it didn’t play ads. So just play ads.

I dislike the trend of shutting down APIs as groovy should be able to use any user’s license to YouTube to play music into a channel (or Spotify or Apple Music or whatever).

This is the equivalent of playing a record over the phones to my friends and should cost me any extra money.

I’ve never used groovy in a channel with more than 5 people anyway.

> This is the equivalent of playing a record over the phones to my friends

Yeah, that's against copyright law too. It's just that if you were doing that yourself, it would be on too small a scale for the record industry to fight against.

By this logic I can’t invite my friends over to listen to it either though right? That seems like it should be legal. I thought there was some legal threshold where it is no longer personal use but I could be wrong
That’s not against the law. What are you talking about?

I can’t deliver public performances. But I can certainly play songs for private settings. Usually explicitly, and if not, under fair use.

Don't forget that google wants you to watch the videos and ads. Most preferably logged into your account.

They want to learn what you watch and listen to.

Bot usage anonymises your preferences and skips ads.

Google could provide an api that shows ads or plays ads. They could also even register the users to know who was listening.

They don’t want APIs and only want listeners through their apps. Kind of lame they aren’t building technical solutions for actual user problems (like I’d like to listen to YouTube in my channel), they would be able to charge advertisers more if there are 5 people listening to an ad vs just one.

So then Googs should embrace the bots and attach the bot to a user so that anything the bot does is associated with the user. win-win
i wonder how it would work out if a bot used youtube-dl to snarf audio tracks.

it seems YT-dl has had its fight on the hill with google and won out for the time being, its possible a discord bot using YT-dl might wake a sleeping bear

> i wonder how it would work out if a bot used youtube-dl to snarf audio tracks.

youtube-dl + ffmpeg was the "traditional" way of doing it, but it didn't scale very well. These days, the majority of bots use lavaplayer[0] based solutions like lavalink[1] to stream audio.

There's also YouTube IP bans to be concerned about. Most bots get around it by rotating through blocks of IPv6 addresses.

[0] https://github.com/sedmelluq/lavaplayer

[1] https://github.com/freyacodes/Lavalink

That would be awful. Youtube-dl feels like Slsk to me. As long as its under-the-radar enough, the big dogs will let it live. That it's a CLI tool is enough to deter most users. If somebody creates a GUI app for it however, I imagine it would be snuffed out quickly.
youtube-dl already has a gui app.
It would pretty much guarantee that YouTube would kill youtube-dl access.

The music content industry is very aggressive with using legal pressure to make sure they get their dime.

This is exactly what I made last night so I hope not!
Thought experiment: let's say I'm in a Zoom call (or Jitsi or whatever) with some strangers, and in turn each of us plays some music in the call (could be from Spotify, could be from the local music library, whatever can be piped into an audio sink), assume the room is open for anyone to join, would this (which is basically plug.dj over webrtc) be illegal? If so why?
In some jurisdictions is even illegal to sing a song to yourself in public.

Copyright around music and film is insane and absolutely detached from reality. Having a copyright for 70 years after the last involved person's death? Because shoveling money into a grave is useful? Why isn't it like patents, 25 years and done?

Mickey Mouse.
theres a core idea gere of sharedistening beung nothing more than a feed of links that is not gonna die.

the copyright & control world is rearing up very heavily here, with twitch, in so many places so many ways. unhosting the stream, simply providing metadata about what you are listening to, is a liberty these large powers that be will have a much harder time wrenching back from humanity.

> simply providing metadata about what you are listening to

scrobbling: https://en.wikipedia.org/wiki/Last.fm#Scrobbling

edit: I had to go just a bit further into this rabbit hole. Apparently the term "scrobble" is still a registered trademark of Last.fm, a company owned by ViacomCBS.

There's the open source ListenBrainz project, which uses "listen" instead:

https://listenbrainz.org/faq/

There are hundreds if not thousands of these bots, some are already close to Groovy's size. My initial reaction is that...this won't have much of an effect?

I wonder if a "bot factory" would be more effective, so then you're in the same boat as torrent trackers (we just make the gun, we don't use it).

Any good options for something similar? It’s been pretty great for a few friends hanging out grinding some game and chatting. Or queuing up music of a random theme we think of.
Discord should just use AI generated music trained on those unlimited 8 hour tracks. Then the music could be generated by the user’s cpu with low bandwidth utilization.
What if we invented some kind of protocol for sharing media?