2

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

现在我必须相互复制这些值,以便为目录中的每个文件交换它们。或者也许我可以交换标签名称。我只希望artist标签显示艺术家姓名和album标签显示专辑名称。

应该如何进行批量编辑?

4

3 回答 3

1

不幸的是, 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()
于 2011-09-02T14:13:43.433 回答
0

ID3 Mass Tagger (https://github.com/squell/id3) should help. Works on Windows and Linux.

Swap artist and album fields in all mp3 files.

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

Use on a sample first.

于 2016-06-10T01:04:29.900 回答
0

查看 python-mutagen 库中的mid3cp 工具,它完全符合您的要求。

在 Ubuntu 下,默认情况下不会安装它,但如果您只是将这个文件的内容放入/usr/bin并使其可执行,它就可以工作。

于 2019-04-20T09:54:36.983 回答