MBID Mapper version 2.0 preview has finally arrived!

The new MBID mapper, which supports using releases for lookup has finally appeared in an early preview:

https://mapper.listenbrainz.org

Check the supported use cases to see what is already working. If you find a use case that should work, but doesn’t please post the following pieces of data here in a response:

  • inputs: artist_credit_name, release_name, recording_name
  • expected outputs: artist_mbids, release_mbid, recording_mbid

So far, this new mapper is wicked fast and muuuch better in actually mapping things. :slight_smile:

23 Likes

Will aliases be supported?

2 Likes

Artist aliases are supported. And recording_aliases are being added, which is why its down right now. Stay tuned.

8 Likes

Back up, but expect wobbles.

3 Likes

Also check out the test cases that are supported:

Supported Test Cases - MBID Mapper

1 Like

I’m loving it and it’s so fast too.

https://mapper.listenbrainz.org/?artist_credit_name=DUSTCELL&release_name=&recording_name=Anemone

Search completed in 4 ms

5 Likes

Written in C++ – what a pain, but was worth it.

6 Likes

Robert

1 Like

If only things were that easy, lol.

This mapper is an entirely new project that has no resemblance to the old version. It didn’t exist, so it wasn’t a job to just port it to C++.

3 Likes

This is impressive. Thank you for the work you put in it.

If you don’t mind me asking, what are the next steps? When do you plan to integrate it with ListenBrainz?

3 Likes

First it needs more testing to make sure it doesn’t tip over the second we put it under load and it needs to be integrated with ListenBrainz. Neither of these tasks are too hard.

The more tricky part is making sure that its indexes stay up to date with the MusicBrainz data – also not that hard, just more work.

My guess, if all goes well, this could go live in January or February.

10 Likes

https://mapper.listenbrainz.org/?artist_credit_name=%21%21%21&release_name=As+If&recording_name=Ooo

Search completed in 0 ms

I think you need to display it in microseconds :smile:

7 Likes

I’m so happy that aliases will be used for matching finally. Because I add YT video releases, which don’t have any proper way of naming, and it always was pain to link them in LB, because I cleared titles according to MB guidelines (removed artist names, other artists, parts as “German cover”, “Guitar cover” etc) and added full release/recording names as aliases. But because LB ignored them it was hard to link my listens to MB recordings. So I’m really thankful for this change.

And yeah, it works really fast and well. Just to illustrate how powerful this new version is: it was impossible to link this recording without adding mbid manually or knowing how I called it in db.

Recording name on YT: [Free Flight] Delvirta – Skyclad no Kansokusha [Steins;Gate VN OP, anime ED3 RUS Cover]
Artist name on YT: Free Flight – переводы песен из аниме и не только!

In its description and video itself a Russian name for this release was specified: “Непредвзятый наблюдатель”. Because it is the Russian cover, I used the Russian name as its main name for storing. So in MB it is stored as “Free Flight - Непредвзятый наблюдатель” and all other options are stored as aliases. And of course, every scrobbler only used original YT credits, so there wasn’t any chance, that LB will suggest the recording that I need.


And in this version it already can find it in any possible combination:

  • Artist: Free Flight | Recording: Непредвзятый наблюдатель | ListenBrainz MBID Mapper 2.0
  • Artist: Free Flight | Recording: Skyclad no Kansokusha | ListenBrainz MBID Mapper 2.0
  • Artist: Free Flight – переводы песен из аниме и не только! | Recording: [Free Flight] Delvirta – Skyclad no Kansokusha [Steins;Gate VN OP, anime ED3 RUS Cover] | ListenBrainz MBID Mapper 2.0
    Even if I mix different release and recording names and languages:
  • Artist: Free Flight – переводы песен из аниме и не только! | Release: Непредвзятый наблюдатель | Recording: Skyclad no Kansokusha - ListenBrainz MBID Mapper 2.0

Again, thanks for this fantastic work! :grinning_face:

7 Likes

Crap. Too many restarts caused let’s encrypt to issue too many certs and I can’t restart on this domain. For the next 24 hours at least, the server will be WITHOUT https:

http://mapper.listenbrainz.org/

We’ll put it behind our infra tomorrow.

4 Likes

Now on our own infra:

https://mapper.listenbrainz.org/

What problems have people found?

2 Likes

