看到几个没有明确答案的 SO 问题;这个好像动作最多。我也遇到了这个问题,但很明显这个错误与任何人的特定 Python 脚本无关。您可以通过运行命令行 eyeD3 工具来判断,如下所示(输出缩写):
% 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
您可以通过这种方式查看有关 LAME 标签的更多信息:
% 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
我还没有真正研究过它,但我对它的工作原理的猜测是计算的 CRC 与标签中的不匹配?
不幸的是,我不确定如何使用 eyeD3 或任何其他工具实际修复 LAME 标签。但是,我能够修复警告的是重新编码并覆盖文件(在 Mac 上我使用了“切换声音文件转换器”程序)。LAME 标签似乎在这个过程中丢失了(这是有道理的,因为 LAME 与编码有关):
% 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
和
% 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
因此警告消失了(注意 ID3 标签版本也更改为旧版本......然后我使用了一个名为 Tagr 的程序来更新标签并写回最新版本)。我目前不确定该怎么做,但我很想知道是否有其他人对使用不同的工具有想法,或者对这一切如何运作有更深入的了解。