Исправление кодирования тегов ID3 ​​с помощью мутагена

Я пытаюсь исправить кодировку тегов ID3, чтобы мой Nokia Lumia 630 с windows 8 на борту правильно отображал кириллические буквы. Я делаю это с mutagen:

# -*- coding: utf-8 -*-
import os
import mutagen.id3

for path in [u'Sergei Babkin - Aleksandr [pleer.com].mp3']:
    id3 = mutagen.id3.ID3(path)
    for key, value in id3.items():
        if key in ['TIT2', 'TPE1']:
            value.text = [u'тест']
            value.encoding = 1
    id3.save()

Изначально некоторые песни отображались правильно. После моих экспериментов даже у них теперь нет удобочитаемых имен. Но мало что изменилось. А именно, результат mid3v2 был таким:

$ mid3v2 --list-raw Sergei\ Babkin\ -\ Aleksandr\ \[pleer.com\].mp3 
Raw IDv2 tag info for Sergei Babkin - Aleksandr [pleer.com].mp3
TYER(encoding=1, text=[u'2007'])
TIT2(encoding=1, text=[u'\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440']) 
USLT(encoding=0, lang='eng', desc=u'', text=u' ') 
TRCK(encoding=1, text=[u'9']) 
TPE1(encoding=1, text=[u'\u0421\u0435\u0440\u0433\u0435\u0439 \u0411\u0430\u0431\u043a\u0438\u043d']) 
TALB(encoding=1, text=[u'\u041c\u043e\u0442\u043e\u0440'])
TCON(encoding=1, text=[u'(12)Other'])

(Вот почему я устанавливаю value.encoding = 1 в своем скрипте, но я также пробовал кодировать 3.) А ​​теперь это примерно так:

$ mid3v2 --list-raw Sergei\ Babkin\ -\ Aleksandr\ \[pleer.com\].mp3 
Raw IDv2 tag info for Sergei Babkin - Aleksandr [pleer.com].mp3 
TDRC(encoding=0, text=[u'2007']) 
TIT2(encoding=1, text=[u'\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440']) 
USLT(encoding=0, lang='eng', desc=u'', text=u' ') 
TRCK(encoding=1, text=[u'9']) 
TPE1(encoding=1, text=[u'\u0421\u0435\u0440\u0433\u0435\u0439 \u0411\u0430\u0431\u043a\u0438\u043d']) 
TALB(encoding=1, text=[u'\u041c\u043e\u0442\u043e\u0440'])
TCON(encoding=1, text=[u'Other'])

Не уверен, что могло измениться TCON. Вдобавок mp3info теперь говорит:

$ mp3info Sergei\ Babkin\ -\ Aleksandr\ \[pleer.com\].mp3
File: /home/yuri/Downloads/music/бабкин/Sergei Babkin - Aleksandr [pleer.com].mp3
Title:   ????                           Track: 9
Artist:  ????
Album:   ?????                          Year:  2007
Comment:                                Genre: Other [12]

Перед использованием mutagen он отображал кириллические буквы.

Итак, есть ли способ узнать точную кодировку того, что находится в тегах ID3? Не могли бы вы знать, как заставить его работать? Что я делаю неправильно?

UPD У меня есть mp3-файл, который мой мобильный телефон отображает правильно. Есть подсказки?


person x-yuri    schedule 21.05.2015    source источник


Ответы (1)


Пока я столкнулся со следующими проблемами. Во-первых, мой телефон неправильно обрабатывает теги id3v2.4 (то есть приложение «Музыка» в Windows 8). Сохранение как id3v2.3 помогает. Как говорится в в Википедии:

Windows Explorer и Windows Media Player не могут обрабатывать теги ID3v2.4 в любой версии, вплоть до Windows 8 / Windows Media Player 12. Windows может понимать ID3v2 до версии 2.3 включительно. [13] [14]

Во-вторых, у меня был

P.S. mp3info не поддерживает ни unicode, ни id3v2 .

P.S. Некоторые полезные ссылки, касающиеся mp3 формат.

person x-yuri    schedule 30.05.2015