Harmony: Music Metadata Aggregator and MusicBrainz Importer

Greetings. I am probably a bit “old” and still use a-tisket to import releases while there is a new tool already… :grin:

  1. Do a-tisket or harmony fill the “language” field for the release or this parameter irrelevant now?
  2. May be its possible now somehow to upload cover art immediately while adding the release since the links to CA already provided by importers?
  3. Is it possible to add an option to add release through musicbrainz.eu instead of musicbrainz.org?
  4. Is is possible through API extract composers and use them as artists on the tracklist?

I believe that the MusicBrainz server doesn’t support seeding the add-cover-art form with images (although its edit note and make votable fields can be seeded).

One trick if you’re using Chrome is to open the image in a new tab, start dragging it, use Ctrl+Tab / Ctrl+Shift+Tab to switch back to the MB tab, and then drop the image in the form’s “or drop files here” box. (I’m not sure if it’s possible to drag-and-drop images in Firefox yet, although there’s a comment from a few days ago saying that this might work after setting the dom.events.dataTransfer.imageAsFile.enabled option.)

5 Likes

I don’t know about atisket, but harmony does. It determines script and language from the titles and at least if it is certain about it it also prefills the language / script fields.

I use ROpdebee’s excellent Enhanced Cover Art Uploads user scripts. It works really well in combination with harmony or atisket because once you have the release with links to the online services the script gives you buttons to import the cover art from those services.

11 Likes

@kellnerd I beseech thee :palms_up_together: please consider creating an option for the harmony tool that turns off the final redirect of the newly created MusicBrainz release page back to harmony, I understand that many people find this useful, but personally it breaks my workflow (I’ve got the necessary parts, e.g. coverart already ready and don’t need the things on the redirected page)
having a link to it in the page in the edit note instead is fine, I would much more prefer that then redirecting the page I was on to another page I wasn’t expecting , it confuses me and I end up closing or going back in the browser instead.
please and thank you :bowing_man:

6 Likes

Just ran into a weird lookup mixup: Given the spotify URL

harmony finds the correct releases on Tidal and Apple Music, but also the entirely unrelated Ovapowered by Kai Tha Opp. Probably something wrong in the data, but just in case someone wants to investigate.

Best way to discover new music :smiley:

EDIT: same bar code 859764904624 (they’re both in musicbrainz now, Release “Parisongo” by Parisongo - MusicBrainz, Release “Ova Powered” by Kai Tha Opp - MusicBrainz)

I have a Bookmarklet to open from a spotify album page to atisket.

javascript:(function() {   var currentPage = window.location.href;   var spotID = currentPage.replace(/^(https\:\/\/open\.spotify\.com\/album\/)+/, '');   var newURL = "https://atisket.pulsewidth.org.uk/?spf_id=" + spotID;   window.open(newURL)}) ();

Would love to have the same thing for harmony.

Atj made a nice script that adds Atisket as well as Harmony buttons to spotify

2 Likes

I’ve seen a few cases where Beatport releases won’t show up on permalinks even after they are found. Usually this occurs when you searched for a release with a link from one of the other platforms, a Beatport equivalent is found, but it won’t be kept for the permalink.

One recent example of mine: Search with Apple Music link
A Beatport release is found among equivalents in other platforms.
Clicking on the Permalink however, the Beatport release isn’t listed, with the red box above explicitly stating that it wasn’t found.

Interestingly, this doesn’t occur when using the Beatport link as the primary search parameter. For the same example with the above release: search results and permalink.

This can especially get annoying on those rare (yet still in existence) releases available on both Beatport and Bandcamp, since Harmony can only process already given links for the latter but can’t search for them.
Search
Permalink

2 Likes

Sure, that is easy enough to do.

You can use the following bookmarklet not only for Spotify but on any supported (release) page to open a Harmony lookup for this URL in a new tab:

javascript:void open(`https://harmony.pulsewidth.org.uk/release?url=${encodeURIComponent(location)}`);

If you directly want to do a combined lookup using data from multiple supported providers, you would have to specify them in the URL.
Same goes for your preferred region if you don’t want to use the default (currently GB, US, DE, JP), for example:

javascript:void open(`https://harmony.pulsewidth.org.uk/release?url=${encodeURIComponent(location)}&spotify&deezer&itunes&tidal&region=US`);

