web-dev-qa-db-ja.com

MP3のメタデータを「完全に」ワイプするにはどうすればよいですか?

「ビート」を使ってmp3を整理しています。 mp3としてAmazonから購入した1つのアルバムは、実際にはコンピレーションではないという誤った編集としてマークされていますISコンピレーション。アルバムがコンピレーションであるかどうかに基づいてファイルを異なる方法で編成します。これらの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.

しかし、メディアプレーヤーでファイルを開くと、すべての情報がまだ残っています。

それで私は試しました:

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]

それでも、どのメディアプレーヤーでも、元の情報はすべて保持されます。このため、アルバムを「コンピレーション」に変更することはできません。つまり、ビートに整理することができません。

ファイル権限の問題ではないことを確認しました。私は何か間違ったことをしていますか? Linuxでこれを達成する別の方法はありますか?または、ビートを「だまして」コンパイルとして処理する方法がありますか?

24
CptSupermrkt

mp3infoID3v1 タグのみを編集します。ID3v2をサポートする eyeD または id3v2 のようなプログラムを使用する必要があります

より快適なのは MusicBrainz Picard を使用してMP3ファイルにタグを付けることです(下にあるmutagenライブラリを使用します)。

Mp3infoはID3v1のみをサポートしているため、MP3ストリームに埋め込まれたID3v2情報を削除/ワイプすることはできません。

9
Zelda

Mp3ファイルからid3タグを取り除くには、id3convertツールを使用できます。 「ストリップ」と呼ばれるスイッチ、-sまたは--stripがあります。

-s --stripレンダリングの代わりにタグを取り除きます(デフォルト=オフ)

注:id3v1タグとid3v2タグの両方が含まれます

before

$ 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

ストリップ

$ id3convert -s a.mp3 
Converting a.mp3: attempting v1 and v2, stripped v1

$ id3info a.mp3 

*** Tag information for a.mp3
*** mp3 info
MPEG2/layer III
Bitrate: 8KBps
Frequency: 22KHz

参考文献

11
slm

Ubuntuリポジトリに存在するという利点を持つ別のツールはeyeD3です。コマンドは次のとおりです。

eyeD3 --remove-all music.mp3
9
neves

id3v2 -D foo.mp3

Macでは、次のようにインストールします:brew install id3v2

2
Chris

ゼルダの答えは私の質問に対する正しい答えを提供します。私が実際に間違った質問をしていたことが判明したので、私はこれにつまずく将来のGoogle社員のためにこの回答を追加したいと思いました。

タグをクリーンに消去して(ID3v1とID3v2の両方)、すべて手動で再入力した場合でも、ビートはコンパイルとしてインポートしません。

決定したところ、ビートのソースコードを無効にして問題を発見しました-あるアーティストが曲のアーティストとしてX回ポップアップすると、コンパイルではないと宣言する必要があるようです。少なくとも、これがimporter.pyのこのコードスニペットから収集したものです。

if task.choice_flag == action.ASIS:
    # Taking metadata "as-is". Guess whether this album is VA.
    plur_artist, freq = util.plurality([i.artist for i in task.items])
    if freq == len(task.items) or (freq > 1 and
            float(freq) / len(task.items) >= SINGLE_ARTIST_THRESH):
        # Single-artist album.
        changes['albumartist'] = plur_artist
        changes['comp'] = False
    else:
        # VA.
        changes['albumartist'] = VARIOUS_ARTISTS
        changes['comp'] = True

詳細を確認するのに十分なコードを読んでいませんでした。そのセクションを読むとすぐに、優勢なアーティストの名前と出来上がりを削除しようとしました!ビートはそれを編集物としてインポートした。

個人的にはディスクに他に1人のアーティストがいてもアルバムをコンピレーションと見なしているため(これは「特色」ではありません)、これは私にとっては良い解決策ではありません。私ができることは、一般的なアーティストの名前を削除してインポートし、それらのファイルのアーティストを手動で変更して正しいアーティストを復元することだけです。

0
CptSupermrkt