将mp3标记的值复制到一批mp3文件的另一个标记



我有一个大的MP3目录,不知何故,文件的album标签(或album names)的值(对于所有这些文件,数百)实际上是artist标签(或artist names)的值,反之亦然。

现在我必须相互复制值,以便为目录中的每个文件交换它们。或者我可以交换标签名。我只想让artist标签显示艺术家的名字,album标签显示专辑的名字。

应该如何做批量编辑?

不幸的是,mp3的标签相当棘手,但下面的python脚本(需要库mutagen)为ogg和flac做了工作,至少解决了我自己的问题。

#! /usr/bin/env python
# Copyright (c) 2011 kaleissin
# MIT License, see http://www.opensource.org/licenses/mit-license.php
import mutagen
import os
import os.path
if len(sys.argv[1:]) < 1:
    print "Usage: %s <file> [file..]" % os.path.basename(__file__)
for filename in sys.argv[1:]:
    audio = mutagen.File(filename)
    audio['artist'], audio['title'] = audio['title'], audio['artist']
    audio.save()

ID3 Mass Tagger (https://github.com/squell/id3)应该有帮助。

在所有mp3文件中交换艺术家和专辑字段。

id3 -a %l -l %a "*.mp3"
Sets keys:
-a sets the artist key
-l sets the album key
Substitutes of current key values:
%t title
%a artist
%l album title
%n track number
%y year
%g genre
%c comment field
%f file name (without path)
%p path to filename

从python-mutagen库中查看mid3cp工具,它可以完全满足您的需求。

在Ubuntu下,它是默认不安装的,但如果你简单地把这个文件的内容放在/usr/bin并使其可执行,它就可以工作了。

最新更新