Введение
У меня есть довольно большая коллекция музыки в формате mp3. Естественно большую коллекцию нужно каким-то образом упорядочивать, очень помогают в этом теги id3.
Если я граблю новый компакт-диск в mp3-файлы, в первую очередь в простановке тегов может помочь cd-text - информация, которая может находиться уже на самом диске. Затем, если cd-text на диске не обнаружен, стоит попытаться воспользоваться функцией поиска информации на сервере cddb. При наличии неполной информации в тегах можно воспользоваться сервером MusicBrainz для получения недостающих полей.
Если я копирую mp3-файлы у друзей, перед занесением в свою коллекцию, я проверяю наличие тегов. Бывает, что теги неполные, поэтому лучше запросить поиск информации на сервере cddb. Бывает, однако, что русскоязычных исполнителей в cddb найти не удаётся, поэтому приходится довольствоваться имеющимися тегами.
Теги id3 бывают трёх версий:
- id3v1 - содержит поля "исполнитель", "альбом", "год", "композиция", "комментарий", "жанр",
- id3v1.1 - содержит дополнительное поле "номер дорожки",
- id3v2 - содержит гибкую структуру полей, позволяет добавлять собственные поля. (Собственно широко распространены две подверсии - id3v2.3 и id3v2.4, но для этой статьи это не важно).
В Linux некоторые плееры позволяют указывать 8-байтную кодировку для idv3-тегов и для отображения информации в списке воспроизведения перекодируют текст на лету. Другие плееры занимают принципиальную позицию и строго придерживаются стандарта. Они отображают правильно только текст в ASCII-кодировке.
Однако выход из этой ситуации есть. Теги id3v2 поддерживают хранение текста в кодировке Unicode, и поэтому проблем с кодировками у них нет.
Так вот, когда ко мне попадают файлы с тегами id3v1 в кодировке cp1251, и для этих файлов не удалось найти информацию на сервере cddb, я могу воспользоваться программой, которая перекодирует id3v1-теги в теги id3v2.
Перекодирование id3-тегов из CP1251 в Unicode
Рецепт, видимо, подсмотрел здесь: http://vnaum.com/stuff/mp3tags.html Хотя не уверен, может быть взял из другого места.
Для этого ставим пакет mutagen, позволяющий редактировать различные виды музыкальных тегов:
# aptitude install python-mutagenПереходим в каталог с музыкой, скопированной у друзей, пользующихся Windows. Ищем в текущем каталоге файлы по расширению mp3, для каждого из найденных файлов меняем кодировку, удаляем теги версии 1, записываем теги версии 2:
$ find . -iname "*.mp3" -print0 | xargs -0 mid3iconv -e CP1251 -d --remove-v1Описание опций:
-d - выводить на экран исправленные теги,
-e [codepage] - исходная кодировка тегов,
-remove-v1 - удалить исходные теги версии 1.
Я перепробовал несколько программ для редактирования тегов, в том числе EasyTag и Kid3. Эти программы хорошо справляются с ASCII-текстом, но при использовании символов из Unicode, они обе сходят с ума и начинают прописывать в теги всякую чушь. К сожалению с их помощью я успел загубить теги в mp3-треках нескольких исполнителей, поэтому пользоватьcя в дальнейшем ими я не собираюсь.
Редактирование id3-тегов из графического интерфейса
Поиск в репозитории программ для редактирования id3-тегов из графического интерфейса дал следующие результаты:
1. Kid3 - использует KDE, в etch совершенно не пригоден для редактирования id3v2-тегов, хотя соответствующая форма для редактирования id3v2 имеется. В lenny научился понимать теги id3v2.3 и id3v2.4, вполне пригоден для редактирования. Имеется лишь одно небольшое неудобство - отсутствие дерева для навигации по файловой системе, заточен в первую очередь на индивидуальное редактирование тегов отдельных треков.
2. EasyTag - использует GTK, в etch проставлял id3v2-теги так, что некоторые программы их не понимали, в lenny не проверял, но скриншот сделал:
3. TagTool - использует GTK, совершенно кривое поделие,
4. Пакет mp3info-gtk и утилита gmp3info из него - подвержена той же болезни, что и её консольный собрат - поддерживает только id3v1 и id3v1.1.
Состоит из двух раздельных окон. В первом окне можно выбрать mp3-файл (только один), который будем редактировать. После выбора файла нужно нажать кнопку "Ok".
После этого первое окно закроется, откроется второе, в котором можно отредактировать теги выбранного файла. После закрытия второго окна программа завершается и для редактирования тегов другого файла нужно запускать её заново.
5. Ex Falso - использует GTK+ и библиотеку mutagen, программа отличная, пользуюсь с удовольствием. Все необходимые функции имеются.
Несколько особняком от графических утилит для редактирования id3-тегов стоит программа Picard, предназначенная для поиска информации о mp3-треках по базе данных MusicBrainz. Для собственно редактирования id3-тегов она малопригодна.
Сначала нужно добавить в программу mp3-файлы и объединить их в кластер, если предполагается, что файлы составляют альбом.
После этого можно начать процесс сканирования. Программа найдёт группу логически связанных друг с другом файлов, наиболее подходящую к файлам из кластера. При поиске учитывается множество факторов: длительности треков, названия файлов и папок, имеющиеся теги, информация из других файлов кластера. Программа оценивает эвристическими методами схожесть конкретного файла с файлом, информация о котором уже есть в базе и выдаёт наиболее точно соответствующую запись из базы MusicBrainz:
Для редактирования новых тегов, как я уже заметил выше по тексту, я пользуюсь программой Ex Falso.
Это GTK+ программа, поэтому выглядит она не очень красиво, но зато прекрасно умеет проставлять теги, которые одинаково правильно читаются в большинстве программ. Во всяком случае amaroK читает их прекрасно.
Установить программу лучше вместе с рекомендованными зависимостями:
# aptitude install --with-recommends exfalsoПри этом также будут установлены плагины для получения информации из баз данных CDDB и MusicBrainz, которыми я успешно пользуюсь. Есть ещё довольно большое количество плагинов, один из которых может пригодиться и вам.
При обновлении с Etch на Lenny в Ex Falso пропал плагин, умеющий запрашивать информацию из MusicBrainz. Вместо него можно воспользоваться программой Picard, которую можно установить следующей командой:
# aptitude install picardВыбору риппера компакт-дисков я посвятил отдельную статью CD-рипперы в Linux. Для прослушивания музыки пользуюсь в основном Amarok.
8 комментариев:
Про Ex Falso слышу впервые, надо будет протестировать. Меня всегда выручал и выручает EasyTag. Он, конечно, тяжеловат, но свое дело знает :-)
Большое спасибо за подробную статью. Особенно полезным оказался раздел про перекодирование тегов - мучался я с ними немеряно, пробовал и разные проги, и практически вручную ковырялся - все никак толком не получалось. Теперь все ОК)))
спасибо за обзор, долго искал редактор тегов, пользовался tag&rename под вайном, потом easytag , но не хватало парочки опций, что делало ее не удобной, а ex falso самое то...где она раньше была :)
спасибо огромное. Ex Falso великолепен
Если разобраться, то лучьше KID3 ничего нет. особенно для массового редактирования тегов.
>Если разобраться, то лучьше KID3 ничего нет. особенно для массового редактирования тегов.
Ваши слова против моих:
Если разобраться, то лучше ExFalso ничего нет. Особенно для массового редактирования тегов.
Если не согласны, приведите пару примеров, когда Kid3 удобнее ExFalso.
mid3iconv не исправляет тэг Comment
для полноты обзора надо заметить, что есть еще один пакет https://sourceforge.net/projects/tag2utf/ , но тот не исправляет даже Composer.
Спасибо за обзор. Ничтоже сумняшеся установил ExFalso и вуаля!
Отправить комментарий