snejus / beetcamp

Bandcamp autotagger source for beets (https://beets.io)
GNU General Public License v2.0
68 stars 12 forks source link

beetcamp determines wrong artist for album `https://carriez.bandcamp.com/album/satie-complete-piano-works-volume-10` #47

Open mkhl opened 1 year ago

mkhl commented 1 year ago

~/.local/pipx/venvs/beets/bin/beetcamp https://carriez.bandcamp.com/album/sati e-complete-piano-works-volume-10

determines the artist as "Psaumes (1895), Satie: Complete Piano Works". Each title gets assigned either "Satie: Complete Piano Works" or "Psaumes (1895)", which I guess results in this combined artist. The actual artist as given in the included json-ld is "carrie z".

snejus commented 1 year ago

Again, thanks for reporting this! Unfortunately, beetcamp is mostly tested with electronic music albums, so issues with classical music do not get caught 🤔 . I'll see what I can do here

snejus commented 1 year ago

This album is a very interesting case to analyse, again thanks for sharing it!

What makes it interesting is that there are two track naming formats being followed, for example

  1. Prélude en tapisserie (1906)
  2. Psaumes (1895) - 1. Losing Grip

@mkhl I'd like to hear your thoughts regarding artist attribution here: would it be acceptable to set carrie z as the artist in both cases?

I've already adjusted the algorithm to treat carrie z as a legitimate artist, and she's set as the artist for tracks 1, 6, 10, 14 and 19 (every track which does not start with Psaumes (1895)).

At this point Psaumes (1895) is still being treated as an artist, therefore we still have Psaumes (1895), carrie z in the albumartist field. I'm now thinking about adding a track artist field rule which overrides Psaumes (1895) with carrie z in this one and similar cases.

I'd like to hear your thoughts whether that's an acceptable approach to go ahead with 🙂

mkhl commented 1 year ago

Yes I think overriding the artist to be "carrie z" would make sense in this case and others I've encountered.

"Psaumes (1895)" would identify the collection of work the piece is from (unfortunately they were lost but carrie reconstructed them: “The reconstruction of the latter consists of a cover of the album "Let Go" by Avril Lavigne, published in 2002, in its entirety.”), all of the music was played and recorded by carrie z.

mkhl commented 1 year ago

Other wrong artists that I found and that seem similar to this are

mkhl commented 1 year ago

Another instance: https://katzonlatevach.bandcamp.com/album/like-lambs-to-the-slaughter Each track has its title listed in both English and Hebrew, separated by -, but beetcamp interprets the english titles as artist names.

snejus commented 1 year ago

Cool, thanks for this! I'll use these for testing!

mkhl commented 1 year ago

I've been thinking about this more and to me the root problem seems to be that some compilations are properly tagged (https://wicrecordings.bandcamp.com/album/katana-zero-original-soundtrack has a byArtist on every track) while some aren't (https://blackmetalrainbows.bandcamp.com/album/black-metal-rainbows doesn't have any byArtist on tracks).

Would it make sense to offer both variants? Like, if no tracks have byArtist tags, but some titles contain a dashes, we could offer one version with the "root" artist where the dashes are just part of the track title, and another "various artists" version where we parse track artists from track titles?

snejus commented 6 months ago

Sorry for a big delay getting back to you here.

Would it make sense to offer both variants? Like, if no tracks have byArtist tags, but some titles contain a dashes, we could offer one version with the "root" artist where the dashes are just part of the track title, and another "various artists" version where we parse track artists from track titles?

This is a very interesting idea! The way the plugin returns multiple albums for each release format, it could do something similar here for releases that have ambiguous artists such as the ones you linked.

snejus commented 2 days ago

I've recently been updating artist fields and I was wondering whether you could test the dev branch? For example, it seems like https://blackmetalrainbows.bandcamp.com/album/black-metal-rainbows is now parsed correctly, however the issue with carrie-z persists.

snejus commented 2 days ago

Other wrong artists that I found and that seem similar to this are

Checked each of the above and they seem to be parsed correctly now!

snejus commented 2 days ago

Another instance: https://katzonlatevach.bandcamp.com/album/like-lambs-to-the-slaughter Each track has its title listed in both English and Hebrew, separated by -, but beetcamp interprets the english titles as artist names.

This is a tough cookie - I can't think of an easy way to determine that these titles should not be split into artists. All I can think of is using langdetect to check the language of the text on each side, and if they differ, keep the titles unsplit.