清除 ID3v1 标签库的副作用

清除 ID3v1 标签库的副作用

不幸的是,Google Music 在解读我的音乐时出现了一些奇怪的问题。我对如何标记和管理我的音乐收藏感到很困惑;我花了长的我去年花了很多时间检查了每一位艺术家和每张专辑的 20 场演出的音乐,添加图片,修改元数据等。

当我将内容上传到 Google Music 时,它的表现相当糟糕。例如,我使用 EasyTag 来管理我的音乐库,但不幸的是,它不支持专辑艺术家 ID3 标签,只支持艺术家标签。Google Music 更多地根据专辑艺术家而不是艺术家来提示,因此这通常会将专辑拆分。

所以,事情就到了这一步。我可以编写一个 Python 脚本来遍历我的音乐库,删除歌曲中的 ID3v1 标签以及我主要不感兴趣的所有其他标签。这样做会有什么副作用吗?ID3v2 是否得到很好的支持?

答案1

删除 ID3v1 不会造成任何问题;它解决其中很多。(例如,非拉丁字符支持。)

然而:

  • v2.3 受到广泛支持,v2.4 也是如此,但有些程序会拒绝读取 v2.4 标签 - 例如 Windows 资源管理器。
  • 另一方面,v2.3 规范对于“多个值”使用/作为分隔符,因此无法输入“AC/DC”这样的艺术家。
  • ID3v2 允许多种编码 - ISO-8859-1、UCS-2/UTF-16 和 UTF-8。
    • 有些程序可以读取 UTF-8 但不能读取 UCS-2/UTF-16。
    • 有些程序可以读取 UCS-2/UTF-16 但不能读取 UTF-8。
    • 有些程序写入的是UTF-8但却将其标记为ISO-8859-1,导致正确编写的程序显示乱码。
  • 对于一些ID3帧名称存在分歧。
    • foob​​ar2000 使用TXXX:replaygain_track_gain,而其他程序使用RVA2
    • QuodLibet/ExFalso 使用TXXX:QuodLibet::albumartist,而其他程序使用TPE2

仍然,我总是建议删除 v1 标签,因为它们可能会造成很多混乱——尤其是当一个程序写入 v2 而另一个程序试图读取 v1 时。

不幸的是,有些播放器会在编辑标签时重新添加 v1;请避免这种情况。我通常使用 foobar2000 或 进行所有重新标记mid3v2;其他好工具是 eyeD3 和 Ex Falso(但它们不支持标准的“专辑艺术家”框架)。

对于 v2 版本,转换为 v2.4看看它是否有效。如果不行,请提交错误报告并尝试编码(eyeD3 --force-update --set-encoding=utf16-BEutf8utf16-LE)和/或转换为 v2.3(eyeD3 --to-v2.3)。

(此外,ID3v2.2 已经过时了。不要理会它。)

相关内容