YetAnotherNerd / whatlastgenre

Improve genre metadata of audio files based on tags from various music sites.
http://yetanothernerd.github.io/whatlastgenre
MIT License
79 stars 20 forks source link

Custom tags.txt file doesnt work #37

Closed Seqularise closed 1 year ago

Seqularise commented 1 year ago

Regex section in my tags.txt file is empty but in logs i can see that some rules from default file are applied,stage-screen regex for example. Seems like my tags.txt completely ignored

Log ``` seqularise@desktop ~> whatlastgenre -l 4 -n -vv ~/Music/Игорь\ Вдовин\ и\ Земфира\ Рамазанова/ whatlastgenre v0.2.1 whitelist: /home/seqularise/.whatlastgenre/genres.txt (1656 items) tagsfile: /home/seqularise/.whatlastgenre/tags.txt (120 items) Found 1 music directories! ( 1/1) [############################################################] 100% /home/seqularise/Music/Игорь Вдовин и Земфира Рамазанова/Богиня_ как я полюбила [OGG] artist=Игорь Вдовин и Земфира Рамазанова, album=Богиня: как я полюбила, date=2004 LastFM album got no results for 'игорь вдовин и земфира рамазанова богиня как я полюбила' (cached) tagscoring min/avg/max (num) = 0.522/0.522/0.522 (5) tag score pop 0.522 tag add pop tag score electronic 0.522 tag add electronic tag score soundtrack 0.522 tag filter soundtrack tag score rock 0.522 tag add rock tag replace stage & screen -> stage/screen (( *[,;.:\\/&_]+ *| and )+) tag split stage/screen -> stage, screen tag score stage 0.261 tag filter stage tag score screen 0.261 tag filter screen tag score stage/screen 0.522 tag filter stage/screen Discogs album got 3 of 5 tags for 'игорь вдовин и земфира рамазанова богиня как я полюбила' (cached) tagscoring min/avg/max (num) = 0.448/0.549/0.700 (5) tag score electronic 0.700 tag add electronic tag score russian 0.602 tag filter russian tag score instrumental 0.532 tag filter instrumental tag split acid jazz -> acid, jazz tag score acid 0.231 tag filter acid tag score jazz 0.231 tag add jazz tag score acid jazz 0.462 tag add acid jazz tag split easy listening -> easy, listening tag score easy 0.224 tag filter easy tag score listening 0.224 tag filter listening tag score easy listening 0.448 tag add easy listening LastFM artist got 3 of 5 tags for 'игорь вдовин и земфира рамазанова' (cached) Best artist genres (4): 1.00 Electronic 0.64 Easy Listening 0.66 Acid Jazz 0.33 Jazz Best album genres (3): 1.00 Pop 1.00 Electronic 1.00 Rock Best merged genres (5): 1.00 Electronic 0.43 Rock 0.37 Easy Listening 0.43 Pop 0.38 Acid Jazz Genres: Electronic, Pop, Rock, Acid Jazz DRY-RUN! Not saving metadata. ...all done! 4 different genres used this often: 1 Electronic 1 Rock 1 Pop 1 Acid Jazz LastFM: no album results (1): /home/seqularise/Music/Игорь Вдовин и Земфира Рамазанова/Богиня_ как я полюбила Source stats | LastFM | Discogs --------------+----------+---------- reqs_cache | 2 | 1 results | 1 | 1 results/req | 0.50 | 1 tags | 5 | 5 tags/result | 5 | 5 goodtags | 3 | 3 goodtags/tag | 0.60 | 0.60 Time elapsed: 0:00:00.019500 (0:00:00.019500 per directory) seqularise@desktop ~> ```
config

``` [wlg] sources = lastfm, discogs id3v23sep = [genres] love = hate = [scores] artist = 1.33 various = 0 splitup = 1 minimum = 0.33 src_discogs = 1.00 src_lastfm = 0.7 src_mbrainz = 1.00 src_redacted = 0 [discogs] token = secret = ```

tags.txt

``` [upper] r&b edm [alias] 2-step = edm acid jazz = r&b alternative metal = metal ambient = downtempo americana = country aor = rock art rock = rock big beat = edm blues rock = rock blues = r&b boom bap = hip hop breakbeat = edm breaks = edm british rhythm & blues = r&b britpop = alternative rock broken beat = edm cantopop = pop chillout = downtempo chillstep = edm chillwave = edm classic rock = rock coldwave = post-punk contemporary r&b = r&b country rock = rock dance-pop = dance dance-punk = dance dark ambient = downtempo dark wave = synthwave darksynth = synthwave deep house = house disco = dance dream pop = pop drum and bass = edm dub = reggae dubstep = edm easy listening = pop ebm = edm electric blues = r&b electro house = house electro = edm electro-funk = edm electro-industrial = metal electronica = electronic electropop = edm eurobeat = edm eurodance = edm europop = pop folk rock = folk funk = r&b gangsta rap = hip hop garage rock = rock glam = rock glitch = chiptune goa trance = trance grime = edm grunge = alternative rock happy hardcore = edm hard rock = metal hardstyle = edm heavy metal = metal horrorcore = hip hop idm = electronic illbient = downtempo indie folk = folk indie pop = alternative pop indie rock = alternative rock industrial = metal italo-disco = dance j-pop = japanese j-rock = japanese jazz = r&b jazz-funk = r&b jungle = edm kayōkyoku = pop krautrock = rock leftfield = downtempo lounge = downtempo melodic dubstep = edm metalcore = metal no wave = synthwave neofolk = folk new beat = edm nightcore = edm nu disco = dance nu metal = metal pop punk = alternative rock pop rap = hip hop pop rock = alternative rock post-grunge = alternative rock post-hardcore = rock post-industrial = metal post-metal = metal post-rock = rock progressive house = house progressive metal = metal progressive rock = rock progressive trance = trance psybient = trance psychedelic rock = alternative rock psytrance = trance rave = edm rockabilly = rock roots reggae = reggae schlager = pop shoegaze = alternative rock soft rock = rock soul = r&b sovietwave = synthwave speed metal = metal stoner rock = alternative rock synth-pop = synthwave tech house = house techno = edm trap = edm wave = alternative rock [regex] ```

YetAnotherNerd commented 1 year ago

tag replace stage & screen -> stage/screen (( [,;.:\/&_]+ | and )+)

this is from a hard coded regex replacement to handle separators: https://github.com/YetAnotherNerd/whatlastgenre/blob/master/wlg/whatlastgenre.py#L117 and does not come from the default tags.txt file

Seqularise commented 1 year ago

Yeah, bad example, take a look at acid jazz = r&b its in in alias section but appers in a result file

YetAnotherNerd commented 1 year ago

acid jazz is whitelisted in first place, so it doesn't need to be replaced by any aliases

Seqularise commented 1 year ago

I see now, i`m trying to merge little genres into big ones, guess i will do it other way. Thanks for the app btw, its is great, fast and effective!