如何批量更改 MP3 文件的元数据?

如何批量更改 MP3 文件的元数据?

我文件夹中有几首歌曲,我想向其中添加艺术家、标题、流派和专辑的元数据项。我想从文件名本身中获取标题和艺术家的元数据信息。

例如:我有一个名为的歌曲文件Melvv - Glide.mp3。我想从文件名中取出艺术家的名字Melvv和歌曲的标题Glide并将其添加为元数据。对于专辑和流派,我会自己添加。

  1. 有没有办法可以通过bash或在 Linux 环境中做到这一点python
  2. 有没有办法可以在 Windows 环境中做到这一点?

答案1

我做了类似的事情,尽管我没有添加相同的信息(我添加的只是专辑封面。)

你需要这个包裹eyeD3

对于我的特定用途,我使用以下命令行(我将其合并到 bash 脚本中,您当然可以使用 python):

eyeD3 --genre= --to-v2.3 --no-tagging-time-frame --remove-comments --add-image=$BASEPATH/$RELPATH/folder.jpg:OTHER:folder.jpg $SONG.mp3"

在这里,我将删除所有现有的流派设置,确保格式为 ID3v2.3,删除注释,并添加专辑封面。我之前已确保每张专辑的源目录都包含一个名为的文件,folder.jpg其中包含专辑封面。 eyeD3在命令行中支持您想要的所有元数据,您可以根据需要对其进行自定义。

for i in *.mp3; do
  SONG=`basename "$i" .mp3`
  ARTIST=`echo "$SONG" | awk -F " - " '{print $1}'`
  TITLE=`echo "$SONG" | awk -F " - " '{print $2}'`
  eyeD3 --artist "$ARTIST" --title "$TITLE" "$SONG.mp3"
done

答案2

在 Windows 上,您可以使用 Mp3标签:免费、批处理和文件名后标记。

在此处输入图片描述

答案3

这是我以前使用Foobar2000. 在 Wine 下运行良好。

在 Foobar2000 中打开文件,打开上下文菜单并查找“标记”、“管理脚本”。然后查找操作“从文件名猜测值”。

猜测模式类似于“%artist%\%album%\%tracknumber% - %title%”,例如,如果您的文件(以数字、空格、破折号、空格和标题命名)位于每个专辑的文件夹中,而这些专辑本身位于每个艺术家的文件夹中。

相关内容