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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将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)应该有所帮助。适用于Windows和Linux。

在所有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 tool,它完全符合您的要求。

在Ubuntu下它默认不安装,但是如果你只是将this文件的内容放在/usr/bin中并使其可执行就可以了。

以上是关于将mp3标签的值复制到一批MP3文件的另一个标签的主要内容,如果未能解决你的问题,请参考以下文章

使用 taglib# 提取 mp3 标签

将 id3 标签中 mp3 的标题更改为文件名

mp3标签设置哪种最好

正确读取被 ID3 标签破坏的 MP3 文件

Web Audio API:将 mp3 声音流合并到一个文件并在 <audio> 标签中播放

编辑和添加 mp3 的 ID3 标签