Acousticbrainz for big libraries


I recently tried out the acousticbrainz plugin and it works kinda fine, but I have a big problem with it: making the necessary computations takes some time (a few seconds per track) and I have a pretty big library. Each time I launch the absubmit command he starts again at the top of my collection and I don’t have the luxury of letting my computer in his corner for a week or more so that he processes everything. Is there a way for beets to remember which ones have already been calculated and sent as there is for the acoustid plugin? I could try to do it by bits (all A artists, then all B ones, even if B alone will take a few days with bach, beethoven, brahms and what not) but I wonder if there is something more simple.


Good point—no; there’s not currently a way to do that. You could keep track of which ones have been analyzed by running beet modify analyzed=true [...] and then using a corresponding query to select tracks that have not been analyzed yet, but that would be a purely manual process. It would be a reasonable feature request, if you’d like to file one on GitHub, to make this a feature of the plugin.


I can do this with a bash loop or a find -exec command as a start, what would be the corresponding query?


I don’t have a specific design in mind. Good luck!


If I were you I’d probably look at the plugin, modify it so that it stores a value in the database (or in the tags?) (so that it remembers which tracks have been analyzed), and eventually make a pull-request on github.


I will do that at some point, but I want to get my current ones merged before submitting new ones