Autoplay and radio
Autoplay and radio
How autoplay keeps music going after your queue runs out, how radio stations are built, and how the two differ.
For a shorter tour with a live example, see autoplay and radio that learn from your likes.
Autoplay and radio pick songs the same way. Orpheus builds a list of candidate songs from the Deezer catalogue, called the pool, and picks from it. Orpheus plays nothing straight from Deezer. It finds each pick on YouTube, or on SoundCloud if YouTube has no good copy, and checks its title, artist and length as described in Playing music.
Autoplay
Turning it on and off
Autoplay is off until someone turns it on. You can use any of these:
/autoplay enabled: True, orFalseto turn it off. Run/autoplaywith no option to see whether it's on.- The Autoplay button on the player card. It turns blue when autoplay is on.
- The "Keep going when the queue ends" switch on the dashboard's Settings page.
It's a server setting, so it stays on or off for everyone until someone changes it. By default /autoplay needs Manage Server. Someone with Manage Server can let other roles use it in Discord's Server Settings, under Integrations.
When it starts
Autoplay starts when the last track in the queue finishes or gets skipped and there's nothing else queued. If the server has a saved radio station, the station carries on instead and autoplay stays out of the way.
When it starts, a short message in the channel tells you which artists it's carrying on from, for example "carrying on from Drake, Future and 2 more". It names up to three artists. Past three, it names the first two and says how many more there are.
On the player card, songs autoplay picked say "Autoplay" where a person's request would say who added it. The dashboard shows the same "Carrying on from" line for the track that's playing.
What it starts from
Autoplay carries on from the artists behind the last five songs people asked for in the latest sitting. It reads them from the server's record of requests, newest first.
A sitting ends where nobody asked for anything for more than two hours, and autoplay never looks back further than 12 hours. If you stop for dinner and come back an hour later, your earlier songs still count. If the server last played something this morning and you start again tonight, this morning's songs don't. If Orpheus can't read the record, autoplay uses the track that just finished and what played before it.
Songs that autoplay or a radio station picked don't count, so autoplay doesn't drift further from what you played each time the queue runs out. The same song asked for twice counts once.
Newer requests count for more, and an artist behind two or three of those songs counts for more than an artist behind one. If nobody asked for anything in that sitting, autoplay uses the artist of the most recent track.
For each song it works out the artist like this:
- If the track came from a "- Topic" channel, it uses the channel's name without "- Topic". A dash in that kind of title belongs to the song, so a Topic upload called "Yesterday - Remastered 2009" carries on from the channel's artist.
- Otherwise, if the title looks like "Artist - Song", it uses the part before the dash. If several names are credited it uses only the first, dropping anything after "feat.", "&", "x" or a comma.
- Otherwise it uses the uploader's name, with "VEVO" and "Official" trimmed off the end.
So if you played "Drake - Nice For What" from a lyric channel, autoplay carries on from Drake.
How it picks
From those artists, Orpheus builds one pool of up to 300 songs from Deezer:
- Half is the artists' own top tracks. The more an artist counts, the bigger their share.
- The rest comes from up to 10 related artists. Artists that Deezer lists as related to several of your artists come first. When your artists have nothing in common, the places are shared out between them, with more going to the artists that count for more.
- Orpheus uses an artist related to only one of yours only if their releases share a Deezer genre with your artists' releases. That keeps a rap session from wandering into a different genre through one loose link. If Deezer has no genre for that artist, they're kept.
It keeps three tracks queued ahead and picks each one at random from the pool, with these rules:
- Anything blocked on this server is never picked, whether the track or the whole artist is blocked.
- Tracks liked on this server are more likely to be picked.
- A track that played recently can't be picked again. See Avoiding recent repeats.
- Out of any 5 picks in a row, no more than 2 are by the same artist, unless nobody else in the pool can be picked. Radio stations don't have this rule.
- If Orpheus can't find a playable copy of a pick, it drops that song from the pool and tries another.
Orpheus keeps the pool in memory and reuses it each time the queue runs out, as long as the artists haven't changed much. It rebuilds the pool when a new artist appears among the last five requests, or when more than half of the artists it was built from are no longer among them. The same artists in a different order don't cause a rebuild.
A rebuild remembers what autoplay already played, so those songs still count as recent. If a rebuild finds nothing, for example because Deezer is having problems, autoplay keeps playing from the pool it already had and tries the rebuild again next time.
A restart throws the pool away, along with autoplay's memory of what it played. The next time autoplay is needed, Orpheus rebuilds the pool from the songs people asked for in the latest sitting, as described in What it starts from.
Songs you add with /play while autoplay is running go after the picks already queued. When the queue runs out again, your songs are the newest requests, so autoplay carries on from them along with the others. If your song's artist is new to the set, Orpheus rebuilds the pool.
When autoplay does nothing
The queue ends, with a "Queue finished" message, if:
- autoplay is off,
- it can't work out any artist from recent tracks,
- Deezer has nothing for those artists and there's no earlier pool to fall back on,
- everything left in the pool is blocked on this server, or
- none of the tracks it tried could be found.
Stopping it
Turn it off, or use /stop. /clear doesn't stop autoplay: the current track plays out and, if autoplay is still on, it starts again from there.
Radio stations
Starting one
You can start a station three ways:
/radioon its own opens a menu only you can see. Pick a kind of station, then a station./radio station:shows suggestions as you type, from every station, labelled with their kind, like "Mood · Chill" or "Chart · Ireland"./radio artist: Drakebuilds a station around an artist.
You need to be in a voice channel. If something is already playing, starting a station counts as interrupting it, so a DJ role applies. See Controls and permissions. If you fill in both options, the artist wins.
Starting a station clears whatever was queued. The song playing right now finishes, and then the station takes over. The channel gets a card with the first pick, how big the pool is and how many tracks were queued. If you started it from the menu, the menu changes to say which station started.
On the player card, every song the station picks says "From (station) radio, started by @you". The songs count as the station's picks rather than your requests, so they don't change what autoplay starts from later.
You can also start a station from the Radio page on the dashboard.
The menu
/radio with nothing filled in asks what kind of station you want:
- Moods: Chill, Focus, Study, Workout, Gym, Party, Pregame, Sleep, Sad, Heartbreak, Feel good, Romantic, Late night, Road trip, Rainy day, Summer, Sunset, Motivation, Gaming, Coding, Throwback, Christmas and Halloween.
- Genres: Deezer's own genres. Pop, Rap/Hip Hop, Reggaeton, Rock, Dance, R&B, Alternative, Christian, Electro, Folk, Reggae, Jazz, Country, Salsa, Traditional Mexicano, Classical, Films/Games, Metal, Soul & Funk, African Music, Asian Music, Blues, Brazilian Music, Cumbia, Kids and Latin Music.
- Scenes: Phonk, Lo-fi, Afrobeats, Drum and bass, House, Synthwave, Drill, Amapiano, Techno, Trance, Hardstyle, Dubstep, Jersey club, UK garage, Grime, Trap, Boom bap, Jazz rap, Hyperpop, Vaporwave, Breakcore, Shoegaze, Bedroom pop, Indie rock, Pop punk, Emo, Metalcore, Punk, Grunge, Ambient, Chillhop, City pop, Bossa nova, Disco, Funk, Gospel, Bachata, K-pop, J-pop, Anime, Video game, Slowed and reverb, Sped up, Bollywood, Dancehall, Neo soul, Baile funk, Corridos tumbados and Afro house.
- Decades: 60s, 70s, 80s, 90s, 2000s, 2010s and 2020s.
- Charts: the current top 100 worldwide, or in the USA, UK, Ireland, Canada, Australia, France, Germany, Spain, Italy, the Netherlands, Belgium, Sweden, Norway, Denmark, Poland, Austria, Switzerland, Turkey, Brazil, Mexico, Colombia, South Africa, Egypt or Indonesia.
- Artists: "Similar to an artist" asks you for a name. "From what's playing" builds a station around the artist of the song playing now.
A menu shows 25 stations at a time. Genres and Scenes have more than that, so use Next and Previous to move between pages. Back takes you to the kinds again. If a station can't start, for example because nothing is playing when you pick "From what's playing", the menu says why and you can pick another.
The station box
When the box is empty it suggests a few moods, genres, scenes, decades and charts, plus "From what's playing". Typing searches every station by its name and by other names people use for it, so "dnb" finds Drum and bass, "hip hop" finds Rap/Hip Hop and "us" finds the USA chart. Whole names come first, then names that start with what you typed. Typing a kind, like "chart", lists stations of that kind. The box doesn't suggest "Similar to an artist", because the artist: box next to it does the same job.
You aren't limited to the suggestions: anything you type is accepted. The name of a station, or another name for it, starts that station. Anything else is turned into a pool like this:
- If it's exactly one of Deezer's genres, you get that genre's Deezer chart. Spacing, capitals and punctuation don't matter, and a few other names count as a Deezer genre (see the table below). Orpheus never swaps a narrower style for the broad genre it belongs to, so Hyperpop, J-pop, House, Techno and Indie rock don't get the Pop, Dance or Rock chart. They go on to steps 2 and 3.
- If it's exactly the name of a big artist, meaning a million or more followers on Deezer, you get that artist's top tracks. Typing "Drake" into the station box works this way.
- Anything else counts as a theme. Orpheus searches Deezer's playlists for it, keeps the ones whose titles are about that word, and builds the pool from up to three of them. Moods, scenes and decades from the menu are built this way too. If no playlist title matches, a smaller artist with exactly that name is used if there is one. If there isn't, Orpheus falls back to the playlists the search returned first.
| You type | Deezer genre |
|---|---|
| hip hop, rap | Rap/Hip Hop |
| rnb | R&B |
| edm | Dance |
| electronic | Electro |
| indie | Alternative |
| soul | Soul & Funk |
| latin | Latin Music |
| african | African Music |
| asian | Asian Music |
| brazilian | Brazilian Music |
Sped up is the one station built from different words. It searches for "Sped up songs", because the plain words mostly found one uploader.
A big artist typed into the station box gets only their own top tracks. The artist option below also mixes in related artists, so the two give different stations.
Charts
A chart station is Deezer's "Top (country)" playlist for that country, the hundred songs Deezer shows there. The pool starts as those hundred songs, so a chart station repeats sooner than most. Deezer updates the playlists daily. A station keeps the list it started with until its pool runs low and grows, or someone starts it again.
A few countries aren't offered even though Deezer has a playlist for them, because the playlist looked like the taste of a handful of listeners rather than the country.
The artist option
/radio artist: looks for an artist with exactly that name. When several artists share it, the one with the most followers wins. The pool starts with up to 150 of their top tracks and is filled with top tracks from up to 10 related artists, up to 300 songs. If Deezer has no exact name match, Orpheus uses its first search result.
Avoiding recent repeats
A station won't pick any of the last 200 tracks it played. When the pool is smaller than that, the limit shrinks to one less than the pool size, so a small station repeats sooner rather than stopping.
A pick that couldn't be found on YouTube or SoundCloud never played, so it doesn't count towards those 200. Autoplay follows the same rule, and the failed pick doesn't count towards its limit of 2 songs per artist either.
Keeping it going
Every time the queue runs out, the station tops it back up to three tracks.
When the pool drops below 60 songs, it grows back towards 300 with top tracks from artists related to:
- the artists of this server's five most-liked tracks that are in the pool, or
- if nothing in the pool has been liked, the station's starting artists. That's the artist you named, or for any other station, the first five artists in the pool.
If the pool ever empties completely, Orpheus rebuilds it from whatever you started it with, leaving out anything this server has blocked.
How long a station lasts
Orpheus saves a station, so it survives restarts. It keeps going until one of these happens:
- someone uses
/stopor the Stop button, which ends everything, - someone uses
/clear, which ends the station (see The queue), - someone presses "Stop the station" on the dashboard, which stops new picks while anything already queued still plays,
- someone starts a different station, or
- Orpheus left an empty voice channel more than 24 hours ago, and the station hasn't picked a song since.
When Orpheus leaves an empty channel, or someone turns 24/7 off while it's alone, Orpheus keeps the station for a day. If a queue runs out on that server within 24 hours, the station picks up again and carries on as normal from then on. If it doesn't pick anything within those 24 hours, it's gone.
Autoplay and radio side by side
| Autoplay | Radio | |
|---|---|---|
| Starts | When the queue runs out, if it's on | When someone runs /radio or presses Start on the dashboard |
| Built from | The artists behind the last five songs people asked for | A station you pick, anything you type, or an artist |
| Follows what people queue | Yes. It carries on from the latest requests, and rebuilds when a new artist appears or most of the old ones drop out | No. Songs you queue don't change the station |
| Pool grows when low | No. It's rebuilt when the artists change | Yes, from liked tracks or the starting artists |
| Survives a restart | The setting does. The pool is rebuilt from the latest sitting's requests | Yes, it's saved |
| Likes and blocks | Used | Used |
| Ends with | Turning autoplay off, or /stop |
/stop, /clear, the dashboard, a new station, or a day after Orpheus left an empty channel |
If the server has a saved station, the station always takes priority over autoplay.