Gotham 13A9 Music Sraper is poluting database
#1
I am having a problem with scraping music in Gotham 13A9 running on Win 7. The problem appears to be how Gotham uses Universal Album Scraper 2.2.0 and Universal Artist Scraper 3.4.0.

I have my music source set up so my mp3 format files are all tagged with APE2 tags, and I have advancedsettings.xml set with:

Code:
<musiclibrary>
        <prioritiseapetags>true</prioritiseapetags>
</musiclibrary>

So XBMC is using the APE tags.

I had universal artist and album scrapers set as default, same as in Frodo 12.2
I added a music source and scanned the source to the music library

The problem is that the scrapers are going to musicbrainz using artist name and getting back something that I guess musicbrainz has "ruled" is the "real" artist name, and that is being inserted into the music database, instead of what is in my tags (both artist and album artist tags affected). I don't know if other fields/tags are also being "corrected" as I haven't gotten that far yet.

As an example there are files in my source that are tagged with artist After School and album artist After School / 애프터 스쿨 (the artist album tag is actually 2 APE2 tags per APE spec and XBMC does read them correctly).

Universal Artist Scraper queried musicbrainz and came back with Dead After School as the artist and that's what XBMC put in the database. Other problems, in some cases artist has been changed per album such as BIGBANG and BigBang for a single artist, and C-ute and C:ute. Part of the problem is that musicbrainz is about 30% accurate on Asian music in my experience.

But the real problem is that XBMC is "fixing" my tags based on musicbrainz. So I changed my music default scrapers to "use local only" thinking that would fix it, but to my surprise, even with that setting XBMC is scraping musicbrainz and putting "fixed" artist name into the database. In this case After School was not changed to Dead After School, but instead to Afterschool.

Please! Is there some way to turn this off? I do not want my tags overwritten in the database. If XBMC feels the need to "correct" my tags could it ask first?

Log with universal scrapers default is here: http://pastebin.com/a5tZNY4C

Log with use local only default is here: http://pastebin.com/cS0zU2dk

scott s.
.
Reply
#2
Create a trac ticket and cc night199uk. An attached sample track might be helpful that shows this behaviour.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#3
Hello,

I do not know if this is relating, but it seems to be another bug:

When the (FLAC at least) meta data of a music file does contain tags ARTIST and MUSICBRAINZ_ALBUMARTISTID, but lacks the ALBUMARTIST tag, the artist name stored in the db becomes the ALBUMARTISTID (that is the hash id). The artist names in the frontend thus becomes a list of hashes (sorry if my terminology is off).

My simple guess is that XBMC or the scraper does a rexp search/grep on ALBUMARTIST, and thereby hits ALBUMARTISTID. A more intelligent regexp perhaps?

best regds
Niklas
Reply
#4
(2013-11-17, 04:26)jmarshall Wrote: Create a trac ticket and cc night199uk. An attached sample track might be helpful that shows this behaviour.

I can, but I guess it would help to know how MusicInfoScanner is supposed to work in Gotham?

I did some testing to reverse engineer somewhat what I see. In my test cases I was using music artist and album scrapers set to "local information only" (metadata.local). I then scanned a single album and song (mp3 format with only ID3v2.3 tags assigned) into the music library/database.

My test mp3 file had TXXX tag frames with the following (among others):
MUSICBRAINZ ALBUM ID
MUSICBRAINZ ARTIST ID

When the CMusicInfoScanner finds these tags, it reads the MBID and calls the CMusicInfoScraper which then queries Musicbrainz using the Album ID and/or Artist ID.

In the case where both MBID exist for Album and Artist, XBMC will parse the Artist returned from the Album query and store that do the database, ignoring what is present in the ID3 tag TPE2. If the Album MBID does not exist it will store the contents of TPE2 into the database. Same thing for Artist MBID. If the query returns Artist that will be stored to the database and TPE2 ignored. Also, the song artist in TPE1 is not stored as an artist, but strArtists is stored as part of the "songs" record (but that entry can't be found in library - artist view).

So in general, if a user has TXXX tags with MBIDs in their songs, XBMC 13 will only write the Musicbrainz artist to the music library database and ignore the tagged artist and/or album artist. I haven't tested yet if other tags are also ignored (TALB, TIT2, etc) if Musicbrainz comes back with different data. If I had a vote I would say this is not the way it should work. My vote is to keep the data found in tags, under the assumption the user knew what he was doing when he tagged the file. If a user wants his tags fixed per what Musicbrainz deems "correct", he should use Picard, or at least XBMC could give an option to "prefer use data from tags".

I haven't looked further at the universal scrapers, but expect the problem is just exasperated by the scrapers.

scott s.
.
Reply
#5
If you're using metadata.local, then surely musicbrainz should not be queried at all, as you've specifically requested no scraping?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#6
OK I did a little more test and submitted a bug report here: Ticket 14708

What I found in testing is that when ID3v2.3 tags are used in MP3 and there are tags
TXXX MusicBrainz Album Id
or
TXXX MusicBrainz Artist Id
(note it appears these are case sensitive, or at least MUSICBRAINZ ALBUM ID is ignored)

XBMC will run the Universal Album or Artist Scrapers regardless of what is set in settings music library. If you have "local information only" set, there will be an error logged, but XBMC just continues on running the scrapers.

In addition, data returned from MusicBrainz site will be used, even if data exists in the tags. My feeling is the scrapers should not replace data, only add data when it doesn't exist in the file tags.

scott s.
.
Reply
#7
Update: in Gotham Alpha10 (Alpha11?) now when local info is set as the artist/album scrapers musicbrainz MBID (if present) will not cause a scrape of remote data to overwrite tag data (I guess this is correct).

Now a new problem in that I am unable to assign local image as artist thumb or fanart. AFAIK, the only way to get local images assigned to an artist is via the artist info screen. But when I attempt to go to the artist info screen, I get a dialog popup the "Downloading artist info failed". So no way to assign thumb/fanart unless I first change scraper to universal artist scraper. The scraper (typically) finds nothing, but at least then I can get access to the controls to add local thumb/fanart. I guess it could maybe be done with an artist.nfo file but haven't figured out how to get XBMC to read an artist.nfo file yet.

scott s.
.
Reply

Logout Mark Read Team Forum Stats Members Help
Gotham 13A9 Music Sraper is poluting database0