Saw a couple SO questions without clear answers; this one seems to have the most action. I was experiencing this issue too, but it's clear the error has nothing to do with anyone's particular Python scripting. You can tell by running the command line eyeD3 tool as follow (output abbreviated):
% eyeD3 -v '03 - The Presidents Of The United States Of America - Lump.mp3'
eyed3.mp3.headers:WARNING: Lame tag CRC check failed
.../03 - The Presidents Of The United States Of America - Lump.mp3 [ 5.28 MB ]
ID3 v2.4:
title: Lump
artist: The Presidents Of The United States Of America
You can see more info about the LAME tag this way:
% eyeD3 -P lameinfo '03 - The Presidents Of The United States Of America - Lump.mp3'
eyed3.mp3.headers:WARNING: Lame tag CRC check failed
Encoder Version : LAME3.82U
LAME Tag Revision : 10
Music CRC-16 : 5555
LAME Tag CRC-16 : 5555
I haven't really looked into it, but my guess on how it works is that the CRC calculated doesn't match the one in the tag?
Unfortunately I'm not sure how to actually fix the LAME tag with eyeD3 or any other tool. However, what I was able to do fix the warning was re-encode and overwrite the file (on Mac I used the program "Switch Sound File Converter"). The LAME tag seems to be lost in the process (which would make sense since LAME is related to encoding):
% eyeD3 -P lameinfo '03 - The Presidents Of The United States Of America - Lump.mp3'
03 - The Presidents Of The United States Of America - Lump.mp3 [ 5.71 MB ]
-------------------------------------------------------------------------------
No LAME Tag
and
% eyeD3 '03 - The Presidents Of The United States Of America - Lump.mp3'
.../03 - The Presidents Of The United States Of America - Lump.mp3 [ 5.71 MB ]
ID3 v2.3:
title: Lump
And thus the warning goes away (note the change in ID3 tag versions to an older version too...I then used a program called Tagr to update the tags and it wrote back the newest version). I'm currently not sure how else to do it, but I'd love to know if anyone else has ideas on different tools to use or a deeper understanding on how this all works.
site-packages/eyed3/mp3/headers.py
line 578 or therabouts ... – Due