Как я могу * полностью * стереть метаданные MP3?

22

Я использую "свеклы", чтобы организовать мои mp3-файлы. Один альбом, который я купил у Amazon в виде 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.

Но потом, когда я открываю файл в любом медиаплеере, ВСЕ информация все еще там!

И тогда я попробовал:

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]

Тем не менее, в любом медиаплеере он по-прежнему сохраняет всю исходную информацию. Из-за этого я не могу изменить альбом на «Сборник», что означает, что я не могу организовать его в Beets так, как я хочу.

Я подтвердил, что это не проблема с правами доступа к файлам. Я делаю что-то неправильно? Есть ли другой способ сделать это в Linux? Или я могу «обмануть» свеклу, чтобы она воспринималась как компиляция (чтобы она использовала мой путь компиляции)?

CptSupermrkt
источник

Ответы:

9

mp3infoредактирует только теги ID3v1 , вам нужно использовать программу вроде eyeD3 или id3v2, которая поддерживает ID3v2

Более удобным является использование MusicBrainz Picard для маркировки файлов MP3 (используется библиотека мутагенов внизу).

Поскольку mp3info поддерживает только ID3v1, он не может удалить / стереть информацию ID3v2, встроенную в потоки MP3.

Zelda
источник
И свекла, и Пикард используют библиотеку мутагенов для маркировки файлов и данных с сайта MusicBrainz.org, поэтому переход от свеклы к Пикарду не сильно поможет. Конечно, часть о ID3v1 верна.
Виланд
Выберите «Параметры» -> «Параметры», а затем «Теги в Picard», и вы можете написать тег ID3v1 (не уверен, включен ли он по умолчанию). Это наверняка избавит от старой информации ID3v1.
Зельда
В Beets есть флаг, который позволяет отключить автоматическую пометку для импорта. В другом случае той же проблемы, которую я описал, я смог решить ее, изменив теги ID3v1, а затем повторно импортировав ее с отключенной автоматической пометкой из MusicBrainz. Это сохранило мои изменения и позволило мне импортировать альбом так, как я хотел. Я предполагаю, что разница между этим делом и этим делом - ID3v2 (о котором я не знал до этого поста). Теперь попробую что-нибудь вроде eyeD3 и id3v2, чтобы избавиться от этих тегов в этом альбоме Amazon.
CptSupermrkt
11

Чтобы удалить теги id3 из mp3-файла, вы можете использовать инструмент id3convert. Он имеет переключатель под названием «полоса», -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

полоса

$ 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

Ссылки

SLM
источник
9

Другой инструмент, который имеет преимущество существующих в репозиториях Ubuntu eyeD3. Вот команда:

eyeD3 --remove-all music.mp3
Невиш
источник
1

id3v2 -D foo.mp3

На Mac установите с помощью: brew install id3v2

Крис
источник
0

Ответ Зельды дает правильный ответ на мой вопрос. Оказывается, я действительно задавал неправильный вопрос, поэтому я решил добавить этот ответ будущему Гуглеру, который наткнулся на это.

Даже если бы я очистил теги (как 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

Я не прочитал достаточно кода, чтобы узнать больше деталей, потому что, как только я прочитал этот раздел, я попытался удалить имя преобладающего исполнителя и вуаля! Свекла импортировала его как сборник.

Для меня это не очень удачное решение, потому что я лично считаю альбом сборником, даже если на диске есть хотя бы один другой исполнитель (и это не «показ»). Все, что я могу сделать, это удалить имя преобладающего исполнителя, импортировать его, а затем вручную изменить исполнителя этих файлов, чтобы восстановить правильного исполнителя.

CptSupermrkt
источник