Linux: UTF-8 и ID3v2 в музыкальной коллекции.

Когда музыкальная коллекция становиться довольно объемной и в ней набирается большое количество разношерстных файлов, возникает желание все это дело как то привести к общему виду. Уже довольно давно, я собирался взяться за уборку в своей папке music и вот руки наконец таки дошли.
В первую очередь меня беспокоили абракадабры в плай листах. Хотелось чтобы все было красиво и по русски. Во вторую: ID3v1, которые в последнее время все чаще стали игнорироваться некоторыми плеерами.
Я уж было собирался взяться, за написание матерого перлового скрипта, и уже совсем было полез искать для него подходящие модули... но по ходу поиска модулей, я попал как раз туда куда было мне надо, хотя и не туда, куда хотел. Как оказалась все уже давно написано(хотя если подумать это не "оказалось", это всегда так есть, но не всегда про нашу честь Wink ).
mid3iconv скрипт на питоне, заточенный специально под наши цели, расспрастраняется в составе пакета mutagen ( http://code.google.com/p/mutagen/ ), базируется на id3iconv (http://www.cs.berkeley.edu/~zf/id3iconv/), очень прост в использовании и эффективен в работе.


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

Files are updated in-place, so use --dry-run first.

Для нас конечно ключевым является флаг --encoding . Большая часть музыки попадает ко мне с id3 тегами в кодировке windows-cp1251, я укажу ее. О другой части файлов с id3 тегами utf-8, беспокоится не нужно, с ними ничего не случится. Если у вас имеются файлы в кодировке koi8-r вам соответственно придется вычленить их из общего числа и перекодировать отдельно. Другой флаг который заслуживает внимания это --remove-v1 , архи нужная в нашем деле вещь, после перезаписи в id3 версии 2 , в случаи если этот флаг установлен, id3 версии 1 удаляется.
Умные люди из Интернетов используют эту утилиту таким образом:

find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1

Суть думаю ясна без комментариев. Запускаем из каталога в котором необходимо перекодировать id3 , и очень быстро, получаем нужный результат.
С задачей которая изначально стояла передо мной я справился так быстро, что мне даже поскучнело... ...В плеере красивые русские буковки... ни одного файла со старыми id3v1... так... с кодировками и тегами покончено и что дальше?

А дальше мы займется перекодированием файлов формата mp3 в его свободный аналог ogg, но это будет завтра... Wink а сейчас пора спать Smile

0
Ваша оценка: Нет

 


Новости Ижевска
Новости Можги
Новости Сарапула
Новости Глазова
Новости поселка Ува
Новости поселка Малая Пурга
Новости поселка Ува
Новости поселка Игра
Новости города Чайковский