我有很多 mp3 文件,没有任何 ID3 标签信息。这很烦人,因为我的 iPod 无法正确显示它们。
我的 Banshee 将它们显示为“未知艺术家”和标题。我想将它们全部找到,以便批量更新它们。
是否有捷径可寻?
答案1
您可以使用 Windows 资源管理器或 studiohack 提到的任何标记器来实现此目的。基本上,将所有 MP3 的列表加载到一个应用程序中,该应用程序将允许您按(例如)标题进行排序。
噢,刚刚看到你的 Linux 标签。无论你使用什么窗口管理器,你都可以使用类似的工具做同样的事情;这可能取决于你使用的 Linux 版本。
在 Explorer 中执行此操作:
- 按 Windows 键 -> F,或按开始菜单 -> 搜索 -> 搜索文件或文件夹(在 WinXP 中;在较新的操作系统中略有不同)
- 在存储 MP3 的硬盘上搜索名为“*.mp3”(不带引号)的文件
- 搜索完成后,请确保显示“标题”列(如果未显示,请右键单击列标题并选中“标题”复选框)。然后单击“标题”列标题进行排序。
- 列表顶部的所有文件都没有标题,也未加标签。
现在我想知道你打算如何处理所有这些文件。如果你只是要删除它们,你可以从那里开始。如果你想保留它们并标记它们,那么你可以使用其中一个标记器。如果你想快速标记它们,其中一些或全部都提供了一种从文件名设置 MP3 标签的方法。
有时没有标签的文件下载不完整或已损坏,因此可能是您的播放器在处理这些文件时出现问题,因为它们不是有效的 MP3 文件。
答案2
以下是一行 bash 代码:
find . -iname "*.mp3" -exec bash -c \
'soxi "{}" | grep -q "^Artist" || echo "{}"' \;
这将查找所有 mp3 文件,使用soxi
* 检查其元数据,echo
如果没有“艺术家”标签(如果grep
找不到任何内容),则使用 s 文件名。
您可以更改Artist
为您关心的任何标签(例如Title
,Album
等等)。soxi
在正确标记的文件上运行以查看可用选项。
* 您可能需要libsox-fmt-mp3
在 sox 上安装(或类似程序)以使 soxi 能够处理 mp3 文件 [感谢 dirkt!]。
答案3
我只是建议:
sudo apt install id3v2
find . -type f -exec id3v2 -l {} + | grep "No ID3 tag"
示例输出:
./Jack Johnson/On and On/01 Times Like These.mp3: No ID3 tag
./Jack Johnson/On and On/11 Fall Line.m4a: No ID3 tag
./Jack Johnson/On and On/05 Gone.m4a: No ID3 tag
./Jack Johnson/On and On/09 Dreams Be Dreams.m4a: No ID3 tag
./Jack Johnson/On and On/15 Mediocre Bad Guys.m4a: No ID3 tag
正如您所见,m4a 文件本身就是一个问题,请进一步阅读:https://stackoverflow.com/questions/44895095/is-it-possible-to-add-id3-tags-to-m4a-files-using-mutagen
你还应该检查一下你的音乐播放器,在我的例子中,GNOME Music 和 Rhythmbox 甚至在没有 ID3 标签的情况下也能识别艺术家/歌曲/专辑。我不知道怎么做。