beetbox / pyacoustid

Python bindings for Chromaprint acoustic fingerprinting and the Acoustid Web service
MIT License
332 stars 66 forks source link

Another chroma: fingerprinting failed - audio could not be decoded #34

Closed bmarwell closed 7 years ago

bmarwell commented 7 years ago

Dear devs,

I saw a lot of issues with this plugin. Now I read all of them, and nothing helped.

versions

$ beet version
beets version 1.4.3
Python version 2.7.12
plugins: chroma, fetchart
$ sudo -H pip install -U pyacoustid
Requirement already up-to-date: pyacoustid in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: audioread in /usr/local/lib/python2.7/dist-packages (from pyacoustid)
Requirement already up-to-date: requests in /usr/local/lib/python2.7/dist-packages (from pyacoustid)
 $ which fpcalc
/usr/bin/fpcalc

description

$ beets import -s _unsortiert

All it gives: chroma: fingerprinting of '/media/usb-hdd/Musik/_unsortiert/track.mp3' failed: audio could not be decoded

No, the verbose options don't add any info. But oddly, I see the fingerprint which was successfully read.

Now when I execute fpcalc:

$ fpcalc Music/2-01\ track.mp3 
[mp3 @ 0x1cad4a0] Header missing
WARNING: error decoding audio

But afterwards it does give me the correct fingerprint. So it seems to work.

The bad thing is that I can't use beet anymore, because my screen gets spammed with error messages, and I have to scroll WAY up to see what beets wants from me (Skip? Not? Select?).

I think this needs fixing -- please supress these messages or make them print synchronously at last. Also, how do I see if my files were identified by tags or by acousid? I haven't seen a hint yet.

actual behaviour

My screen gets spammed with fingerprinting failed -- audio could not be decoded. But it SEEMS it works, but there is no way to know.

expected behaviour

Screen not getting spammed would be a start ;-) Tell the user, if it actually failed, or if the corrupt header was silently ignored. Or don't tell him if it could be ignored. Ask the user what to do if the file could not be read. Tell the user in a better way that the current track was identified by acoustid.

sampsyo commented 7 years ago

Hi! It looks like these might be beets issues, not problems with the fingerprinting library. Can you please file the issue over there?

When you do, we'd love to hear specific suggestions about where these errors should appear. I agree that just spamming log messages to the console is not ideal, but we need specific ideas about what to do instead.