我文件夹中有几首歌曲,我想向其中添加艺术家、标题、流派和专辑的元数据项。我想从文件名本身中获取标题和艺术家的元数据信息。
例如:我有一个名为的歌曲文件Melvv - Glide.mp3
。我想从文件名中取出艺术家的名字Melvv
和歌曲的标题Glide
并将其添加为元数据。对于专辑和流派,我会自己添加。
- 有没有办法可以通过
bash
或在 Linux 环境中做到这一点python
? - 有没有办法可以在 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%”,例如,如果您的文件(以数字、空格、破折号、空格和标题命名)位于每个专辑的文件夹中,而这些专辑本身位于每个艺术家的文件夹中。