Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ListenBrainz user listen dump import for supporters #257

Open
Viktini opened this issue Oct 31, 2023 · 0 comments
Open

ListenBrainz user listen dump import for supporters #257

Viktini opened this issue Oct 31, 2023 · 0 comments

Comments

@Viktini
Copy link

Viktini commented Oct 31, 2023

As stated in #122, ListenBrainz will not likely be supported due to limits with the ListenBrainz API that aren't going to change any time soon. I'm proposing that instead, supporters can import their ListenBrainz JSON user export much like they can with Spotify. Some users may have more, earlier data on ListenBrainz than on Spotify or Last.fm, thanks to its Last.fm/Libre.fm importing feature (I am personally in that camp), so having this would be nice for those users.

I have attached a quick export dump from my ListenBrainz development account. listen_dev_thing_lb-2023-10-31.json

An example track listen can be seen here:

{
  "track_metadata": {
    "track_name": "Everything Before",
    "artist_name": "deadmau5",
    "release_name": "4x4=12",
    "additional_info": {
      "track_mbid": "5de90cbc-42a7-4d13-b344-d3ab471b764d",
      "duration_ms": 395889,
      "tracknumber": "10",
      "artist_mbids": [
        "4a00ec9d-c635-463a-8cd4-eb61725f0c60"
      ],
      "release_mbid": "ab262980-24d7-4834-be2a-90d2ce8cfc9c",
      "music_service": "music.apple.com",
      "recording_mbid": "fb42065d-5c48-4bf7-93d7-efa899828b41",
      "submission_client": "Submit to ListenBrainz Plugin for Picard",
      "release_group_mbid": "aa7ffa90-2581-4941-ac54-8f5abfd6cbc2",
      "submission_client_version": "0.3",
      "recording_msid": "528457d7-fb24-4681-914f-364e453735b8"
    },
    "mbid_mapping": {
      "recording_mbid": "fb42065d-5c48-4bf7-93d7-efa899828b41",
      "recording_name": "Everything Before",
      "release_mbid": "d9ea8f73-78fe-30d5-9e81-8bb70441849f",
      "artists": [
        {
          "artist_mbid": "4a00ec9d-c635-463a-8cd4-eb61725f0c60",
          "artist_credit_name": "deadmau5",
          "join_phrase": ""
        }
      ],
      "artist_mbids": [
        "4a00ec9d-c635-463a-8cd4-eb61725f0c60"
      ],
      "caa_id": 6173257770,
      "caa_release_mbid": "81447cb9-1719-4ef1-b7a1-da786bc08936"
    }
  },
  "listened_at": 1698755916,
  "recording_msid": "528457d7-fb24-4681-914f-364e453735b8",
  "user_name": "listen_dev_thing",
  "inserted_at": 1698755917
}

Some attributes to keep a look out for:

  • The track_name and artist_name is probably what you're looking for with these dumps. I'm not sure on how .fmbot handles featured artists in the title on Last.fm imports, but it's also something to keep a look out for with ListenBrainz.
  • I saw that MusicBrainz is used as the source for artist countries. I doubt .fmbot is/will be using MBIDs, but if MBID mapping is used, mbid_mapping is used by MusicBrainz's automatic resolver, which has some reliability issues but does have extended information that you would have to query MusicBrainz for. Any MBID data submitted manually by the user (i.e. from a scrobbler that submits the IDs) is under additional_info if you want to manually grab data from MusicBrainz.
  • recording_msid is used by MessyBrainz, which is used by ListenBrainz to automatically link messy metadata to MusicBrainz entities. It's not out for the public yet though AFAIK.
@Viktini Viktini changed the title ListenBrainz import for supporters ListenBrainz user listen dump import for supporters Jan 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant