beets icon indicating copy to clipboard operation
beets copied to clipboard

Beet not writing genre to files

Open aero31aero opened this issue 5 months ago • 3 comments

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

  • OS: Linux (ArchLinux)
  • 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
  • did turning off plugins help: confusingly, maybe?
$ 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)'"

aero31aero avatar Jan 20 '24 08:01 aero31aero

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.

JOJ0 avatar Feb 05 '24 08:02 JOJ0

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: @.***>

aero31aero avatar Feb 05 '24 10:02 aero31aero

beet -vv ...

JOJ0 avatar Feb 05 '24 23:02 JOJ0