изменение кодировки тэгов песен в linux


Частенько вместо нормальных тэгов в своем любимом аудио плеере мы видим что-то наподобие:

вЕТЙММЙК   уРМЙО   мХЮЫЕЕ

Битая кодировка, скорее всего CP1251, реже KOI8-R.

Есть несколько нехитрых способов поправить кодировку.

  1. Устанавливаем 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
    
  2. Скачиваем 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.