Частенько вместо нормальных тэгов в своем любимом аудио плеере мы видим что-то наподобие:
вЕТЙММЙК уРМЙО мХЮЫЕЕ
Битая кодировка, скорее всего CP1251, реже KOI8-R.
Есть несколько нехитрых способов поправить кодировку.
Устанавливаем Python-mutagen.
sudo apt-get install python-mutagen
Потом переходим в директорию с файлами и выполняем (если кодировка cp1251):
find . -name "*.mp3" -print0 | xargs -0 mid3iconv -e CP1251 -d
Вот собственно все опции этой проги:
mid3iconv --help Usage: mid3iconv [OPTION] [FILE]... Mutagen-based replacement the id3iconv utility, which converts ID3 tags from legacy encodings to Unicode and stores them using the ID3v2 format. Options: --version show program's version number and exit -h, --help show this help message and exit -e ENCODING, --encoding=ENCODING Specify original tag encoding (default is UTF-8) -p, --dry-run Do not actually modify files --force-v1 Use an ID3v1 tag even if an ID3v2 tag is present --remove-v1 Remove v1 tag after processing the files -q, --quiet Only output errors -d, --debug Output updated tags
Скачиваем tag2utf и устанавливаем python-eyed3
sudo apt-get install python-eyed3
Когда все скачалось и установилось, переходим в директорию с музыкой и запускаем скрипт без параметров. Он покажет, сколько файлов найдено и предложит выбрать из двух кодировок для преобразования. Все пройдет легко и непринужденно.
Вот все опции этого скрипта:
tag2utf-0.16.py --help Tool for encoding tags of mp3 files in the russian 1-byte charsets to unicode Usage: tag2utf [DIRECTORIES] (By default files will be searched in the current dirrectory) Modes: --restore : programm will try to restore tags, that was broken by not right user choise --help, --version, --usage - view this text Version 0.12 author = "Kopats Andrei" hlamer@tut.by Bugfix: Yarmak Vladislav chayt@smtp.ru This program is distributed under the terms of the GPL License. TODO: undo changes, Charsets will be in the config file or command line, for encoding not only from cp1251 and koi8-r GUI If you need to encode tags from different charset using this version, you can modify script, it's very easy to do.