Thank you! This is much anticipated.

https://mapper.listenbrainz.org/?artist_credit_name=Johann+Sebastian+Bach&release_name=Goldberg-Variationen&recording_name=Aria+mit+30+Veränderungen%2C+BWV+988+“Goldberg+Variations”%3A+Aria doesn’t work as I would have expected. As far as I know, this is how https://open.spotify.com/track/7H9knJFkDQ9XCmWXcHBWkk would appear in LB.

inputs:

  • artist: Johann Sebastian Bach, Andrei Gavrilov
  • release: Goldberg-Variationen
  • recording name: Goldberg Variations, BWV 988: Aria

expected outputs:

2 Likes

I think I’m good at finding nasty edge cases. Sorry for that. :wink:

This release group Release group “Moments” by Lull - MusicBrainz consists of releases where each recording is named “Moment xx”, where xx is a number between 1 and 100. The recordings are officially untitled, but they all have a recording name alias “Moment xx”.

It appears that the mapper always finds the same recording, no matter which number there is in the search term, and the result is always “Moment 1”. I could swear that in my previous testing few days ago the result was always “Moment 35”, but it changed now. Example search: ListenBrainz MBID Mapper 2.0.

The one exception is “Moment 100”. Maybe it’s because the recording is not untitled?


In general, any release where there is more than one recording with the same title will be problematic. But I don’t think there’s a solution for that if the only input data for the matching algorithm is artist name, album name and track title.

Examples:

Edit: I found a nastier example. Two releases with the same title and the same track titles, but the tracks correspond to different recordings. Good luck with that!

3 Likes

I was browsing other users pages when I hit play on “Easy Goodbye” by Flume and Emma Louise. This (copied) playlist plays the correct song. ListenBrainz

When using mapper.listenbrainz.org with the inputs:

  • Artist Name: Flume, Emma Louise
  • Recording Name: Easy Goodbye

it returns the Recording MBID: 1c551c0a-8634-485a-b83c-f47aecb8bf4b

Clicking “Play on ListenBrainz” through that link brings up an instant playlist on ListenBrainz, with a seemingly correct listing. Hitting play plays a remix( Stream Emma Louise & Flume - Easy Goodbye (Missing Link Remix) by Missing Link | Listen online for free on SoundCloud ).

It plays for all listings on the ListenBrainz track page.

Sorry if this is a known issue with an easy solution. I’ve only been using this service for a couple hours. If it matters, I’m using ListenBrainz signed in and I’ve linked my SoundCloud account.

Found a case where the new mapper has no result:
https://mapper.listenbrainz.org/?artist_credit_name=Mox+ಠ+ᴥ+ಠ&release_name=Brat&recording_name=Brat

Expected recording: Recording “Brat” by MoxiFloxi - MusicBrainz

I can find it with advanced MB search:
https://musicbrainz.org/search?query=artistname%3A(Mox+ಠ+ᴥ+ಠ)+%26%26+recording%3A(Brat)+%26%26+release%3A(Brat)&type=recording&limit=25&method=advanced

Also with simple indexed search:
https://musicbrainz.org/search?query=(Brat)+(Mox+ಠ+ᴥ+ಠ)&type=recording&limit=25&method=indexed

Does it not consider the artist name in the database?

2 Likes

An interesting mapping issue reported on social media: the user’s top song is unknown to them, and matched to a suspicious looking track named “?” by artist “©”.

See track 5 of this album, which seems to have wayy too many listens compared to other on the album/artist level, suggesting this issue is happening to other users as well.

I just confirmed this issue with another user as well.

Additiponal information after checking in the database:

  1. all of the tracks matched to this, don’t have any alphanumeric character in them (see examples below)
  2. there are ~1500 of them atm

Examples of listens matched to this recording:

  • “ㅤ” by “࿇” (title is not an empty space, it’s unicode U+3164)
  • “✺✷✩ ❁✫ ✾✰✺ ✾✳✷✷✺✵” by “✹✾✶❋✩✳✹✾❈✷×”
  • “✶✷ :eight_spoked_asterisk:✷✹✾✶❃✵✺ ✶❋✾❈✫✶❊✾” by “✹✾✶❋✩:eight_spoked_asterisk:✹✾❈✷×”
  • “?? ??? ???” by “???”
4 Likes