A Java application to enrich MusicBrainz data from linked sources.
Queries the MusicBrainz API and fetches data from linked sources like Discogs or Spotify.
- Java Runtime Environment 21
- Docker
- Releases (mode =
release)- Apple Music / iTunes
- Bandcamp
- Discogs
- Junodownload
- Spotify
- Release Groups (mode =
release-group)- Allmusic
- Discogs
- Wikidata
This application uses Spring Boot, which allows for easy handling of configurations. See the Spring Boot documentation for details.
musicbrainz-enricher.host(Either "test.musicbrainz.org" or "musicbrainz.org")- Credentials
- Musicbrainz
musicbrainz-enricher.musicbrainz.usernamemusicbrainz-enricher.musicbrainz.password
- Discogs API(can be left empty to use (slower) unauthenticated discogs API
access)
musicbrainz-enricher.discogs.token
- Spotify API (can be left empty to disable spotify API
access)
musicbrainz-enricher.spotify.client-idmusicbrainz-enricher.spotify.client-secret
- Musicbrainz
Before starting, set up a copy of the MusicBrainz database using https://github.com/metabrainz/musicbrainz-docker locally with the database port open.
The first step is gathering data:
java -jar musicbrainz-enricher*.jar gather.
This will go through every relevant relationship and gather data from the referenced URLs. The results are persisted locally and are not submitted yet.
After gathering is complete, you can submit the merged data that was collected to MusicBrainz:
java -jar musicbrainz-enricher*.jar gather.
The application will remember entities checked already and will not re-check them. To reset this, truncate the
*_history_entry and enricher_release_group_result tables in the musicbrainz_enricher schema.