Uploaded image for project: 'Zapped: AcousticBrainz'
  1. Zapped: AcousticBrainz
  2. AB-115

Store a copy of musicbrainz metadata in the AcousticBrainz database

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • Server
    • None

      We often want fast access to metadata related to items in the database. Some examples:

      • MetaData from musicbrainz for recording page
      • Artist and Title for dataset editor
      • Artist mbid for artist filtering during evaluation

      For the dataset/evaluation examples we need this data in real-time during page load. During evaluation we need to get the number of unique artists in each class to present the user with a cutoff of class size during training.
      As we add each item, we should pass off to a cache_store method which gets this data (perhaps in a worker process - celery?)
      When we need it, we load in bulk and return it. If we don't have some data we should indicate this in the return value and trigger the worker again. The frontend can try again after a pause.
      For now the cache store worker could use the API, but if this is too slow then we could replace it with direct mb database lookup.

      We need to store some 'state' in the datasets. e.g. we can't let the user configure the evaluation until we have all of the artist information. If the upload was done by csv, this could take a while to load.
      If items or classes are deleted from the dataset we should cancel the lookup jobs.

            Unassigned Unassigned
            alastairp Alastair Porter
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:

                Version Package