Музыку любят все. Порядок тоже. Но, к сожалению, редкая музыкальная коллекция может похвастаться тем, что в ней царит идеальный порядок. Теги в разных кодировках, один и то же исполнитель называется по-разному, файлы имеют совершенно неинформативные имена. Это дело нужно и можно исправить.
Предполагается, что пользователь уже установил систему и подключил репозитории PLF и EduMandriva. Если это не так, то прежде посетите страницу Easy Urpmi.
Проблема 1. Все теги – в юникод.
Для этого могут потребоваться три программы – mid3iconv, tag2utf и EasyTag. Это по максимуму – на практике вполне хватает одной. Мне больше нравится первая, но возможности других пошире. В-общем, тут как раз тот самый случай. когда на вкус и цвет товарищей нет.
Mid3ionv входит в состав пакета mutager. Да-да, я не ошибся – именно mutagen, а не python-mutagen, как написано в инструкциях для пользователей Ubuntu. Разумеется, речь идет об одном и том же, просто названия разные.
Итак, действие первое – открыть терминал, набрать su, пароль, и ввести urmpi mutagen.
Действие второе – перейти в каталог с музыкой и выполнить там команду
find -iname ‘*.mp3? -print0 | xargs -0 mid3iconv -eCP1251 –remove-v1
Это, если вы накачали музыку с тегами в кодировке cp1251. Если исходная кодировка другая (ну, оригиналы тоже встречаются), то вместо cp1251 укажите ее.
Достоинство этого метода – одной командой решаются все проблемы. Недостаток – если у вас изначально зоопарк кодировок, то сперва придется разложить музыку по каталогам соответственно с кодировками, а потом уже приступать к ремонту. Конечно, если заранее известна кодировка «исходников». А если нет?
Тогда лучше использовать tag2utf. Это скрипт на языке python, для работы которого нужен пакет python-eyed3.
Действие первое – установить python-eyed3. Консоль, su, пароль, urpmi python-eyed3.
Действие третье – сделайте файл исполняемым. Команда – chmod a+x <путь>/tag2utf
Действие четвертое – запустите скрипт в каталоге с музыкой. Работает программа в диалоговом режиме. Она сперва покажет вам результат перекодирования из cp1251 и koi8-r, чтобы вы сами выбрали читабельный.
Достоинство метода – теоретическая всеядность. Недостаток – требуется постоянно нажимать на кнопки, что требует времени.
Поскольку EasyTag так или иначе устанавливать придется для других целей, то почему бы не использовать ее и для этой? Консоль, su, пароль, urpmi easytag.
Запустите программу и в ее настройках установите опции на вкладке «Настройки тегов ID3? так, как показано на скриншоте. По умолчанию там почти все, как надо – только снимите «галку» с «Записывать тег ID3v1.x». Выделите все файлы в каталоге, где хранится музыка в «неправильной» кодировке и нажмите на кнопку «Сохранить файлы».
Достоинство – наглядность, за что и любят графический интерфейс. Недостаток – уж очень много приходится мышкой двигать, это время можно на что-то более полезное употребить.
Как нетрудно заметить, одна и та же операция может выполняться несколькими способами. Теоретически все они должны давать желаемый результат. Однако, практика может показать иное. Но с этим разберемся позже, на полевых испытаниях.
Проблема 2. Один исполнитель – одно имя.
Допустим, скачали вы дискографию любимого исполнителя. Запустили какой-нибудь «умный» плейер и обнаружили, что количество музыкантов увеличилось более, чем на одну запись. Как нетрудно догадаться, все дело в том, что теги каждый заполняет как сам считает нужным и правильным.
Например, Борис Борисович Гребенщиков может быть просто Борисом Гребенщиковым, может – БОРИСОМ ГРЕБЕНЩИКОВЫМ, может – БГ, может – «Аквариум» и т.д., и т.п.
Исправить такое безобразие поможет программа EasyTag.
Запустите программу, выделите все файлы одного исполнителя, введите в поле «Исполнитель» то имя, которые вы считаете правильным, активируйте режим «Записать в теги выделенных файлов…» (квадратик рядом с полем) и нажмите на кнопку «Сохранить файлы». Точно так вы можете исправить все «общие» теги, если какой-то из них вас не устраивает.
Как видите, EasyTag – очень мощный инструмент для работы с тегами. Возможно, лучший из существующих. Полагаю, что его возможности значительно превосходят те, что я тут описал. Но я руководствуюсь принципом, согласно которому проблемы должны решаться по мере их поступлению. Будут другие вопросы – будем разбираться дальше.
Конечно, с таким подходом можно поспорить – никогда не мешает заранее соломки подстелить. Но заполнение тегов – не жизненно важная задача. Короче, денег мне за ее решение не платят.
Поэтому, остальное – на потом. Если надо будет.
Проблема 3. Долой названия Track N.
С одной стороны – проигрыватели показывают теги, поэтому название файла особо не важно. С другой – во всем хочется порядка.
И тут поможет EasyTag. Выделите файлы в актуальном каталоге, нажмите на кнопку «Сканировать файлы», установите режим сканера «Переименовать файл и каталог» и выберите в списке наиболее подходящий вариант. Я считаю оптимальным – номер трека и название композиции. Что-то большее – уже перебор. Не думаю, что будет приятно, если имя файла не влезет в MC или другой файловый приказчик.
А теперь перейдем от теории к практике.
Полевые испытания.
В качестве «исходника» использовался альбом «Лошадь белая», честно купленный на «Кругах». Правда, я сперва немного похулиганил – вручную изменил тег «Исполнитель» в одном из файлов. Результат виден на картинках.
Названия файлов, как нетрудно заметить, совершенно неинформативные. Плейер MOC не смог правильно отобразить тег первой композиции, а исполнителем второй значится не «Аквариум», а «БГ» (это как раз я заранее похулиганил для полноты эксперимента).
Сначала попробуем скрипт tag2utf. Будучи запущенным в каталоге с музыкой, он не задал ни единого вопроса. Результат – нулевой, поэтому скриншот выкладывать не буду. Как MOC не понимал первой строки, так и не понимает.
Зато mid3iconv и EasyTag показали себя с самой лучшей стороны. Вот доказательство (скриншот один, поскольку результат одинаков).
О причинах этого судить не берусь. Поскольку теги всех файлов, кроме первого, читались с самого начала, то очень может быть, что в первой композиции с тегом было что-то не так помимо кодировки. И наши испытуемые ошибку исправили.
За этом им только лишний балл надо ставить. Не просто «пять», а «пять с плюсом».
Разумеется, с mid3iconv мороки было меньше. Если говорить конкретно, то просто набрать одну команду в консоли.
А если лень и это, то скопировать, вставить и нажать на «Ввод». Назовите мне более «юзерофильный» способ! Хотя командная строка и все такое. Лишний раз доказывает, что ни от чего нельзя заранее отмахиваться – все в жизни пригодиться.
Обращаю ваше внимание на то, что испытание проводилось на одном каталоге с несколькими файлами. А если каталогов будет больше? Десять или сто? Вот тут консольная команда наверняка покажет свою силу и дружелюбие.
По крайней мере, она точно работает быстрее. Даже на десятке файлов это заметно. Но ведь реальная коллекция намного больше.
Теперь займемся названиями файлов. Прошу убедиться в том, что EasyTag свое дело туго знает:
И последнее. Заменим «БГ» на «Аквариум». Вот результат: