feat: rebuild the moods from the library's measured tag distribution
Build and publish container / build (pull_request) Successful in 2m40s
Build and publish container / build (pull_request) Successful in 2m40s
The first set of moods was guessed at, and a tag census of the real library shows how badly. Four tags in the dance mood -- edm, big room, hardstyle, electronic dance music -- carry nothing whatsoever, while techno, electro, big beat, rave and progressive house together carry over seven thousand plays and were all absent. The drum and bass mood missed four of the six spellings the taggers actually use, plus techstep, darkstep and hospital records. The eighties mood was the worst of it. It leaned on the bare `80s` tag, which is the eleventh most-played tag here and sits on Def Leppard, Bon Jovi and AC/DC rather than on anything with a synthesiser in it. Removing it and adding a hair-metal mood -- glam rock, hair metal, glam metal, arena rock, AOR, windowed to 1975-1994 -- puts roughly eight thousand plays somewhere sensible and stops the synth playlist being a stadium rock playlist. Whole clusters had no mood at all: metal at around twenty-five thousand plays across heavy, thrash, speed, power, death and NWOBHM, and pop punk and emo at a similar figure. Both now exist, along with bass, nu-metal and indie. Three kinds of tag are excluded on principle, with a test enforcing it, because each produces a playlist that looks reasonable and is not. Nationality describes a passport rather than a sound, and `american` alone spans 241 artists. `rock` and `electronic` span 340 and 275, which is most of the collection. And Last.fm's most popular tag for an artist is frequently the artist's own name, so selecting on `green day` yields a Green Day playlist wearing a genre's clothes.
This commit is contained in:
+65
-17
@@ -1242,49 +1242,97 @@ PLAYLISTS = (
|
||||
# `years` filters on the album's release date, which is what separates eighties
|
||||
# synth records from everything a synthpop tag would otherwise drag in.
|
||||
DEFAULT_VIBES = (
|
||||
# Built from the tag distribution of this library rather than from a general
|
||||
# taxonomy, which is why some obvious-looking tags are absent and some
|
||||
# unobvious ones are here. `synthwave`, `edm`, `big room` and `hardstyle`
|
||||
# carry nothing at all; `techstep`, `easycore` and `hospital records` carry
|
||||
# real weight.
|
||||
#
|
||||
# Three kinds of tag are deliberately never used. Nationality -- american,
|
||||
# british, swedish -- describes a passport, not a sound, and `american`
|
||||
# alone spans 241 artists. `rock` and `electronic` span 340 and 275, which
|
||||
# is most of the library and therefore no mood at all. And Last.fm's most
|
||||
# popular tag for an artist is frequently their own name, so `green day`,
|
||||
# `paramore` and `queen` are single-artist playlists waiting to happen.
|
||||
{
|
||||
"name": "80s-synths",
|
||||
"name": "drum-and-bass",
|
||||
"tags": [
|
||||
"synthpop", "synth pop", "synth-pop", "new wave", "synthwave",
|
||||
"new romantic", "electropop", "80s", "1980s",
|
||||
"drum and bass", "dnb", "drum n bass", "drum'n'bass", "drum & bass",
|
||||
"drum 'n' bass", "liquid funk", "neurofunk", "jungle", "techstep",
|
||||
"darkstep", "drumstep", "breakbeat", "hospital records",
|
||||
],
|
||||
"years": [1975, 1992],
|
||||
},
|
||||
{
|
||||
"name": "high-energy-rock",
|
||||
"name": "bass",
|
||||
"tags": ["dubstep", "brostep", "grime", "trip-hop", "big beat"],
|
||||
},
|
||||
{
|
||||
"name": "dance",
|
||||
"tags": [
|
||||
"hard rock", "punk rock", "pop punk", "punk", "alternative rock",
|
||||
"rock", "garage rock", "skate punk",
|
||||
"house", "electro house", "progressive house", "tech house", "trance",
|
||||
"techno", "electro", "rave", "dance", "minimal",
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "pop-punk",
|
||||
"tags": [
|
||||
"pop punk", "pop-punk", "punk rock", "punk", "skate punk", "emo",
|
||||
"emocore", "easycore", "powerpop", "power pop", "post-grunge",
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "screamo",
|
||||
"tags": [
|
||||
"screamo", "post-hardcore", "metalcore", "emo", "hardcore",
|
||||
"melodic hardcore", "emocore",
|
||||
"screamo", "post-hardcore", "metalcore", "melodic metalcore",
|
||||
"melodic hardcore", "hardcore", "trancecore", "deathcore",
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "drum-and-bass",
|
||||
"name": "heavy-metal",
|
||||
"tags": [
|
||||
"drum and bass", "drum n bass", "dnb", "liquid funk", "neurofunk",
|
||||
"jungle", "breakbeat",
|
||||
"heavy metal", "metal", "thrash metal", "thrash", "speed metal",
|
||||
"power metal", "death metal", "progressive metal", "nwobhm",
|
||||
"classic metal",
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "dance",
|
||||
"name": "hair-metal",
|
||||
"tags": [
|
||||
"electro house", "house", "big room", "electronic dance music",
|
||||
"edm", "hardstyle", "trance", "dubstep", "electro",
|
||||
"hair metal", "glam metal", "glam rock", "arena rock", "aor",
|
||||
"rock and roll", "rock n roll",
|
||||
],
|
||||
"years": [1975, 1994],
|
||||
},
|
||||
{
|
||||
"name": "nu-metal",
|
||||
"tags": [
|
||||
"nu metal", "nu-metal", "alternative metal", "rapcore",
|
||||
"industrial metal", "industrial rock", "industrial",
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "classic-rock",
|
||||
"tags": [
|
||||
"classic rock", "progressive rock", "psychedelic rock",
|
||||
"blues rock", "70s", "60s",
|
||||
"classic rock", "progressive rock", "psychedelic rock", "psychedelic",
|
||||
"blues rock", "blues", "southern rock", "art rock", "space rock",
|
||||
"british invasion", "folk rock", "70s", "60s",
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "80s-synths",
|
||||
# Without the bare `80s` tag, which in this library sits on Def Leppard
|
||||
# and Bon Jovi rather than on anything with a synthesiser in it. The
|
||||
# year window is kept as a second filter, not as the only one.
|
||||
"tags": [
|
||||
"synthpop", "electropop", "new wave", "post-punk",
|
||||
"post-punk revival", "new romantic",
|
||||
],
|
||||
"years": [1975, 1992],
|
||||
},
|
||||
{
|
||||
"name": "indie",
|
||||
"tags": ["indie", "indie rock", "indie pop", "britpop", "singer-songwriter"],
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user