如何查找没有 ID3 标签的 MP3 文件?

如何查找没有 ID3 标签的 MP3 文件?

我有很多 mp3 文件,没有任何 ID3 标签信息。这很烦人,因为我的 iPod 无法正确显示它们。
我的 Banshee 将它们显示为“未知艺术家”和标题。我想将它们全部找到,以便批量更新它们。

是否有捷径可寻?

答案1

您可以使用 Windows 资源管理器或 studiohack 提到的任何标记器来实现此目的。基本上,将所有 MP3 的列表加载到一个应用程序中,该应用程序将允许您按(例如)标题进行排序。

噢,刚刚看到你的 Linux 标签。无论你使用什么窗口管理器,你都可以使用类似的工具做同样的事情;这可能取决于你使用的 Linux 版本。

在 Explorer 中执行此操作:

  1. 按 Windows 键 -> F,或按开始菜单 -> 搜索 -> 搜索文件或文件夹(在 WinXP 中;在较新的操作系统中略有不同)
  2. 在存储 MP3 的硬盘上搜索名为“*.mp3”(不带引号)的文件
  3. 搜索完成后,请确保显示“标题”列(如果未显示,请右键单击列标题并选中“标题”复选框)。然后单击“标题”列标题进行排序。
  4. 列表顶部的所有文件都没有标题,也未加标签。

现在我想知道你打算如何处理所有这些文件。如果你只是要删除它们,你可以从那里开始。如果你想保留它们并标记它们,那么你可以使用其中一个标记器。如果你想快速标记它们,其中一些或全部都提供了一种从文件名设置 MP3 标签的方法。

有时没有标签的文件下载不完整或已损坏,因此可能是您的播放器在处理这些文件时出现问题,因为它们不是有效的 MP3 文件。

答案2

以下是一行 bash 代码:

find . -iname "*.mp3" -exec bash -c \
    'soxi "{}" | grep -q "^Artist" || echo "{}"' \;

这将查找所有 mp3 文件,使用soxi* 检查其元数据,echo如果没有“艺术家”标签(如果grep找不到任何内容),则使用 s 文件名。

您可以更改Artist为您关心的任何标签(例如TitleAlbum等等)。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 标签的情况下也能识别艺术家/歌曲/专辑。我不知道怎么做。

相关内容