Improve UX for AcousticBrainz feature submissions

I was excited to hear that the AcousticBrainz software was going to be bundled with Picard 2.7 so I had been waiting for its release. Didn’t get anywhere after fiddling with the program for 20 minutes, but thankfully I found this post: I was under the impression the submission feature was simply broken as no matter what I did, I couldn’t get the “Submit AcousticBrainz features” menu item to activate. Saving the files first was the answer.

The problem I have with this is: It’s not intuitive to think that saving must be done first, especially with my configuration as I have “Save Tags” disabled in the Options (I don’t want Picard to accidentally modify my files as I use another program for the majority of my tagging). Because of this, I have to do a File > Save, which in this use case won’t do a thing to my files, just to active the AB menu item.

If files contain no MBIDs: first you must drag the files in, cluster them, lookup/identify, select the release on the right, save (in my case this is strange), then Tools > Submit. These steps can be reduced using “Automatically scan all new files” but this is disabled by default so wouldn’t change the number of steps required for some users. The AcousticBrainz Extractor GUI is much more convenient in comparison: select a folder and press Analyze. No hoops to jump through.

The average person with already MBID-tagged files and “Save Tags” enabled will have to modify their files by having to re-save them just to perform a submission. This may not be preferable to some (tags may change, and file modification dates may update, both of which shouldn’t be necessary).

I’m not sure why saving is a prerequisite unless it’s only a naive and perhaps an initial attempt at making sure AB submissions are tagged beforehand, but as demonstrated, with “Save Tags” disabled, this is circumvented anyway.

What I think would be ideal is that the AB menu item wouldn’t ever be disabled (greyed-out), but on clicking it, check that the selected files are already tagged with X, Y, and Z MBID, disallowing submission of those that lack the minimum required MBIDs, and allowing those that do. This would remove any need to save for adequately tagged files.

I appreciate the effort put into Picard for this release and the fact the “streaming_extractor_music” program has been updated to version 2, but this came across as a little rough around the edges. I would’ve submitted this feedback during 2.7’s beta, but I was already preoccupied with other FOSS projects. Hopefully that wasn’t too ranty and that I got my point across clearly.

Thanks! :slightly_smiling_face:


Yes, the intention was to mimic the behavior of the current submission clients, where you are supposed to run them on your already matched tracks. There had been some concerns about bad data getting submitted to AB otherwise. Once users have actually saved with a specific recording ID there is a higher confidence the match is correct.

We might actually change the behavior a bit to be more like AcoustID submission, where it is enough to have the files matched to the proper recording, but don’t need to be in the saved state. Overall I think it would be beneficial to have a submission overview, where you can see what data is available for submission before it’s being sent out.

If the files contain no recording MBID you will need to match them anyway, because the recording MBID is needed for the submission. So I don’t really see a way around that.

If you save the MBIDs to the files, as is recommended, you only need to do this once. I’d recommend this in any case, even if you use Picard otherwise not for writing tags but only for file naming.

If you generally don’t save the MBIDs to the files the current AB submission tools can’t be used either.


As someone who just wants to open up Picard and be able to quickly submit already MBID-tagged files to AB, this would be better.

I can understand if you’re fully embedded in Picard’s world, there’s a flow to the process: tag files, save, submit features to AB. In my case, I tag MBIDs externally to Picard, so the entry point to this flow is at save, not submit features to AB (which I think it should be). The potential behaviour change you mentioned would fix this.

1 Like