beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.92k stars 1.82k forks source link

Beet not writing genre to files #5086

Open aero31aero opened 10 months ago

aero31aero commented 10 months ago

Hi, I used the lastimprt plugin to add genre data at an album granularity, assuming that'd then show up in my subsonic server, but it didn't.

Problem

Relevant outputs:

$ beet info sleepwalker -a | grep genre
               genre: Alternative Rock, Space Rock, Electronic Rock
$ beet info sleepwalker | grep genre
$ ffprobe The\ Anix\ -\ 05\ Sleepwalker.flac 2>&1 | grep GENRE
$ beet --version
beets version 1.6.0
Python version 3.11.6
plugins: chroma, convert, duplicates, edit, fetchart, info, inline, lastgenre, lastimport, lyrics, missing, smartplaylist, web, zero

Led to this problem:

I'm not sure if there are any relevant verbose logs to capture, but I ran beet lastimport followed by beet write before running the above commands that I've pasted for you.

Here's a link to the music files that trigger the bug (if relevant):

Not relevant, since the bug is across the whole library on opus,mp3 and flac files.

Setup

$ beet -vv --plugins= write Sleepwalker                                                                                                                                                                                                     
user configuration: /home/.config/beets/config.yaml                                                                                                                                                                                  
data directory: /home/.config/beets                                                                                                                                                                                                  
plugin paths:                                                                                                                                                                                                                               
Sending event: pluginload                                                                                                                                                                                                                   
library database: /net/fedora.home/stuff/media/music/beetslibrary.db                                                                                                                                                            
library directory: /net/fedora.home/stuff/media/music/blackbox                                                                                                                                                                  
Sending event: library_opened                                                                                                                                                                                                               
The Anix - Sleepwalker - Enemy Eyes                                                                                                                                                                                                         
  albumtype: a -> album                                                                                                                                                                                                                     
  albumtypes: ['a', 'l', 'b', 'u', 'm'] -> album                                                                                                                                                                                            
Sending event: write                                                                                                                                                                                                                        
Sending event: after_write                                                                                                                                                                                                                  
Sending event: database_change                                                                                                                                                                                                              
The Anix - Sleepwalker - Warning Signs                                                                                                                                                                                                      
  albumtype: a -> album                                                                                                                                                                                                                     
  albumtypes: ['a', 'l', 'b', 'u', 'm'] -> album                                                                                                                                                                                            
Sending event: write                                                                                                                                                                                                                        
Sending event: after_write                                                                                                                                                                                                                  
Sending event: database_change                                                                                                                                                                                                              
The Anix - Sleepwalker - Cry Little Sister                                                                                                                                                                                                  
  albumtype: a -> album                                                                                                                                                                                                                     
  albumtypes: ['a', 'l', 'b', 'u', 'm'] -> album                                                                                                                                                                                            
Sending event: write                                                                                                                                                                                                                        
Sending event: after_write                                                                                                                                                                                                                  
Sending event: database_change
Sending event: cli_exit
$ beet info sleepwalker | grep genre 
               genre: 
              genres: 
               genre: 
              genres: 
               genre: 
              genres: 
               genre: 
              genres: 
               genre: 
              genres: 
               genre: 
              genres: 
               genre: 
              genres: 
               genre: 
              genres: 

From not having any genre/genres fields in the tracks at all to having blank fields created is some sort of progress, I think. My configuration (output of beet config) is:

directory: /net/fedora.home/home/rohitt/stuff/media/music/blackbox
library: /net/fedora.home/home/rohitt/stuff/media/music/beetslibrary.db
import:
  move: yes
  incremental: yes
  log: /net/fedora.home/home/rohitt/stuff/media/music/beets-import-log.txt
plugins: duplicates convert web chroma info fetchart edit lyrics inline lastimport lastgenre missing zero smartplaylist

item_fields:
  full_language: |
    return {
        'eng': 'English',
        'jpn': 'Japanese',
        'kor': 'Korean',
        'zho': 'Chinese'
    }.get(language, 'Other')

paths:
  default: $full_language/$albumartist/$album%aunique{}/$artist - $track $title
  singleton: $full_language/$artist/Singles/$artist - $title
  comp: $full_language/Compilations/$album%aunique{}/$track $title

lyrics:
  sources: google musixmatch genius
  auto: yes
  google_API_key: redacted

lastfm:
  user: eers

chroma:
  auto: yes

acoustid:
  apikey: b'tD3ofIQQ

fetchart:
  minwidth: 100
  maxwidth: 1000

lastgenre:
  count: 5

smartplaylist:
  relative_to: /net/fedora.home/home/rohitt/stuff/media/music/blackbox
  playlist_dir: /net/fedora.home/home/rohitt/stuff/media/music/playlists/2
  prefix: /music/
  forward_slash: no
  playlists:
    - name: played-at-least-once.m3u
      query: "play_count:5.. play_count-"

    - name: played-more-than-5.m3u
      query: "play_count:5.. play_count-"

    - name: discover-$language.m3u
      query: "play_count::^$ language::'(eng|kor|jpn)'"
JOJ0 commented 9 months ago

With all plugins disabled , you'll get what the metadata source provides, which is musicbrainz genre.

Try enabling lastgenre plug only and post verbose output.

Use latest git master beets version if possible.

aero31aero commented 9 months ago

Hi, any specific command to run to capture some debug logs? Or something like "beet ls"?

On Mon, Feb 5, 2024, 2:14 PM J0J0 Todos @.***> wrote:

With noplugins enabled , you'll get what the metadata source provides, which is musicbrainz genre.

Try enabling lastgenre plug only abd post verbose output.

Use latest git master beets version if possible.

— Reply to this email directly, view it on GitHub https://github.com/beetbox/beets/issues/5086#issuecomment-1926475583, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5JHVUTMPJVYKRHWCSLIZLYSCLVJAVCNFSM6AAAAABCDA3TZSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRWGQ3TKNJYGM . You are receiving this because you authored the thread.Message ID: @.***>

JOJ0 commented 9 months ago

beet -vv ...