snejus / beetcamp

Bandcamp autotagger source for beets (http://beets.io)
GNU General Public License v2.0
64 stars 11 forks source link

beets trying to rename all artists to None #7

Closed noahsager closed 3 years ago

noahsager commented 3 years ago

I'm noticing that when importing a Bandcamp album with beetcamp, beets wants to rename all artists to None. For example:

/Users/noah/Music/beets Import/WYS  - Halloween Night FLAC (15 items)
Correcting tags from:
    WYS - Halloween Night
To:
    None - Halloween Night
URL:
    https://jazzhopcafe.bandcamp.com/album/halloween-night
(Similarity: 91.9%) (artist) (bandcamp, Digital Media, 2020, GB, The Jazz Hop Café)
[A]pply, More candidates, Skip, Use as-is, as Tracks, Group albums,
snejus commented 3 years ago

I can tell you have a rather significant music collection there :) Let me investigate this one, haven't seen it before!

snejus commented 3 years ago

Hm, interesting, I'm seeing this:

# selection (default 1), Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort, Print tracks, eDit, edit Candidates? 1
Correcting tags from:
    (unknown album)
To:
    WYS - Halloween Night
URL:
    https://jazzhopcafe.bandcamp.com/album/halloween-night
(Similarity: 3.9%) (missing tracks, album, artist, tracks) (bandcamp, Digital Media, 2020, GB, The Jazz Hop Café)
 * WYS - Hazelnut Soup.mp3 (#0) -> Hazelnut Soup (#5) (title)
Missing tracks (14/15 - 93.3%):
 ! The Mansion          (# 1) (2:37)
 ! Black Rose           (# 2) (2:46)
 ! Elixir               (# 3) (2:19)
 ! The Butler IV        (# 4) (2:24)
 ! Splinter Woods       (# 6) (2:46)
 ! Charlie and Molly    (# 7) (3:16)
 ! The Widow's Lament   (# 8) (3:11)
 ! Rosewell             (# 9) (2:44)
 ! Deadly Nightshade    (#10) (1:36)
 ! Monsieur Loyal       (#11) (2:27)
 ! The Elevator's Ghost (#12) (2:18)
 ! Plasma               (#13) (2:07)
 ! Lily Tornthorns      (#14) (3:02)
 ! Exit The Mansion     (#15) (4:16)
Apply, More candidates, Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort, Print tracks, eDit, edit Candidates?  

I ytdl-ed one of the album tunes to check it, and it seems like it did it correctly. Once I imported it, I found:

               added: 2021-01-19 01:00
               album: Halloween Night
            album_id: 186
         albumartist: WYS
         albumstatus: Official
          albumtotal: 15
           albumtype: album
              artist: WYS
             artpath: None
            bitdepth: 0
             bitrate: 128kbps
                 bpm: 0
            channels: 2
                comp: False
             country: GB
         data_source: bandcamp
                 day: 08
                disc: 01
           disctotal: 01
            filesize: 1854754
              format: MP3
               genre: Lo-Fi
                  id: 1212
               label: The Jazz Hop Café
              length: 1:55
    mb_albumartistid: https://jazzhopcafe.bandcamp.com
          mb_albumid: https://jazzhopcafe.bandcamp.com/album/halloween-night
         mb_artistid: https://jazzhopcafe.bandcamp.com
          mb_trackid: https://jazzhopcafe.bandcamp.com/track/hazelnut-soup
               media: Digital Media
             missing: 14
               month: 10
               mtime: 2021-01-19 01:00
        original_day: 00
      original_month: 00
       original_year: 0000
     r128_album_gain: 000000
     r128_track_gain: 000000
       rg_album_gain: 0.0
       rg_album_peak: 0.0
       rg_track_gain: 0.0
       rg_track_peak: 0.0
          samplerate: 44kHz
           singleton: False
               title: Hazelnut Soup
               track: 05
          tracktotal: 15
                year: 2020

Hmm I wonder which setting could this be related to.

noahsager commented 3 years ago

Weird. What utility did you use to print the tags? I could run it on my original if that'd be helpful.

It's definitely only the albums going through Bandcamp. Musicbrainz albums don't have the problem.

noahsager commented 3 years ago

Here's my config file. I'm pretty stock:

directory: /Volumes/Music
library: ~/Music/beetsdatabase.db
import:
    log: /Users/noah/Desktop/beetsimport.txt
    move: true
plugins: bandcamp edit fetchart
bandcamp:
    lyrics: true
    art: true
snejus commented 3 years ago

Weird. What utility did you use to print the tags? I could run it on my original if that'd be helpful.

Yes please, that may shed some more light onto this! That's the internal info plugin - it should be enough to just include it in your plugins list.

noahsager commented 3 years ago
   ~  beet info /Users/noah/Downloads/WYS\ \ -\ Halloween\ Night\ FLAC/01\ -\ The\ Mansion.flac                
/Users/noah/Downloads/WYS  - Halloween Night FLAC/01 - The Mansion.flac
      album: Halloween Night
albumartist: WYS
        art: True
     artist: WYS
   bitdepth: 16
    bitrate: 697891
   channels: 2
   comments: Visit https://jazzhopcafe.bandcamp.com
       date: 2020-01-01
     format: FLAC
     genres: 
     length: 157.0468707482993
 samplerate: 44100
      title: The Mansion
      track: 1
       year: 2020
snejus commented 3 years ago

I've tried using your config and setting the same metadata on the tracks and failed reproduce it. Just so that we're on the same page, which version are you running?

arogl commented 3 years ago

Seeing the same issue:

/mnt/i/musica/A/Alison Avron/(2013) Alison Avron Live at The Newsagency (9 items)
Correcting tags from:
    Alison Avron - Alison Avron Live at The Newsagency
To:
    None - Alison Avron Live at The Newsagency
URL:
    https://alisonavron.bandcamp.com/album/alison-avron-live-at-the-newsagency
(Similarity: 88.5%) (artist, country) (bandcamp, Digital Media, 2013, AU, Alison Avron)
[A]pply, More candidates, Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort? s

/mnt/i/musica/A/Alison Avron/(2013) By Your Side (4 items)
Correcting tags from:
    Alison Avron - By Your Side
To:
    None - By Your Side
URL:
    https://alisonavron.bandcamp.com/album/by-your-side
(Similarity: 82.9%) (artist, country) (bandcamp, Digital Media, 2013, AU, Alison Avron)
[A]pply, More candidates, Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort? b
beetcamp V0.5.5
beets commit 04ea754d00e2873ae9aa2d9e07c5cefd790eaee2 (HEAD -> master, origin/master, origin/HEAD)

Beet config for bandcamp

bandcamp:
    art: true
    lyrics: true
InvisibleFunction commented 3 years ago

I think I'm experiencing the same issue. I'm running:

(venv-38) comp:~ me$ pip freeze|grep -i beetc
beetcamp==0.5.5

and beets from the repo:

comp:~ me$ ~/.local/bin/beet --version
beets version 1.5.0
Python version 3.8.7
plugins: bandcamp, fetchart, info, inline, lastgenre

I was using this config:

bandcamp:
  lyrics: true
  art: true

but deleted that config block to no effect.

bandcamp: Trying our guess https://rewirefestival.bandcamp.com/album/live-in-the-hague before searching
Sending event: albuminfo_received
Candidate: None - Live in The Hague (https://rewirefestival.bandcamp.com/album/live-in-the-hague)
Computing track assignment...
...done.
Success. Distance: 0.27
Evaluating 6 candidates.
s
Sending event: import_task_choice

/var/folders/cp/4tn53kf97gq6k07hm0t6f76m0000gn/T/tmpay0y5hbm (2 items)
Sending event: before_choose_candidate
Correcting tags from:
    Nicolás Jaar & Group - Live in The Hague
To:
    None - Live in The Hague
URL:
    https://rewirefestival.bandcamp.com/album/live-in-the-hague
(Similarity: 72.7%) (artist) (bandcamp, Digital Media, 2021, NL, Rewire)
snejus commented 3 years ago

Thanks for this! Let me have a look into it.

snejus commented 3 years ago

Could you by any chance provide an example output of beet info -l <bad-metadata-tune>? It'd be good to see what's the general situation considering the rest of the fields. Just add info to your plugins list to enable it.

arogl commented 3 years ago

The album had previously been tagged and imported with beets. I blew my library away and reimported everything.

I also upgraded beetcamp to 0.5.6

beet -vvv imp /mnt/i/musica/a
user configuration: /home/arogl/.config/beets/config.yaml
data directory: /home/arogl/.config/beets
plugin paths: /home/arogl/.config/beets/beetsplug
Sending event: pluginload
inline: adding item field first_artist
inline: adding item field date
inline: adding album field date
lastgenre: Loading canonicalization tree /mnt/h/Git/beets/beetsplug/lastgenre/genres-tree.yaml
library database: /home/arogl/.config/beets/library.db
library directory: /mnt/i/Music
Sending event: library_opened
Sending event: import_begin
Sending event: import_task_created
Sending event: import_task_start
Sending event: import_task_created
Sending event: import_task_created
chroma: chroma: fingerprinted b'/mnt/i/musica/a/Alison Avron/(2013) Alison Avron Live at The Newsagency [7845]/Alison Avron Live at The Newsagency - 01 - Alison Avron - Please Stay.mp3'
chroma: no match found
chroma: chroma: fingerprinted b'/mnt/i/musica/a/Alison Avron/(2013) Alison Avron Live at The Newsagency [7845]/Alison Avron Live at The Newsagency - 02 - Alison Avron - Caught in My Restless Mind.mp3'
chroma: no match found
chroma: chroma: fingerprinted b'/mnt/i/musica/a/Alison Avron/(2013) Alison Avron Live at The Newsagency [7845]/Alison Avron Live at The Newsagency - 03 - Alison Avron - Figure it Out (Hope).mp3'
chroma: no match found
chroma: chroma: fingerprinted b'/mnt/i/musica/a/Alison Avron/(2013) Alison Avron Live at The Newsagency [7845]/Alison Avron Live at The Newsagency - 04 - Alison Avron - Free.mp3'
chroma: no match found
chroma: chroma: fingerprinted b'/mnt/i/musica/a/Alison Avron/(2013) Alison Avron Live at The Newsagency [7845]/Alison Avron Live at The Newsagency - 05 - Alison Avron - Imaginary Boyfriend (Live).mp3'
chroma: no match found
chroma: chroma: fingerprinted b"/mnt/i/musica/a/Alison Avron/(2013) Alison Avron Live at The Newsagency [7845]/Alison Avron Live at The Newsagency - 06 - Alison Avron - I'm in Love With You.mp3"
chroma: no match found
chroma: chroma: fingerprinted b'/mnt/i/musica/a/Alison Avron/(2013) Alison Avron Live at The Newsagency [7845]/Alison Avron Live at The Newsagency - 07 - Alison Avron - Interlude (a.k.a. silly banter).mp3'
chroma: no match found
chroma: chroma: fingerprinted b'/mnt/i/musica/a/Alison Avron/(2013) Alison Avron Live at The Newsagency [7845]/Alison Avron Live at The Newsagency - 08 - Alison Avron - Dear Love.mp3'
chroma: no match found
chroma: chroma: fingerprinted b'/mnt/i/musica/a/Alison Avron/(2013) Alison Avron Live at The Newsagency [7845]/Alison Avron Live at The Newsagency - 09 - Alison Avron - By Your Side (Live).mp3'
chroma: no match found
Looking up: /mnt/i/musica/a/Alison Avron/(2013) Alison Avron Live at The Newsagency [7845]
Tagging Alison Avron - Alison Avron Live at The Newsagency
Searching for discovered album ID: https://alisonavron.bandcamp.com/album/alison-avron-live-at-the-newsagency
Requesting MusicBrainz release https://alisonavron.bandcamp.com/album/alison-avron-live-at-the-newsagency
Invalid MBID (https://alisonavron.bandcamp.com/album/alison-avron-live-at-the-newsagency).
Search terms: Alison Avron - Alison Avron Live at The Newsagency
Additional search terms: {'year': 2013, 'label': '', 'catalognum': '', 'country': 'XW', 'media': ''}
Album might be VA: False
Searching for MusicBrainz releases with: {'release': 'alison avron live at the newsagency', 'artist': 'alison avron', 'tracks': '9', 'date': '2013', 'country': 'xw'}
Requesting MusicBrainz release 4062ba5d-8874-4c64-84ae-7bd654587410
Sending event: albuminfo_received
Candidate: Alison Ranger - Alison Ranger (4062ba5d-8874-4c64-84ae-7bd654587410)
Computing track assignment...
...done.
Success. Distance: 0.79
Requesting MusicBrainz release 0c5f0e7d-07a5-45c0-9e79-fdb784d376f3
primary MB release type: album
Sending event: albuminfo_received
Candidate: Alison Balsom - Alison Balsom (0c5f0e7d-07a5-45c0-9e79-fdb784d376f3)
Computing track assignment...
...done.
Success. Distance: 0.81
Requesting MusicBrainz release 7e5e79aa-0cdc-43a9-a2c2-e1174649e222
primary MB release type: album
secondary MB release type(s): compilation
Sending event: albuminfo_received
Candidate: Alison Balsom - Alison Balsom (7e5e79aa-0cdc-43a9-a2c2-e1174649e222)
Computing track assignment...
...done.
Success. Distance: 0.81
Requesting MusicBrainz release 1c19e66f-b65e-4b99-b4b7-b09375f2319f
primary MB release type: album
secondary MB release type(s): compilation
Sending event: albuminfo_received
Candidate: Alison Moyet - The Essential Alison Moyet (1c19e66f-b65e-4b99-b4b7-b09375f2319f)
Computing track assignment...
...done.
Success. Distance: 0.83
Requesting MusicBrainz release ae340996-4420-4ab4-baa0-cfd498c40f8e
primary MB release type: album
secondary MB release type(s): compilation
Sending event: albuminfo_received
Candidate: Alison Krauss - The Essential Alison Krauss (ae340996-4420-4ab4-baa0-cfd498c40f8e)
Computing track assignment...
...done.
Success. Distance: 0.79
chroma: acoustid album candidates: 0
bandcamp: Searching albums for Alison Avron Live at The Newsagency
bandcamp: Page 1
Sending event: albuminfo_received
Candidate: None - Alison Avron Live at The Newsagency (https://alisonavron.bandcamp.com/album/alison-avron-live-at-the-newsagency)
Computing track assignment...
...done.
Success. Distance: 0.11
bandcamp: 1 total URLs
beatport: API Error: Error connecting to Beatport API: HTTPSConnectionPool(host='oauth-api.beatport.com', port=443): Max retries exceeded with url: /catalog/3/search?query=Alison+Avron+Alison+Avron+Live+at+The+Newsagency&perPage=5&facets=fieldType%3Arelease (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fd4e0594490>: Failed to establish a new connection: [Errno 110] Connection timed out')) (query: Alison Avron Alison Avron Live at The Newsagency)
Evaluating 6 candidates.
Sending event: import_task_start

/mnt/i/musica/a/Alison Avron/(2013) Alison Avron Live at The Newsagency [7845] (9 items)
Sending event: before_choose_candidate
Correcting tags from:
    Alison Avron - Alison Avron Live at The Newsagency
To:
    None - Alison Avron Live at The Newsagency
URL:
    https://alisonavron.bandcamp.com/album/alison-avron-live-at-the-newsagency
(Similarity: 88.5%) (artist, country) (bandcamp, Digital Media, 2013, AU, Alison Avron)
[A]pply, More candidates, Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort?

ffprobe of single file

ffprobe Alison\ Avron\ Live\ at\ The\ Newsagency\ -\ 01\ -\ Alison\ Avron\ -\ Please\ Stay.mp3
ffprobe version 4.2.4-1ubuntu0.1 Copyright (c) 2007-2020 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
  configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, mp3, from 'Alison Avron Live at The Newsagency - 01 - Alison Avron - Please Stay.mp3':
  Metadata:
    title           : Please Stay
    artist          : Alison Avron
    track           : 1/9
    album           : Alison Avron Live at The Newsagency
    disc            : 0/0
    date            : 2013-11-21
    TBPM            : 0
    compilation     : 0
    TIPL            : arranger
    TDOR            : 2013-11-21
    album_artist    : Alison Avron
    REPLAYGAIN_ALBUM_GAIN: -4.88 dB
    REPLAYGAIN_ALBUM_PEAK: 1.086886
    REPLAYGAIN_TRACK_GAIN: -2.04 dB
    REPLAYGAIN_TRACK_PEAK: 0.874431
    MusicBrainz Album Release Country: XW
    MusicBrainz Artist Id: https://alisonavron.bandcamp.com
    MusicBrainz Album Artist Id: https://alisonavron.bandcamp.com
    MusicBrainz Album Id: https://alisonavron.bandcamp.com/album/alison-avron-live-at-the-newsagency
    iTunNORM        :  00000640 00000640 00000F9F 00000F9F 00000000 00000000 00006FED 00006FED 00000000 00000000
    lyrics-XXX      : These four walls became warm
                    : Since the day you walked in
                    : My heart seeks to be alone
                    : Since the moment that you took my hand and pulled me closer
                    : Kissed me unexpectedly
                    : And told me excuse you wanted to know what I'd be missing
                    : If I didn't call you back
                    : Picked up the phone,
                    : how could I have known that one day I would be the one to say
                    : Please stay, don't go
                    : Please stay, don't go
                    : Please stay, don't go
                    : I can't live inside these walls if it ain't you that I came home to
                    : I don't think we will survive
                    : on just hello every now and then on a small screen
                    : I say goodnight when by you the morning rise
                    : and another day will pass by
                    : That I can't kiss you quietly
                    : Like I used to when you came got bed,
                    : lay your head upon my chest Instead I lie here on my own
                    : Trying to forget that you already left
                    : as my words echo in this empty bed
                    : Please stay, don't go
                    : Please stay, don't go
                    : Please stay, don't go
                    : I can't fall asleep without the shape of you that I fit into
                    : I wish I met you at a different time
                    : When neither one of us would have to go
                    : Is it wrong of me to hope that someday we might meet again
                    : And that our stars would be alined
                    : I wish I met you at a different time
                    : When neither one of us would have to go
                    : Is it wrong of me to hope that someday we might meet again
                    : And that our stars would be alined
                    : Please stay, don't go
                    : Please stay, don't go
                    : Please stay, don't go
                    : I can't fall asleep without the shape of you that I fit into
    Acoustid Fingerprint: AQADtEp0KVuI7McOncGXQ8_xpA80JT-aUMGJjw128fBDnJwClUcc6mhG_EOPL4xl5MoEPUOYZ0OlB9eOWtHhPUX-KvAPPamiQV8DV0RIZtGItTyqRfnxNcUlEcmrB_l0NMd3Hb_wRKbQxEetHD-Kc0P-HM0S6SP0HL-kDP3hKjvOE88RvvjwMDpxqTneKQizE4rOC6EVz7iPH24TY7rQW2jIPchz3BfkOB8cbseH3HiJ8NAoMSGu5EX5IH2OPsf
  Duration: 00:04:12.60, start: 0.025056, bitrate: 134 kb/s
    Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : LAME3.99r
    Side data:
      replaygain: track gain - -2.040000, track peak - 0.000020, album gain - -4.880000, album peak - 0.000025,
    Stream #0:1: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 1200x1180 [SAR 72:72 DAR 60:59], 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Cover (front)
snejus commented 3 years ago

I've just noticed beets version 1.5.0 in what @InvisibleFunction has provided. @arogl and @noahsager could you guys confirm that you're also running beets 1.5.0?

This would explain why I couldn't reproduce it - the library currently supports the official version, which is unfortunately 1.4.9.

Though, seeing that a fair bit of people are using 1.5.0, I'll get on with this and have it migrated. As far as I remember, 1.5.0 is also a bit more exciting in terms of the available metadata fields ;)

arogl commented 3 years ago

@snejus confirming using git version of beets 1.5.0.

noahsager commented 3 years ago

Yeah, I had to use 1.5.0 because 1.4.9 wasn't happy with macOS Big Sur.

On February 10, 2021 at 1:10 PM, Šarūnas Nejus notifications@github.com wrote:

I've just noticed beets version 1.5.0 in what @InvisibleFunction has provided. @arogl and @noahsager could you guys confirm that you're also running beets 1.5.0?

This would explain why I couldn't reproduce it - the library currently supports the official version, which is unfortunately 1.4.9.

Though, seeing that a fair bit of people are using 1.5.0, I'll get on with this and have it migrated. As far as I remember, 1.5.0 is also a bit more exciting in terms of the available metadata fields ;)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

InvisibleFunction commented 3 years ago

I had to switch to using the git head version because of: https://github.com/beetbox/beets/issues/3674

It looks like they haven't released a new version since May 2019 see also: https://github.com/beetbox/beets/issues/3625

snejus commented 3 years ago

Cool, thanks. Just managed to reproduce it: it seems as though there's nothing missing in the final metadata (I think same can be seen in your ffprobe @arogl , at least when it comes to the artist / albumartist).

It looks like the albumartist gets reset to None during parsing but then gets filled back in.

Have you've found any missing metadata? Or is the problem mostly cosmetic?

arogl commented 3 years ago

Just looks like the AlbumArtist is set to None at the moment.

I have not debugged the rest of the output as yet, but it looks ok

snejus commented 3 years ago

It's been fixed in 0.6.0! There's some new stuff as well, enjoy!