Contributing to AB's classifiers

Hello there, I’m interested in contributing to the MB project, especially through AcousticBrainz.

I’m particularly interested in improving/adding classifiers. I did some search on both Essentia’s & AB’s code and documentation but couldn’t figure out what kind of classifiers are used or how/where they’re implemented. Can someone provide basic guidance?

Thanks & happy holidays!

Hi,
Thanks for your interest. We use Support Vector Machines for the classifier models. You can read more about the process in the essentia FAQ: https://github.com/MTG/essentia/blob/master/FAQ.md#training-and-running-classifier-models-in-gaia

Let me know if you have any other questions!

1 Like

OK, I now have some basic understanding of what’s being used to extract high-level features.

I understand I might be getting ahead of myself but I’d love to add functionality that uses MB’s big amounts of data and state of the art classifying technologies (though more computationally intensive) to produce better results or add new high level features. (Assuming properly labeled datasets use pre-trained models so they can be handled by the AB server?)

What’s your insight about this? Do you think it’d be a worthwhile effort and is it in line with the project’s goals? Any relevant reads are welcome, thanks!

Thanks for your update.
We have no current infrastructure for hybrid classifiers which use more data than the low-level features that we have in AcousticBrainz, although this is a great idea which could be interesting to try and fit into our system.

Last year, we had a student work with us for Summer of Code (A job running client for AcousticBrainz), though we didn’t get the whole project finished. This would be a good start to a system which lets people write their own classifiers - although we would have to work out the split between training (where we take a dataset and end up with an accuracy percentage) and computation (where we take new submissions and calculate a feature - would we distribute this back to the external contributor’s server, or somehow run it on the AB server?)

With the other things that we want to do with AcousticBrainz this year, it’s unlikely that this will be a focus for us, but if this direction interests you, let me know and we can see how we can work together.

2 Likes