How to build your own music tagger, with MusicBrainz Canonical Metadata

In the blog post where we introduced the new Canonical Metadata dataset, we suggested that a user could now build their own custom music tagging application, without a lot of effort! In this blog post we will walk you through the process of doing just that, using Python.

Continue reading “How to build your own music tagger, with MusicBrainz Canonical Metadata”

New dataset: MusicBrainz Canonical Metadata

The MusicBrainz project is proud to announce the release of our latest dataset: MusicBrainz Canonical Metadata. This geeky sounding dataset packs an  intense punch! It solves a number of problems involving how to match a piece of music metadata to the correct entry in the massive MusicBrainz database.

The MusicBrainz database aims to collect metadata for all releases (albums) that have ever been published. For popular albums, there can be many different releases, which begs the question “which one is the main (canonical) release?”. If you want to identify a piece of metadata, and you only have an artist and recording (track) name, how do you choose the correct database release?

Continue reading “New dataset: MusicBrainz Canonical Metadata”

MetaBrainz Summit 2022

The silliest, and thus best, group photo from the summit. Left to right: Aerozol, Monkey, Mayhem, Atj, lucifer (laptop), yvanzo, alastairp, Bitmap, Zas, akshaaatt

After a two-year break, in-person summits made their grand return in 2022! Contributors from all corners of the globe visited the Barcelona HQ to eat delicious local food, sample Monkey and alastairp’s beer, marvel at the architecture, try Mayhem’s cocktail robot, savour New Zealand and Irish chocolates, munch on delicious Indian snacks, and learn about the excellent Spanish culture of sleeping in. As well as, believe it or not, getting “work” done – recapping the last year, and planning, discussing, and getting excited about the future of MetaBrainz and its projects.

We also had some of the team join us via Stream; Freso (who also coordinated all the streaming and recording), reosarevok, lucifer, rdswift, and many others who popped in. Thank you for patiently waiting while we ranted and when we didn’t notice you had your hand up. lucifer – who wasn’t able to come in person because of bullshit Visa rejections – we will definitely see you next year!

A summary of the topics covered follows. The more intrepid historians among you can see full event details on the wiki page, read the minutes, look at the photo gallery, and watch the summit recordings on YouTube: Day 1, Day 2, Day 3

Continue reading “MetaBrainz Summit 2022”

Get ready for MetaBrainz NFTs!

As you all know, making our projects better every time takes a ton of work. For years, we’ve done an amazing job of combining individual users’ donations and commercial data users’ financial support to be a sustainable non-profit which finishes almost every year in the black (see our financial reports), which is quite the achievement when even tons of commercially successful companies lose money every year and only survive through new investment. That said, IT is a very competitive field and we can’t pay the most competitive wages, since we’re still a relatively small non-profit. That means we keep losing some of our talented engineers to large companies who can afford to treat them a lot better. After years of this, we’ve decided we need to find additional sources of income.

Continue reading “Get ready for MetaBrainz NFTs!”

Stepping up on our UX: Welcoming Simon Hartman to the team

Hello!

I am pleased to announce that long time contributor and complainer about our UI/UX, Simon Hartman, AKA aerozol has joined our team as a part time designer!

While we are starting with a very modest 3 hours of his time per week, we feel that this marks a rather important step forward for our team. While we now have two team members who have UX/design skills (Monkey and Akshat), they also carry a significant load of engineering tasks working on their respective projects.

Having Simon as part of our team will allow us to carve out concrete design tasks for him to focus on. Simon and Akshat will also revive our long dormant design system, which lets us create UI components that are intuitive and consistent. Our engineering team will be able to re-use these components across our sites, simplifying the future development of new pages. We hope that this shared design system will improve the user interface across all of our sites, with a strong focus on bringing the MusicBrainz UI into the modern age.

Having concrete help on the design front has been needed badly for a long time, which makes me very excited to welcome Simon to our team. Welcome!

Welcoming Akshat Tiwari to the MetaBrainz team!

I’m pleased to announce that we are continuing our long tradition of hiring our best Google Summer of Code participants — I’d like to warmly welcome Akshat Tiwari to the MetaBrainz team!

Akshat has been working on our Android App, continuing the work from last summer to improve the app and to add new features. He has been doing great work and demonstrating the fact that he understands user interfaces and has an eye for design as well as coding. This is a rare combination of talents and since we’ve been in dire need for improving the UI/UX for the MusicBrainz web site since forever, this was the time to finally get this project moving seriously.

Akshat has joined us on a trial contract through the end of the year with the goal of creating a new home page for MusicBrainz (and more hopefully) — the current home page is still stuck in the early 2000s and hasn’t evolved as our projects have evolved.

Our hope is to have Akshat become a permanent member of the MusicBrainz team and once the home page is completed, that he will continue on the UI/UX revamp that Chhavi started several years ago.

Welcome to the team Akshat!

MusicBrainz App

Greetings, Everyone!

The MusicBrainz Mobile App developers have been working at full capacity, improving the user experience, incorporating more features and functionalities, while making sure the core purpose of the app remains as promised.

Since its inception in 2010, the MusicBrainz Official App has come a long way. The App currently is highly maintained and has been actively open for contributions. A systematic approach is being followed and updates are being made on a regular basis.

The most important revamp which has been worked on for the past few months is the Tagger feature available in the MusicBrainz Android App.

Functionalities like fetching the local album arts, searching through all your local music files at one go, retrieving the cover art from the server, and heading to the recording directly are some of the key highlights of the upcoming Tagger.

