如何*完全*擦除 MP3 的元数据?

Cpt*_*rkt 29 mp3 id3

我正在使用“甜菜”来组织我的 mp3。我从亚马逊购买的一张 mp3 专辑被错误地标记为不是合辑,而实际上它是合辑。我根据专辑是否是合辑来组织我的文件。无论我尝试对这些 mp3 做什么,我对 ID3 标签所做的更改都不会保持不变。

例如:

mp3info -d ../amazon_album/*  # This WIPES the tags
mp3info ../amazon_album/01-01 - Track 1.mp3 
../amazon_album/01-01 - Track 1.mp3 does not have an ID3 1.x tag.
Run Code Online (Sandbox Code Playgroud)

但是当我在任何媒体播放器中打开文件时,所有信息仍然存在!

然后我尝试了:

mp3info -a "LOL" ../amazon_album/*
mp3info  ../amazon_album/01-01 - Track 1.mp3
File: ../amazon_album/01-01 - Track 1.mp3
Title:                                  Track: 
Artist:  LOL
Album:                                  Year:  
Comment:                                Genre:  [255]
Run Code Online (Sandbox Code Playgroud)

然而,在任何媒体播放器中,它仍然保留了所有原始信息。因此,我无法将专辑更改为“合辑”,这意味着我无法按照自己想要的方式在 Beets 中组织它。

我已经确认这不是文件权限问题。难道我做错了什么?有没有另一种方法可以在 Linux 中实现这一点?或者有没有办法可以“欺骗”甜菜将其视为编译(以便它使用我的编译路径)?

slm*_*slm 15

要从 mp3 文件中去除 id3 标签,您可以使用该工具id3convert。它有一个叫做“strip”的开关,-s或者--strip

-s --strip 去除标签而不是渲染(默认=关闭)

例子

注意:包括 id3v1 和 id3v2 标签

$ id3info a.mp3 

*** Tag information for a.mp3
=== TIT2 (Title/songname/content description): Feist - I Feel It All
=== COMM (Comments): (ID3v1 Comment)[XXX]: Music video by Feist performin
*** mp3 info
MPEG2/layer III
Bitrate: 8KBps
Frequency: 22KHz
Run Code Online (Sandbox Code Playgroud)

跳闸

$ id3convert -s a.mp3 
Converting a.mp3: attempting v1 and v2, stripped v1
Run Code Online (Sandbox Code Playgroud)

$ id3info a.mp3 

*** Tag information for a.mp3
*** mp3 info
MPEG2/layer III
Bitrate: 8KBps
Frequency: 22KHz
Run Code Online (Sandbox Code Playgroud)

参考


nev*_*ves 11

另一个具有存在于 Ubuntu 存储库中的优势的工具是eyeD3. 这是命令:

eyeD3 --remove-all music.mp3
Run Code Online (Sandbox Code Playgroud)


Zel*_*lda 9

mp3info只编辑ID3v1标签,需要使用eyeD3id3v2等支持ID3v2的程序

更舒服的是使用MusicBrainz Picard来标记您的 MP3 文件(使用下面的诱变剂库)。

由于 mp3info 仅支持 ID3v1,因此无法删除/擦除嵌入在 MP3 流中的 ID3v2 信息。