From 4949f44e82c127990cba3ba8589fcb00b014e0f1 Mon Sep 17 00:00:00 2001 From: J0J0 Todos Date: Sat, 30 Aug 2025 10:10:55 +0200 Subject: [PATCH 1/5] lastgenre: tree/whitlist: Jojo's essential fixes Fixes to the beets default tree and whitlist files I collected over the years; Includes Tags last.fm returns quite often; Also the chart.getTopTags API endpoint was checked to make sure the top 100 charts are included in beets default tree and whitelist. --- beetsplug/lastgenre/genres-tree.yaml | 41 ++++++++++++++++++++++++---- beetsplug/lastgenre/genres.txt | 7 ++++- 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/beetsplug/lastgenre/genres-tree.yaml b/beetsplug/lastgenre/genres-tree.yaml index c8ae42478..87f7c73c3 100644 --- a/beetsplug/lastgenre/genres-tree.yaml +++ b/beetsplug/lastgenre/genres-tree.yaml @@ -9,6 +9,7 @@ - cape jazz - chimurenga - coupé-décalé + - egyptian - fuji music - genge - highlife @@ -35,6 +36,7 @@ - sega - seggae - semba + - shangaan electro - soukous - taarab - zouglou @@ -133,6 +135,7 @@ - chutney - chutney soca - compas + - folklore argentino - mambo - merengue - méringue @@ -185,6 +188,7 @@ - humor - parody music - stand-up + - kabarett - country: - alternative country: - cowpunk @@ -287,12 +291,16 @@ - jump-up - liquid funk - neurofunk - - oldschool jungle: + - jungle: - darkside jungle - ragga jungle + - oldschool jungle + - uk hardcore - raggacore - sambass - techstep + - leftfield + - halftime - electro: - crunk - electro backbeat @@ -336,6 +344,7 @@ - skweee - sound art - synthcore + - experimental - eurodance: - bubblegum dance - italo dance @@ -354,7 +363,6 @@ - makina - speedcore - terrorcore - - uk hardcore - hi-nrg: - eurobeat - hard nrg @@ -400,6 +408,8 @@ - power electronics - power noise - witch house + - juke: + - footwork - post-disco: - boogie - dance-pop @@ -414,6 +424,7 @@ - techno: - acid techno - detroit techno + - dub techno - free tekno - ghettotech - minimal @@ -481,6 +492,7 @@ - freestyle rap - g-funk - gangsta rap + - glitch hop - golden age hip hop - hip hop soul - hip pop @@ -521,11 +533,14 @@ - west coast hip hop: - chicano rap - jerkin' + - austrian hip hop + - german hip hop - jazz: - asian american jazz - avant-garde jazz - bebop - boogie-woogie + - brass band - british dance band - chamber jazz - continental jazz @@ -568,14 +583,13 @@ - vocal jazz - west coast gypsy jazz - west coast jazz -- other: - - worldbeat +- kids music: + - kinderlieder - pop: - adult contemporary - arab pop - baroque pop - bubblegum pop - - chanson - christian pop - classical crossover - europop: @@ -640,6 +654,7 @@ - beat music - chinese rock - christian rock + - classic rock - dark cabaret - desert rock - experimental rock @@ -720,6 +735,7 @@ - art punk - christian punk - deathrock + - deutschpunk - folk punk: - celtic punk - gypsy punk @@ -762,5 +778,18 @@ - dancehall - ska: - 2 tone - - dub - rocksteady + - dub +- soundtrack: +- singer-songwriter: + - cantautorato + - cantautor + - cantautora + - chanson + - canción de autor + - nueva canción +- world: + - world dub + - world fusion + - worldbeat + diff --git a/beetsplug/lastgenre/genres.txt b/beetsplug/lastgenre/genres.txt index 28b1225c3..d3d36db48 100644 --- a/beetsplug/lastgenre/genres.txt +++ b/beetsplug/lastgenre/genres.txt @@ -160,10 +160,14 @@ calypso jazz calypso-style baila campursari canatronic +canción de autor candombe canon canrock cantata +cantautorato +cantautor +cantautora cante chico cante jondo canterbury scene @@ -371,6 +375,7 @@ desert rock desi detroit blues detroit techno +dub techno dhamar dhimotiká dhrupad @@ -1069,10 +1074,10 @@ nortec norteño northern soul nota -nu breaks nu jazz nu metal nu soul +nu skool breaks nueva canción nyatiti néo kýma From 9f442dcf7573c767bb5453f0ec699fa1c87afcbe Mon Sep 17 00:00:00 2001 From: J0J0 Todos Date: Sat, 30 Aug 2025 10:41:10 +0200 Subject: [PATCH 2/5] lastgenre: tree/whitelist: Contributor feedback that came up in the pull request comments and other discussions. --- beetsplug/lastgenre/genres-tree.yaml | 1 - beetsplug/lastgenre/genres.txt | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/beetsplug/lastgenre/genres-tree.yaml b/beetsplug/lastgenre/genres-tree.yaml index 87f7c73c3..c8020f650 100644 --- a/beetsplug/lastgenre/genres-tree.yaml +++ b/beetsplug/lastgenre/genres-tree.yaml @@ -480,7 +480,6 @@ - chap hop - christian hip hop - conscious hip hop - - country-rap - crunkcore - cumbia rap - east coast hip hop: diff --git a/beetsplug/lastgenre/genres.txt b/beetsplug/lastgenre/genres.txt index d3d36db48..571b6f350 100644 --- a/beetsplug/lastgenre/genres.txt +++ b/beetsplug/lastgenre/genres.txt @@ -689,7 +689,7 @@ indo rock indonesian pop indoyíftika industrial death metal -industrial hip-hop +industrial hip hop industrial metal industrial music industrial musical From a98ba061e893805501ddbdcbaf765f2e9b4f80b3 Mon Sep 17 00:00:00 2001 From: J0J0 Todos Date: Fri, 5 Sep 2025 15:25:16 +0200 Subject: [PATCH 3/5] lastgenre: tree/whitelist: UK/Breakbeat Hardcore Also changes decided during PR discussions and more research. --- beetsplug/lastgenre/genres-tree.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/beetsplug/lastgenre/genres-tree.yaml b/beetsplug/lastgenre/genres-tree.yaml index c8020f650..6a359b148 100644 --- a/beetsplug/lastgenre/genres-tree.yaml +++ b/beetsplug/lastgenre/genres-tree.yaml @@ -254,7 +254,6 @@ - acid breaks - baltimore club - big beat - - breakbeat hardcore - broken beat - florida breaks - nu skool breaks @@ -295,7 +294,6 @@ - darkside jungle - ragga jungle - oldschool jungle - - uk hardcore - raggacore - sambass - techstep @@ -352,6 +350,7 @@ - hardcore: - bouncy house - bouncy techno + - breakbeat hardcore - breakcore - digital hardcore - doomcore @@ -363,6 +362,7 @@ - makina - speedcore - terrorcore + - uk hardcore - hi-nrg: - eurobeat - hard nrg From e59521e3755f7fa7e2b09b3af05727f2de2341cc Mon Sep 17 00:00:00 2001 From: J0J0 Todos Date: Sat, 13 Sep 2025 07:48:35 +0200 Subject: [PATCH 4/5] lastgenre: tree/whitelist: Remove experimental experimental, even though a tag last.fm very often returns (in top 20 tag charts!), it is too broad of a term to be pinned downed with any particular genre, thus can't really be used for canonicalization. --- beetsplug/lastgenre/genres-tree.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/beetsplug/lastgenre/genres-tree.yaml b/beetsplug/lastgenre/genres-tree.yaml index 6a359b148..d7acfbc1f 100644 --- a/beetsplug/lastgenre/genres-tree.yaml +++ b/beetsplug/lastgenre/genres-tree.yaml @@ -342,7 +342,6 @@ - skweee - sound art - synthcore - - experimental - eurodance: - bubblegum dance - italo dance From d24a85121b805a13b11ee8b9a2c2c4c0baf49485 Mon Sep 17 00:00:00 2001 From: J0J0 Todos Date: Sat, 13 Sep 2025 09:28:39 +0200 Subject: [PATCH 5/5] Changelog for #5977 lastgenre whitelist/tree --- docs/changelog.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index 6532c5beb..794013806 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -133,6 +133,8 @@ Other changes: - :doc:`/guides/main`: Add instructions to install beets on Void Linux. - :doc:`plugins/lastgenre`: Refactor loading whitelist and canonicalization file. :bug:`5979` +- :doc:`plugins/lastgenre`: Updated and streamlined the genre whitelist and + canonicalization tree :bug:`5977` 2.3.1 (May 14, 2025) --------------------