Picard has finally made an official entry to the MusicBrainz App where users can now send their releases to the original Picard desktop app with the click of a button. This has been worked on in collaboration with the Picard team and proper documentation on its usage will be shared soon.

The completely new addition of Listen and Critique showcases the functionalities of ListenBrainz and CritiqueBrainz websites natively from the app. Currently, these will be available as advanced features on the app.

A well-prepared Onboarding and About section will take you through every important detail on the app and make sure you are aware of all the functionalities in the best and optimized way possible.

Proper documentation of every feature is being prepared. The App is finally out in Production, do head to the stores and give it a try!

We are really excited to make the MusicBrainz App as user-friendly as possible for you, while we take care of all the wonder behind it!

Play Store: MusicBrainz – Apps on Google Play

F-Droid: MusicBrainz | F-Droid – Free and Open Source Android App Repository

Github: metabrainz/musicbrainz-android

Thank you!

Incident report: January 27th service outage

On January 27th, starting at 4:31UTC we were hit with increasing amounts of traffic from what appeared to be hundreds of different IP addresses mostly belonging to Amazon Web Service IP addresses. At 8:46UTC the inbound traffic overwhelmed our systems and brought nearly all of our services to a standstill.

After investigating the situation and receiving no meaningful assistance from Hetzner (our ISP who advertises DDoS mitigation services as part of their offerings) we blocked three subnets of IP addresses in order to restore our services. At 13:14UTC we put the block in place and our services started recovering.

We reported the issue to Hetzner and to AWS shortly after restoring our service. The next morning we received a friendly email from Andy, who works for one of our supporters at Plex, stating that they received a complaint from AWS. What happened next and how this matter was resolved is told by Andy himself:

Overnight on Wednesday, first thing Thursday morning, we received an abuse report that our servers were flooding an IP that corresponded to musicbrainz.org. We scrambled to investigate, as we are happy MusicBrainz partners, but it was a strange report because we run our MusicBrainz server and hit that instance rather than communicating with musicbrainz.org directly. And the IPs mentioned were specifically related to our metadata servers, not the IPs that would be receiving data updates from upstream. Just as some of our key engineering team members were starting to wake up and scrub in, it started to seem that it was a coincidence and we weren’t the actual source of the traffic and had simply been caught up in an overeager blocking of a large IP range to get the services back up. Never trust a coincidence. We continued to stay in touch with the team at MusicBrainz and within a few hours we had clear evidence that our IPs were the source of the traffic. We got the whole engineering team involved again to do some investigation, and we still couldn’t figure much out since we never make requests to musicbrainz.org and we had already worked to rule out the potential of any rogue access to our servers. By isolating our services and using our monitoring tools, we finally discovered that the issue was actually our traffic to coverartarchive.org, not musicbrainz.org, as they happen to be serviced by the same IP address. And this made much more sense, as we do depend on some API calls to the Cover Art Archive.

The root cause was an update to the Plex Media Server which had been released earlier in the week. There was a bug in that update that caused extra metadata requests to our own infrastructure. We had noticed the spike in our autoscaling to accommodate the extra traffic and already put together another update to fix the bug. That extra traffic on our infrastructure also translated to a more modest increase in requests to some of our metadata partners, including CAA. While the fix was already rolling out to Plex Media Servers, this provided a good opportunity to evaluate the CAA traffic and put our own rate limit in place to protect against future issues. We wrapped up that change in the afternoon on Thursday.

Throughout the ordeal, we appreciated the communication back and forth with our partners at MusicBrainz so that we could work together to investigate and follow leads to find a timely resolution.

Andy from Plex

While this whole situation was very stressful and frustrating to us, in the end it was resolved by a very friendly and technical detective game to identify and resolve the issue. It is always nice when geeks talk to geeks to resolve issues and get services working again. Thank you to Andy and his team — let’s hope we can avoid an issue like this in the future.

We’d apologize for the trouble caused by our IP address block and for our services being unavailable for several hours.

EDIT: We should also mention that all of our services are served from one single gateway IP address, so coverartarchive.org and musicbrainz.org have the same IP address.

State of the Brainz: 2019 MetaBrainz Summit highlights

The 2019 MetaBrainz Summit took place on 27th–29th of September 2019 in Barcelona, Spain at the MetaBrainz HQ. The Summit is a chance for MetaBrainz staff and the community to gather and plan ahead for the next year. This report is a recap of what was discussed and what lies ahead for the community.

Continue reading “State of the Brainz: 2019 MetaBrainz Summit highlights”

Picard 2.0.1 released! (Windows and macOS users rejoice)

Note – There are no changes for Linux users, so they can safely skip this release if they want.

Given the massive feedback about the shortcomings of the Windows and macOS versions of Picard, we decided to do a minor release addressing some of the issues with our executables.

As usual, you can find the latest downloads on Picard’s Website.

The change-log is as follows –

Bug-fix

  • [PICARD-1283] – Fingerprinting not working on macOS in Picard 2.0
  • [PICARD-1286] – Error creating SSL context on Windows

Improvement

  • [PICARD-1290] – Improve slow start up times by moving to a non single file exe
  • [PICARD-1291] – Use an installer for Picard 2.x windows exe

Basically, the Windows executable is now a proper installer and some missing SSL dependencies are bundled with it.

The macOS builds also include the missing AcoustID fingerprinting binary.

The startup time for both the Windows and macOS version has been improved as well.

Have fun tagging your files!

samj1912 signing off o/