Instead of specifying each provider (equivalent to the checkboxes on the page), you can also use the default providers (currently Spotify, Deezer, iTunes, Tidal) with category=default:

javascript:void open(`https://harmony.pulsewidth.org.uk/release?url=${encodeURIComponent(location)}&category=default`);

Are you sure you are not using a different userscript? AFAIK atj’s script only supports a-tisket and has not been updated for a while.

3 Likes

You are correct, it is the Spotify MusicBrainz Helper by Dr Blank!

1 Like

Thanks for reporting, this is an annoying edge case for sure, so I am glad you caught it.

The problem is the zero-padding of the barcode, Beatport complains that it couldn’t find the barcode without the leading zero. I only spotted this because the primary source (iTunes and Bandcamp in your examples) has returned the barcode with a leading zero.
If I add the zero-padding to the permalink, it starts working again.

So it appears that Beatport is yet another provider which doesn’t return search results if the barcode does not have the right amount of zeros :person_facepalming:
Together with the permalink generation, which chooses the encoded GTIN from an arbitrary provider (because in theory they should have the same value and each provider should be able to handle leading zeros) this leads to broken permalinks while the initial lookup worked because it used the GTIN from the primary provider which had the correct number of zeros (by chance).

Ideally the Beatport provider should try multiple barcodes, but Beatport searches are already slow enough as is, so I will probably try to make the permalink generation choose a “better suited” GTIN first, I guess.

3 Likes

I didn’t plug it before, but if anyone want another flavor of userscript, here’s one. It has a “Open in spotify” button too

Photo outdated but add both Atisket and Harmony

2 Likes

Another reason that I believe all barcodes that have leading zeroes should use them on MB. Apple Music on a-tisket is even more wrong in that it will take off the leading zero on a 14-digit and just make it a 13-digit EAN. Either we include leading zeroes, or we don’t but making it a EAN is just wrong. 7digital is the same. If a barcode has leading zeroes, it won’t find a release unless you include them on the search but will when you do.

1 Like

Does anyone have any idea why the track orders on Harmony don’t match the ones on Beatport?

1 Like

As of today, Spotify lookup via Harmony is no longer possible. I get the following error message every time:

Spotify: Unexpected token 'T', "Too many requests" is not valid JSON

3 Likes

I’m not having any issues. Weird. Just tried it and it’s working fine for me.

Having issues on spotify too.

1 Like

Weird. The Spotify issue is fixed for me today. No idea what caused it, and no idea what fixed it.

EDIT: It’s stopped working again. Maybe there are peak usage hours when it gets rate-limited?

2 Likes

Okay, neither pulsewidth a-tisket, nor Harmony is finding this Apple Music release, yet the original marlonob a-tisket does just fine. That seems odd to me. Is the Apple Music API not working on Apple IDs anymore, but is still working on the older UPCs?

Something seems to have changed.

Today’s updates have been in the making for multiple months, but I never got around to finish them so far. Now that the MetaBrainz Summit 2024 is over, I can finally present them to you:

There is a new MusicBrainz provider which can be used to import data from MusicBrainz into MusicBrainz… wait, this doesn’t really make sense, right? :clown_face:
While cloning existing releases is not too useful for your daily MB editing, having this provider enables the following, more useful features:

  • Duplicate check: You can enable the provider to check if a releases with the same barcode is already existing in MB. Or leave it disabled if you are confident that you are not importing dupes or have already checked the DB yourself :grin:
  • Direct link from the looked up release to the release actions page if the MB provider found the release.
  • External link suggestions for artists and labels on the release actions page: The new provider allows us to match MB data and MBIDs with data from other providers and their IDs/URLs. Finally all external links which are still missing from MB entities can be seeded to improve the automatic external ID/URL to MBID mapping process :partying_face:
    Link types and edit note are prefilled, already existing links should be skipped. (Please let me know if there are cases which don’t work as expected.)

P.S. Small teaser to conclude this post: Another great feature which now becomes doable, and with which I have already experimented, is the possibility to update existing releases with additional/modified data. But this requires more work, both on Harmony’s side and on MBS itself, so don’t get too excited about this yet.
It should be easier to start with only seeding additional external links first, everything else probably needs to be configurable (i.e. keep original value or overwrite), and updating the tracklist itself is not currently possible at all.

18 Likes