iTunes: кодировка id3 тегов, проблема с русскими названиями
November 13th, 2007 |
Меня давно раздражала проблема кривого отображения id3 тегов на русском в mp3 файлах в iTunes. Не было только времени решить этот вопрос раз и навсегда. Сегодня выкроил время и немного погуглил.
Немного о самой проблеме. Вообще нормальный современный софт для работы с mp3 должен использовать id3 теги версии 2.x. В ней реализована поддержка юникода (универсальной кодировки, просто говоря). Но как ведется не всегда вещи делаются как надо, поэтому достаточно часто попадаются mp3 файлы со старым форматом тегов id3 v1.x. Нам же нужно убить двух зайцев сразу – конвертировать теги id3v1 в id3v2 и конвертировать саму кодировку текста: из cp1251 в utf-8 (юникод). iTunes может только конвертировать id3v1 в id3v2, поэтому нужна сторонняя программа, которая разберется с кодировками.
Итак, быстро нашелся один вариант, описанный на macfaq.ru. Используется терминальная утилитка для конвертации тегов – id3iconv, работающая на Java.
Не могу сказать, что я не люблю Java, но этот вариант мне не сильно понравился. Особенно увидев что для каждого файла авторы предлагают запускать отдельный java-процесс.
find ~/Music/ -name "*.mp3" -exec java -jar ~/Desktop/id3iconv-0.2.1.jar -e cp1251 {} \;.
Поэтому я попытался найти какой-то софт для конвертации. Ничего не найдя, решил попробывать последний вариант. Так как у меня есть хороший опыт программирования на python плюс есть опыт и на ruby, решил попробывать написать свой конвертер из готовой библиотеки на одном из этих языков. Ища библиотеку наткнулся на интересный проект – Mutagen. Это API для работы с id3-тегами на Python. Но как же я был приятно удивлен, когда оказалось, что в проекте уже есть готовый скрипт для конвертации тегов.
Итак порядок установки:
- Скачиваем исходный код с сайта Mutagen.
- Устанавливаем через терминал командой
sudo python setup.py installиз директории с кодом. - Устанавливаем (в случае отсутствия) библиотеку для python – zlib. Команда
sudo port install py25-zlib. - Выполняем команду наподобии этой:
Посдавте только правильный путь к директории с mp3-файлами, которые надо конвертировать.find ~/Music/my_mp3 -name '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1 - Проверяем в iTunes кодировку.
Если у Вас возникли какие-либо трудности с установкой или выполнением команд – пишите в комментарии, я помогу.
Комментарии
Извините комментирование этой статьи закрыто.
December 2nd, 2007 at 06:38 PM
Как я понимаю это можно оформить в виде скрипта к Finder. Только полное отсутствие знаний не позволяет сделать это самостоятельно. Очень хотел бы получить помощь в этом вопросе.. Спасибо
December 4th, 2007 at 12:00 AM
Отличная тема для отдельного поста, надо будет попробывать реализовать.
December 11th, 2008 at 03:57 AM
огромное спасибо!!! вы меня спасли
December 14th, 2008 at 09:10 PM
ID3Mod - выручила http://www.macupdate.com/info.php/id/15953