Harmony: Music Metadata Aggregator and MusicBrainz Importer

Glad I spent the time implementing it :3
SAMBL supports it too (considering I reused a lot of the same code for both)

@chaban alerted us to the existence of a digital download store called Volumo in another thread. Apparently they display actual release dates there, which is handy for Harmony.

4 Likes

Looks like I’ve been getting “Suggested rate limit delay is unacceptably high, cancelling request” error for Spotify now.

2 Likes

I’ve been getting that error almost daily for the last couple of weeks. It seems to happen most mornings (UTC-6) and resolves on its own within hours.

2 Likes

I was thinking of requesting a feature on harmony that users should also have an option to set their own API keys instead of relying on the keys that everyone uses.

I know I can maintain a local copy of harmony… but it will be too complicated for me.

1 Like

@YoGo If you want, we could meet up in Discord and I could walk you through how to do it. It’s not too difficult and helpfully takes traffic off of pulsewidth for high-volume editors like you and I.

3 Likes

Managed to get it up and running, I will probably not use it much because all userscripts I use will need to be re-written with my custom domain.

1 Like

Something strange that I’ve noticed in the last 24 hours is that I’ve become unable to access Harmony from my home network (any browser or device). It might load sporadically and very slowly once in a while, only to lose connection immediately afterwards.
At first I thought it might be just Harmony generally misbehaving. Then again, it turned out that I was able to access it from pretty much everywhere else (at work, from my mobile network, through VPNs), except from my fixed home network.
I’m starting to get worried if perhaps my IP address was blocked by either Harmony or the underlying platform. If any misbehavior was detected, I swear it wasn’t for mean intentions, you can check my editing history. For now, I can use it only through VPN or my phone as a hotspot.

It could be the case, but I don’t have the possibility to check this myself. Please send a PM to @atj with your IP, he is responsible for the server’s blocking rules and could unblock your IP if it triggered a rule.

P.S. Probably too long ago to be related to your issues, but when I recently deployed the Qobuz provider, I forgot to tell atj in advance to add the Qobuz domains to the allowed URLs which can be looked up. This unfortunately caused Qobuz URL lookups to be treated as bot spam for about an hour :sweat_smile:

4 Likes

Speaking about bot spam: Has anyone of you ever seen the following error message?

You have somehow managed to break the Harmony URL, please report how you got here…

This should be shown if the URL somehow contains ®ion= which I suspect is the result of a bug in Element Web. However, given the frequency of this message in Harmony’s logs, I believe it is mostly bots trying to follow such broken links and not humans.

Sounds like a good honey pot to ban some bots :slight_smile:

1 Like

How does Harmony handle situations where a release is not yet available in a given country due to the timezone?

It doesn’t seem to do anything special based on this release planned for 2026-06-11T22:00:00Z

https://harmony.pulsewidth.org.uk/release?spotify=0z99E3nUY6h9aFPZTUetg8&gtin=4500000087347&itunes=&tidal=&region=TO&ts=1781194549

See also

Can we blacklist fake artists like Re:ZERO Music from being seeded from Spotify to MusicBrainz? It’s a TV show, not any kind of music artist. It’s so fake, it’s not even a label/imprint.

(This is an example of something that should clearly be corrected per Style / Principle / Error correction and artist intent - MusicBrainz)

1 Like

I’m getting errors trying to import pre-release albums from Qobuz, e.g. https://www.qobuz.com/au-en/album/john-williams-and-the-presidents-own-vol-3-united-states-marine-band-and-john-williams/cmtlsa1gnq9gv

Harmony returns: Cannot read properties of undefined (reading ‘split’)

From what I can tell (I’ve had these too) Qobuz releases are based on where Harmony is located, i.e. Europe (France or UK, I think). If it’s a release exclusive to an area that Harmony’s server isn’t physically located in, i.e. US only, it can’t find them.

1 Like

For what it’s worth other au-en URLs work (e.g. https://www.qobuz.com/au-en/album/star-wars-a-new-hope-john-williams/zl8hnbq88fkob) and the gb-en version (https://www.qobuz.com/gb-en/album/john-williams-and-the-presidents-own-vol-3-united-states-marine-band-and-john-williams/cmtlsa1gnq9gv) of my example above doesn’t so I think it’s related to the album not being released yet, not necessarily the region.

What I ended up doing was finding this one userscript someone created for Youtube music (Unfortunately I can’t remember who it was) and editing it cause I got frustrated that it tried to search the barcode and majority of the time it wouldn’t find the release so i made an option to search by album title and artist name and I would always get the same release.

After that worked out, I expanded to other streaming sites as well. Now I have to admit I did end up vibe coding the userscript to get this result cause I have no idea how write a userscript but it turned out better than I thought. It even got the same icon pack too so it’s matching the rest of the UI.

Also this was made in late 2025 cause I wasn’t aware there already had been a built in external links option. I anyway enabled that since it gives more options. Obviously Qobuz and Discogs wasn’t supported back then but I still find it useful whenever Harmony fails to find the release for supported services so I need to manually search it using the link.

I had considered sharing the script here but since it’s vibe coded I wasn’t really confident it be all that good for others. Since someone probably do a better job.

The script was made by me and the barcode search is intentional as title based search can return any matches and you cannot see the barcode for YouTube Music uploads except by doing a reverse search similar to the old days when only the iTunes API was available.

However, YouTube Music seems to suffer from the same problem as Apple Music which may “helpfully” return a different release than the requested barcode

For example:
https://music.youtube.com/search?q=%22196589921154%22Random Access Memories - Album by Daft Punk

However that’s a different tracklist than the requested barcode 196589921154:
https://harmony.pulsewidth.org.uk/release?spotify=4mAhdh996uW5SnnFKXUmC0&gtin=196589921154&deezer=&itunes=&tidal=&region=US&ts=1781349457

It should probably be Random Access Memories (10th Anniversary Edition) - Album by Daft Punk

I understood why the barcode was added but the issue I had was that usually artist tend to give a different barcode for Youtube releases entirely. The same can be said for other platforms too where Tidal and Qobuz will get one barcode and then Apple and Spotify will get another. It’s one of the reason why sometimes not all platforms come under a single release. This could be for various reasons like a 16bit/24bit version or Explicit/Clean version.

But YT music case is just annoying cause it just it’s own release. I wonder if this has anything to do with YT linking songs with it’s music videos or that some tracks especially Non-English music will have a original title and transliterated title in the same title. Instead of other platforms that choose to either show the original title or the transliterate one. This is at least what i understand.

Most of the time the title/artist name search works better for me. Obviously this is something can’t be automated as a link as i manually see if it is the same release. Like in your Daft Punk example. it has 2 editions. The original and 10th anniversary edition. Even if YT didn’t added the edition in the album title, You can see differentiate it from the different track list and cover art.

YouTube Music will always return the earliest release from their “release group”, if the barcode matches one of the releases within that group. Even if it’s a explicit vs. clean type thing or standard vs. deluxe, etc. So, yeah, if you do a search with a barcode on YouTube Music and get a result at least you can verify it against existing releases in MB release group with same barcode to see if the track listings match up.