beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.92k stars 1.82k forks source link

chroma: fingerprint/submit commands don't lookup or write the item's acoustid_id #5001

Open Maxr1998 opened 12 months ago

Maxr1998 commented 12 months ago

Problem

Currently, only the import process (via chroma.acoustid_match writes to the item's acoustid_id field. When using beet fingerprint or beet submit for tracks already in the library, only the acoustid_fingerprint field is written.

I confirmed this by looking at the source of the latest master. The cli command calls fingerprint_item, and not fingerprint_task (or acoustid_match), which seems to be only used during the import process. item.acoustid_id is not written in other places.

sampsyo commented 11 months ago

Hmm… could you perhaps say a little more about what you are hoping will happen here?

One important thing to remember is that the Chromaprint/Acoustid system has two parts: computing the fingerprint (a local operation), and looking the fingerprint up in a big global database to get its ID (which uses the Acoustid server). beet fingerprint is just supposed to analyze the actual audio data and compute the fingerprint. Submission is supposed to tell the server about metadata, but it is most useful in situations where the server doesn't even have an ID for the song yet.

It seems like neither function should do the server lookup required to get an ID… maybe there is some other arrangement you're hoping for?