Что такое теги id3. Что такое MP3-теги и какое у них назначение

6 сентября 2010 в 15:53

Внутри MP3. А как оно всё устроено?

  • Алгоритмы

Однажды мне понадобилось решить простенькую (как мне тогда казалось) задачу – в PHP-скрипте узнать длительность mp3-файла. Я слышал о ID3 тегах и сразу подумал, что информация о длительности хранится либо в тегах, либо в заголовках mp3-файла. Поверхностные поиски в интернете показали что за пару-тройку минут решить эту задачу не получится. Поскольку от природы я довольно любопытен а время не поджимало - решил не использовать сторонние инструменты а разобраться в одном из самых популярных форматов самостоятельно.

Если Вам интересно, что там внутри – добро пожаловать под кат (трафик).

В данной статье мы не будем подробно останавливаться на извлечении ID3v2 тегов – это можно вынести в отдельную статью, так как там есть различные нюансы. А так же на фрагментах заголовков, которые практически не используются в настоящее время (например, часть Emphasis заголовка mp3-фрейма). Так же мы не рассматриваем структуру самих аудиоданных - тех самых, которые слышим из колонок.

ID3 теги

ID3 (от англ. Identify a MP3) - формат метаданных, наиболее часто используемый в звуковых файлах в формате MP3. ID3 подпись содержит данные о названии трека, альбома, имени исполнителя и т. д., которые используются мультимедиапроигрывателями и другими программами, а также аппаратными проигрывателями, для отображения информации о файле и автоматического упорядочивания аудиоколлекции.

Wikipedia

Существует две абсолютно разных версии ID3-данных: ID3v1 и ID3v2.

ID3v1 – имеет фиксированный размер в 128 байт, которые дописываются в конец mp3-файла. Там можно хранить: название трека, исполнитель, альбом, год, комментарий, номер трека (для версии 1.1) и жанр.

Довольно быстро всем стало понятно, что 128 байт – очень уж небольшое место для хранения таких данных. И поэтому, со временем, появилась и успешно используется вторая версия данных – ID3v2 .
В отличии от первой версии, теги v2 имеют переменную длину и размещаются в начале файла, что позволяет поддерживать потоковое воспроизведение. (Формат ID3v2.4 позволяет так же хранить данные и в конце файла).
Данные ID3v2 состоят из заголовка и последующих фреймов ID3v2. Например, в версии ID3v2.3 существует более 70 типов фреймов.

  • маркер всегда равен ‘ID3’
  • В данный момент имеются три версии ID3v2.2, ID3v2.3 и ID3v2.4
    Версия v2.2 считается устаревшей.
    v2.3 – самая популярная версия.
    v2.4 – набирает популярность. Одно из отличий от v2.3 в том, что позволяет использовать кодировку UTF-8 (а не только UTF-16)
  • Флаги . В настоящее время используются только три (5,6,7) бита:
    bin: %abc00000
    a ‘unsynchronisation’ – используется только с MPEG-2 и MPEG-2.5 форматами.
    b ‘Extended header’ – указывает на наличие расширенного заголовка
    с ‘Experimental indicator’ – эксперементальный индикатор
  • Длина . Особенность указания длины данных ID3v2 в том, что в каждом байте 7-й бит не используется и всегда установлен в 0.
Рассмотрим пример:

В данном случае вместе с заголовком ID3v2 (10 байт) – данные ID3v2 занимают 1024 байта.

После ID3v2-заголовка идут собственно теги. Подробный разбор чтения тегов ID3v2, как сказано выше, я решил не включать в эту статью.

Теперь у нас есть информация о наличии и длине тегов ID3 и мы можем приступать в разбору mp3-фрейма и понять-таки – где же хранится длительность. А заодно понять и всё остальное.

MP3-фрейм

Весь mp3-файл состоит из фреймов, которые можно извлекать только последовательно. Фрейм содержит в себе заголовок и аудио-данные. Поскольку мы не ставим себе целью написать прошивку для магнитофона – нас интересует именно заголовок фрейма.

О нем подробнее (куча таблиц и сухой информации)

Размер заголовка – 4 байта.

Описание:

Режимы сжатия данных или какой бывает битрейт

Существует 3 режима сжатия данных:

CBR (constant bitrate) – постоянный битрейт. Не меняется на всем протяжении трека.

VBR (variable bitrate) – переменный битрейт. При этом сжатии битрейт постоянно меняется на протяжении трека.

ABR (average bitrate) – усредненный битрейт. Это понятие используется только при кодировании файла. На «выходе» получается файл с VBR.

CBR

Если файл закодирован с постоянным битрейтом – то мы уже можем наконец-то! получить длительность нашего трека по следующей формуле:
Длительность = Размер аудиоданных / Битрейт (в битах!) * 8

Например, файл имеет размер 350670 байт. Есть ID3v1 теги (128 байт) и ID3v2 теги (1024 байта). Битрейт = 96. Следовательно размер аудиоданных равен 350670 – 128 – 1024 = 349518 байт.
Длительность = 349518 / 96000 * 8 = 29,1265 = 29 секунд

VBR

Необходимо пояснить – как определить режим сжатия. Всё просто. Если файл сжат с VBR – то добавляется VBR-заголовок. По его наличию мы и можем понять, что используется переменный битрейт.
Есть два вида заголовков: Xing и VBRI.
Xing размещается со смещением от начала первого mp3-фрейма в позиции, согласно таблице:

Например: у нас ID3v2 тег занимает 1024 байта. Если наш mp3-файл имеет режим канала «Стерео» - то заголовок VBR Xing будет начинаться со смещения 1024 + 32 = 1056 байт.

Заголовок VBRI всегда размещается со смещением +32 байта от начала первого mp3-фрейма.

Первые четыре байта в обоих заголовках содержат маркер ‘Xing’ или ‘Info’ для Xing. И ‘VBRI’ для VBRI.

Эти VBR заголовки имеют переменную длину и содержат различную информацию о кодировании файла. Подробнее о структуре заголовков VBR (и не только) можно почитать, например, .

Я же расскажу только о том, что нас интересует в данный момент. А именно – количество фреймов (Number of Frames). Это число длиной 4 байта.
В заголовке Xing оно содержится по смещению +8 байт от начала заголовка. В VBRI +14 байт от начала заголовка.

Используя таблицу Сэмплов на фрейм (Sampler Per Frame) мы можем получить длительность mp3-файла, закодированного с переменным битрейтом.

Длительность = Количество фреймов * Сэмплов на фрейм / Частоту дискретизации

Например: из заголовка VBRI получили количество фреймов 1118, сэмплов на фрейм = 1152. Частота дискретизации = 44100.
Длительность = 1118 * 1152 / 44100 = 29.204 = 29 секунд.

На этом на сегодня всё. Если был кому-то полезен - спасибо .

Для тех, кто захочет немедленно поковырять внутренности mp3 -

Всякий файл обычно обзывается каким-нибудь словом, дабы из этого слова тотчас становилось ясно для чего он такой нужен и чего с ним делать. Но для некоторых файлов существуют не только название и само содержимое файла, но есть еще и так называемые метаданные. Это еще не содержимое, но уже и не название. Так вот ныне самый распостраненный аудиоформат mp3 имеет в себе систему тегов. В тегах описывается что это за музыка — как называется композиция, кем сыграна, в каком году, в каком жанре и в составе какого альбома значится и под каким номером. Говоря лаконичным языком самих mp3-тегов:

  • название (title);
  • исполнитель (artist);
  • год (date);
  • жанр (genre);
  • альбом (album);
  • трек (tracknumber).

Кроме вышеперечисленных существуют и другие теги, кои однако используются очень реже и содержат не столь важные для классификации композиции данные, к примеру — композитор, автор слов, комментарий, номер диска, и прочая прочая. Вряд ли они кому то нужны, если конечно вы не фанатичный коллекционер музыки число песен у которого исчисляется в миллиардах. Первых шести перечисленных тегов достаточно для какой угодно классификации.

Язык системы тегов ID3

Музыкальные проигрыватели, как программные, так и аппаратные обычно пытаются считать данные о музыкальном треке именно из тегов файла чтобы представить вам проигрываемую композицию. А также если вам вздумается разыскать нужную песню — искаться она проигрывателем будет тоже по ним. Официальным языком система тегов именуется ID3 (IDentify an mp3), что намекает. Конкретней — ныне используется ID3v2 — то бишь стандарт метаданных второй версии.

Откуда берутся «крякозябры»?

Итак, почему же в некоторых песнях любимый проигрыватель вместо названий и/или исполнителей выдает «абракадабру»(«кракозябры», «китайскую грамоту», и.т.д)?
Ответ прост. По той же самой причине, по коей мы имеем к себе в монитор «кракозябры» в любых других местах — битая кодировка.

Случается такое, когда русский текст в одной кодировке мы пытаемся прочитать в другой. Соответственно русские теги mp3 в музыкальных файлах и показываются криво. Потому что большинство музыки в сети, откуда мы ее качаем, имеет свои кириллические теги в кодировке, отличной от признанной стандартом UTF-8, то есть в кодировке windows — cp1251, koi8-r, или еще какой чертовщине.

К примеру, с такой проблемой пользователь лицом прям сталкивается когда хочет послушать добытую в интернетах музыку в linux-системах, Ubuntu скажем. Я и сам с этим сталкиваюсь постоянно, являясь юзером оной — каждый скачанный альбом с русскими тегами необходимо перекодировать, дабы любимый мною проигрыватель Rhythmbox мог красиво показывать что он за музыку играет и, что более важно, мог мне находить в фонотеке музыку, которую я пожелаю.

Более того, если 98% музыки русскоязычных исполнителей идет с кривыми тегами, то примерно половина из них скачивается еще и с названиями файлов в кривой кодировке. Что тоже причиняет некоторые неудобства. Но излечимо, причем легко.

Еще один момент — бывает что mp3-файлы совсем не имеют тегов. А хотелось бы. Все обозначенные в данной статье проблемы запросто решаемы. Существуют редакторы и утилиты для изменения и перекодировки тегов. И о простых и удобных способах проведения операций по приведению русских тегов mp3-файлов в вашей фонотеке в порядок, о редакторах, утилитах и прочих программах для работы с тегами, будет поведано в другой статье.

Если раньше фонотеку можно было измерить количеством дисков или, скажем, числом отведенных под них полок, то сейчас большинство меломанов меряют аудиоколлекции мегабайтами и количеством MP3-файлов. История формирования фонотеки у каждого своя: кто-то качал файлы из интернета и переписывал у друзей, а кто-то сам делал риппинг аудиодисков, используя Easy CD DA Extractor, Exact Audio Copy и подобные им программы. В любом случае, коллекция может считаться коллекцией только, если в ней царит порядок. Если для коллекций дисков порядок означал составление каталога и расстановку дисков по определенному критерию, то с MP3-коллекцией немного сложнее. Важно не только сгруппировать песни по альбомам, а альбомы по исполнителям, не только составить каталог всех песен, используя программу наподобие Melomania , но и проследить за корректными названиями файлов, а также за наличием и правильностью ID3-тегов. ID3-теги – это информация, которая добавляется к каждому MP3-файлу и содержит данные о названии трека, альбома, имени исполнителя и т.д. Именно эти данные использует Winamp и все остальные проигрыватели при воспроизведении файла, показывая, какая песня сейчас играет. Именно эта информация считывается аудиоплеерами и отображается на дисплее устройств в процессе воспроизведения. Наконец, именно ID3-теги используются для автоматического упорядочивания аудиоколлекции и для поиска треков в таких проигрывателях, как Windows Media Player, Winamp, BS Player и других, где есть функция медиабиблиотеки. ID3-теги появились в 1996 году и сразу стали стандартом для хранения метаданных в файлах MP3. Первая версия ID3-тегов - ID3v1 – занимала всего 128 байт. Поскольку для данных отводилось немного места, в таких тегах можно было хранить только базовые сведения о песне: название, жанр (он выбирался из небольшого списка), альбом, исполнитель. Если названия песен или альбомов содержали более тридцати символов, они обрезались. Конечно, из-за ограничений по размеру ни о каких расширенных возможностях хранения метаданных не могло быть и речи. Единственное усовершенствование, которое было представлено в версии 1.1, – использование поля, отведенного для комментария, для хранения номера трека. Вторая версия ID3-тегов - ID3v2 – является гораздо более гибкой и удобной. Несмотря на схожее название, она не имеет "родственного" отношения к тегам первой версии, так как была написана "с нуля", а не на основе ID3v1. В тегах ID3v2 можно хранить гораздо больше сведений, вплоть до обложек альбомов, нет и ограничений на количество символов. Еще одно преимущество ID3v2 – хранение информации в Unicode, что дает возможность вводить текст кириллицей. Для редактирования ID3-тегов удобно использовать специальные программы, которые помогают перенести теги из одной версии в другую, заполняют теги автоматически, получив данные из интернета, а также упрощают переименование файлов. О них пойдет речь в сегодняшнем обзоре.

Ultra Tag Editor 2.4.3

Во время упорядочивания аудиоколлекции приходится прослушивать файлы, чтобы убедиться, что треки не перепутаны. Кнопка Play есть практически во всех программах для работы с тегами, однако не все они имеют встроенный проигрыватель. Одни норовят открыть Windows Media Player, другие – проигрыватель, установленный в системе для воспроизведения аудиофайлов по-умолчанию. Ultra Tag Editor имеет простенький встроенный плеер, что очень удобно, ведь благодаря этому не нужно постоянно переключаться между двумя окнами. Правда, расширенных возможностей у этого плеера нет, но прослушать первые аккорды песни, выполнить перемотку в обе стороны и остановить воспроизведение можно без проблем.

Программа дает возможность сравнивать теги ID3v1 и ID3v2, которые записаны в файле, переносить данные между ними, очищать все поля нажатием на одну кнопку. Также можно сгенерировать теги из названий файлов, используя переменные. При создании новых тегов в пакетном режиме, Ultra Tag Editor может пропускать треки с заполненными тегами, перезаписывать все поля новыми значениями или заносить информацию только в пустые поля.

Кроме этого, во время генерации новых тегов можно управлять регистром символов, например, писать каждое слово с большой буквы или использовать только прописные.

Удобный инструмент "Авто-трек" поможет заполнить поле тега, в котором указывается номер трека. После его активации нужно расположить файлы в окне программы в правильном порядке и указать число, с которого нужно начинать нумерацию треков в альбоме. После этого Ultra Tag Editor автоматически внесет номера в соответствующие поля. Чтобы не путаться в большом количестве файлов, можно использовать фильтр. При его использовании, в окне Ultra Tag Editor выводятся только файлы, соответствующие заданному критерию. Таким критерием может быть название группы или альбома, год выпуска и т.д. От пользователя требуется указание ключевого слова, по которому будет производиться отбор, и поле, в котором оно должно встречаться.

Ultra Tag Editor распространяется как shareware. Скачать триал-версию можно с официального сайта .

Zortam ID3 Tag Editor 4.0

Отличительная особенность Zortam ID3 Tag Editor – наличие медиабиблиотеки. Такую функцию, как правило, можно увидеть в медиапроигрывателях, однако создатели Zortam ID3 Tag Editor посчитали, что она будет не лишней и в утилите для работы с тегами. Чтобы добавить файлы в библиотеку, нужно поручить программе сканирование жестких дисков. Удобство медиабиблиотеки в том, что файлы в ней отображаются не по папкам, а отсортированы на основе информации в тегах – их можно просматривать по жанрам, по исполнителям, по году выпуска альбома и т.д. Правда, сортировка будет работать корректно только после того, как теги будут заполнены. Файлы с пустыми тегами найти довольно просто - Zortam ID3 Tag Editor создает отдельные разделы типа Unknown Artist, куда помещает неопознанные файлы.

В окне программы отображаются теги и первой, и второй версий. Тут есть кнопки для быстрого управления ими: очистить, сохранить, изменить регистр, начать каждое слово с большой буквы, заполнить теги ID3v2 данными с ID3v2, отменить последнее действие и т.д. При помощи Zortam ID3 Tag Editor можно отыскать в интернете и прикрепить к файлу обложки альбомов, фотографии исполнителей и тексты песен. Поиск этих данных может осуществляться как для каждого файла по отдельности, так и в пакетном режиме. При редактировании тегов большого числа файлов очень удобна функция подсветки. Суть ее в том, что в окне программы Zortam ID3 Tag Editor файлы могут выделяться разным цветом. Критерии выделения пользователь может задавать самостоятельно. Например, можно задать подсветку файлов, для которых теги не заполнены, треков, имеющих низкий битрейт, аудиофайлов, для которых скачана обложка альбома или текст песни. Разумеется, цвета подсветки можно определять самостоятельно. Список, где файлы выделены цветом, гораздо нагляднее, ведь можно сразу определить, какие файлы можно удалить, а с какими еще нужно поработать. Если вы не завершили работу с файлом и хотите позже вернуться к редактированию тегов, можете занести его в закладки, чтобы потом быстро найти. Эта функция работает так же, как аналогичная возможность в браузерах. Закладки удобны и в том случае, если вы хотите сравнить два файла и желаете быстро переключиться между ними.

Для владельцев больших аудиоколекций в Zortam ID3 Tag Editor предусмотрена возможность поиска дубликатов. При поиске программа учитывает как информацию в тегах, так и названия файлов, поэтому вероятность определения повторяющихся треков достаточно велика.

Zortam ID3 Tag Editor распространяется как shareware. Скачать триал-версию можно с официального сайта .

mp3Tag 5.6

Практически все программы для работы с тегами изобилуют большим числом вкладок, кнопок и других элементов интерфейса, обеспечивающих доступ к разнообразным инструментам для изменения метаданных аудиофайлов. Создатели mp3Tag придумали интересный способ разгрузить главное окно программы. Они разделили рабочую область на несколько окон, которые не зависят друг от друга и могут быть закрыты или открыты по отдельности. В основном окне отображается список треков, поля тегов для выделенного файла и кнопки для выполнения основных операций с ними – переименование, создание тегов, сохранение, создание плейлистов. Вся остальная информация вынесена в дополнительные окна. Это сведения о качестве аудиофайла и о его размере, текст песни, обложка альбома и другие изображения, связанные с файлом. Таким образом, чтобы скрыть отображение бесполезных сведений, вы можете закрыть нужное окно.

Тексты песен и фотографии можно добавлять вручную или запрашивать их в онлайновой базе данных. То же касается информации о тегах. Главные интернет-источники, с которыми работает программа, - это база FreeDB и интернет-магазин Amazon. Кроме этого, можно загружать сведения о тегах из текстового файла, что удобно, если компьютер не подключен к интернету. Интересно, что практически во всех утилитах для работы с тегами есть возможность экспорта тегов текстовый файл, но не во всех предусмотрена обратная операция – импорт данных из такого файла. В mp3Tag такая функция есть. Если вы хотите поручить программе обработать очень большое число файлов в пакетном режиме, это может занять достаточно много времени. Специально для таких случаев в mp3Tag предусмотрен фоновый режим, в котором программа задействует минимум системных ресурсов, следя за тем, чтобы не мешать вашей основной работе. При этом иконка mp3Tag помещается в системный трей, а подведя к ней курсор, можно увидеть, на каком этапе выполнения находится задание. mp3Tag распространяется как shareware. Скачать программу можно с официального сайта .

Mp3/Tag Studio 3.5

Интересная особенность Mp3/Tag Studio – возможность выполнения операций с тегами или связанных с переименованием файлов, не открывая окон программы. После ее установки в контекстном меню появляется подменю Mp3/Tag Studio, в котором помещены наиболее часто используемые команды. Таким образом, не покидая окна файлового менеджера, можно, например, удалить все теги из выделенных файлов, переименовать по маске: "имя исполнителя" плюс "название песни", очистить все поля комментариев и т.д. Предусмотрена в меню и команда отмены последнего действия.

Mp3/Tag Studio содержит огромный набор возможностей для настройки пакетного переименования файлов и изменений тегов. Так, тут можно указать правила изменения регистра, удаления пробелов, обрезки символов отдельно для каждого поля в тегах. Таким образом, можно, например, указать программе, что названия треков нужно записывать заглавными буквами, а в имени исполнителя заглавной оставлять только первую. Выбранные настройки можно сохранить для дальнейшего использования и позже загрузить в программу, чтобы не тратить время на повторный выбор настроек.

Операции переименования и изменения тегов могут применяться не ко всем файлам, а только к тем, которые соответствуют установленному фильтру. Такой фильтр может включать одно или несколько полей, например, "изменять аудиофайлы, выпущенные в 1988 году, но не относящиеся к жанру блюз". В Mp3/Tag Studio также есть инструменты, которые немного необычны для приложений такого рода. Переключившись на вкладку File Tools, можно выполнить обрезку MP3-файла, указав продолжительность, а также то, с какой стороны нужно резать – с начала или с конца. Используя Mp3/Tag Studio, можно также попробовать исправить поврежденный файл, который не воспроизводится проигрывателем. Чаще всего подобные проблемы возникают из-за ошибок в заголовках. Mp3/Tag Studio распространяется как shareware. Скачать триал-версию можно с официального сайта .

Tag & Rename 3.3.5

Окно Tag & Rename содержит три вкладки, названия которых дают представление о возможностях программы: редактирование тегов, переименование файлов на основе информации, которая содержится в тегах, или обратное действие – заполнение тегов, используя названия файлов.

Программа имеет встроенный файловый менеджер, который используется для открытия файлов. Он имеет множество специальных возможностей, которые упрощают поиск и выделение аудиофайлов. Например, можно отображать в одном окне все файлы в папке, включая те, которые находятся во вложенных директориях. Показывать файлы, которые находятся на диске, не в виде древовидной структуры, а в виде списка, когда файлы, которые находятся в разных папках, выстраиваются один за другим. Продуманы и средства выделения файлов – это можно делать как при помощи клавиш Shift и CTRL, так и используя флажки, которые есть возле названия каждого файла. Средства для переименования в Tag & Rename очень гибкие – все построено на использовании масок и потому делает простыми пакетные операции изменения названий. Например, можно назвать все треки в альбоме по следующей маске: имя певца плюс название песни или название альбома плюс номер композиции. Можно использовать любые сочетания переменных и включать в названия файлов такие сведения как продолжительность или год выпуска альбома. При помощи Tag & Rename можно пакетно переименовывать не только файлы, но и папки, по которым они рассортированы. Чтобы не запутаться с переменными, можно использовать функцию предварительного просмотра. Новые названия файлов будут выведены в специальном окошке рядом с названиями до переименования. Таким образом, при необходимости, можно вернуться к настройкам изменения названий и внести в них правки. Но если вы заметите, что файлы называются не так, как нужно, после того, как операция будет выполнена, вы сможете вернуть исходные названия, поскольку Tag & Rename запоминает параметры последней операции и дает возможность выполнить откат.

Одна из интересных возможностей программы – создание плейлиста на основе выделенных файлов или всех, которые входят в текущую папку. Для быстрого создания списка воспроизведения в Tag & Rename предусмотрена специальная кнопка на панели инструментов. Там можно найти кнопки для создания отчетов в разных форматах - XML, CSV, TXT и HTML. Последняя возможность очень удобна, например, если вы хотите создать список песен своей фонотеки для размещения в интернете. Создавая отчет, можно указать, какую информацию из тегов нужно в него включить: альбом, исполнитель, год выпуска, жанр, битрейт, продолжительность и прочее.

Tag & Rename распространяется как shareware. Скачать триал-версию, работающую в течение 30 дней, можно с официального сайта .

Tagscanner 5.0

Tagscanner уникальна тем, что предлагает практически те же возможности, что и коммерческие программы, но бесплатно. Интерфейс представлен четырьмя вкладками - Misic Renamer для переименования файлов, TAG Editor для добавления и редактирования тегов вручную, TAG Processor для автоматического изменения тегов в большом количестве файлов одновременно и List Maker для создания списков воспроизведения.

В редакторе тегов можно работать с большим числом полей, среди которых есть такие как владелец авторских прав, композитор, певец, который исполнил песню впервые (интересное поле, особенно если подумать, сколько перепевов на современной музыкальной сцене). Каждый аудиофайл можно сопроводить картинкой, загруженной с жесткого диска, а также добавить текст песни. Режим TAG Processor будет удобен, если вы хотите автоматически заполнить теги для файлов, составляющих целый альбом. В этом случае программа может запросить информацию в онлайновой базе freedb. Но учтите, чтобы альбом был найден, необходимо расставить песни в том порядке, в котором они расположены в альбоме. Если поиск не дал результата, можно попробовать поискать альбом по ключевому слову, например, введя его название и имя исполнителя. Если вам известен идентификационный номер диска (Disk ID) в базе freedb, можете ввести его. Альбом будет найден, а теги для аудиофайлов - заполнены.

При пакетном переименовании файлов Tagscanner может использовать переменные, а также автоматически изменять регистр символов, записывать названия в виде транслитерации или выполнять обратную транслитерацию. Если планируется, что файлы будут записаны на FTP, то обратите внимание на флажок «FTP-формат». При его установке все пробелы в названиях файлов будут заменены на символы подчеркивания. Среди других функций переименования можно отметить автоматическую обрезку названий до определенного числа символов, перенос файлов в указанную папку и удаление пустых папок, оставшихся после этого.

Если нужно переименовать папку, в которой находится файл, нужно щелкнуть на нем правой кнопкой мыши и выбрать команду "Переименовать папку по ТЭГу", после чего указать один из шаблонов – артист, альбом, артист+альбом, год+альбом и прочее.

Прежде чем выполнить переименование, можно просмотреть список с новыми и старыми названиями файлов. Если файл переносится в другую папку, то новый путь к нему будет показан в этом окне и выделен полужирным шрифтом. Скачать Tagscanner можно отсюда . Программа распространяется бесплатно.

Заключение

По большому счету, любая из описанных в этом обзоре программ отлично подходит для изменения тегов и переименования файлов – все они могут получать информацию из интернета, выполнять переименование по маске, изменять теги и названия в пакетном режиме. Поэтому при выборе программы такого рода, прежде всего, стоит обращать внимание на те мелочи, которые делают работу удобной. К ним относятся, например, наличие русскоязычного интерфейса, встроенный плеер, предварительный просмотр перед переименованием. Поскольку Tagscanner является единственной бесплатной программой в нашем обзоре и при этом удовлетворяет всем этим критериям, то мы советуем начать с этой утилиты, а если она чем-то не устраивает - искать коммерческую альтернативу.

ID3v1

После создания MP3 формата появилась проблема с хранением данных о музыкальном файле. В MP3 это никак не предусматривалось. В 1996 Эрику Кэмпу пришла идея добавить участок памяти в файл, чтобы решить эту проблему.

Первая версия ID3-тегов занимала всего 128 байт , начинающихся со строки TAG . Тег помещался в конец файла для поддержания совместимости с ранними проигрывателями. Некоторые из них издавали небольшой шум, когда пытались прочесть тег, но большинство игнорировали его. Современные проигрыватели корректно воспринимают эту информацию.

Поскольку для данных отводилось немного места, в таких тегах можно было хранить только базовые сведения о песне: название, альбом, исполнитель, комментарий, по 30 байт на каждое поле, 4 байта для хранения года и одного байта под жанр, который можно было выбрать из заранее определённого списка из 80 значений (позднее Winamp расширил список своими 68 значениями). Если названия песен или альбомов содержали более тридцати символов, они обрезались. Конечно, из-за ограничений по размеру ни о каких расширенных возможностях хранения метаданных не могло быть и речи.

Единственное усовершенствование, которое было представлено в версии 1.1, было предложено Майклом Мутшлером (Michael Mutschler) в 1997: так как поле под комментарий всё равно слишком мало для хранения чего-либо полезного, было решено сократить его на два байта, чтобы использовать их для хранения номера трека.

Расширенный формат

Расширенный тег - это дополнительный блок данных перед ID3v1-тегом, который позволяет в три раза расширить некоторые поля ID3(v1-v1.1) и добавить несколько новых полей. Разработчики этого расширения попытались следовать идее наибольшей совместимости, поэтому начало всех тегов хранится в обычном ID3v1 теге, что позволяет читать или записывать данные любой программе, понимающей ID3v1, и только если выделенных байт не хватает, продолжение для каждого поля будет храниться в расширенном блоке (при условии что программа умеет туда записывать). Расширенный блок занимает 227 байт, находится перед ID3v1-тегом и начинается с метки TAG+. В нем было выделено дополнительно по 60 байт для полей название песни, исполнитель и альбом, 1 байт под скорость (стиль, тип) музыки (01=slow, 02=medium, 03=fast, 04=hardcore), 30 байт под свободный ввод жанра, а также по 6 байт под начальное и конечное время музыки в файле (например, для плавного увеличения громкости). Поле комментария расширено не было и осталось 28-30 байт. Если ничего из перечисленного не используется, он автоматически опускается.

Это был неофициальный стандарт и поддерживался малым количеством проигрывателей.

Структура ID3

Строки разделяются нулями или пробелами. Неиспользуемые поля заполняются как пустые строки.

ID3(v1-v1.1): 128 байтов

Расширенный тег

Помещается перед ID3v1 тегом: 227 байтов

Lyrics3

Lyrics3 - это первая попытка внедрить текст песни внутрь MP3 файла, реализованная Петром Стрнадом (Petr Strnad) во времена ID3v1.x. Текстовый блок помещался между строками LYRICSBEGIN и LYRICSEND в конце файла, перед тегом ID3v1.x (если его не было, то он создавался). Текст был в кодировке ISO-8859-1 , максимальная длина 5100 байт, строки разделялись символами CR+LF, была поддержка временны́х меток.

Со временем был выпущен формат Lyrics3 v2.00, который имел больше возможностей (в частности, значительно увеличился размер блока, появились дополнительные поля и возможность вставки изображения). Блок версии 2.00 помещался между строками LYRICSBEGIN и LYRICS200 и имел переменную длину, которая записывалась в последних 6-ти байтах перед конечной строкой LYRICS200.

Идея не получила широкого распространения ввиду выхода стандарта ID3v2, в котором подобная идея была организована более гибко и функционально.

Критика и комментарии

ID3v1 много критиковали за ряд проблем. Во-первых, поля были слишком небольшими для большинства информации, которой им предстояло хранить. 30 байт не хватало для длинных названий, они урезались.

Предложение закрепить жанр за ограниченным числом альтернатив также нашло много противников. Многим просто не нравился предложенный список, в котором не отводилось места под такие жанры, как минимализм или барокко .

ID3v2

В ответ на критику был разработан новый стандарт ID3v2 в 1998. Хотя он носит название ID3, он мало похож на первую версию ID3.

Теги ID3v2 переменной длины и обычно находятся в начале файла для поддержания потокового воспроизведения . Тег состоит из нескольких фреймов , каждый из которых содержит какие-либо метаданные. Например, фрейм TIT2 содержит название, а WOAR содержит ссылку на сайт артиста. Фреймы могут быть длиной до 16 МБ, в то время как весь тег может занимать до 256 MB. Проблемы с кодировками устранены благодаря поддержке UTF-16 . Текстовые фреймы помечаются битом кодировки, хотя кракозябры всё ещё возможны, если использовать свою кодировку вместо UTF-16.

В последней версии стандарта ID3v2 есть 84 различных типа фреймов, а приложения также могут задавать свои собственные фреймы. Есть также стандартные фреймы для хранения обложки, количества ударов в минуту , прав и лицензии, слов, произвольного текста, ссылок и других данных.

Каждый фрейм начинается идентификатором (4 символа, которыми могут быть заглавные латинские буквы и цифры), следующие 4 байта - размер, ещё два - флаги. Можно заметить, что заголовок фрейма также состоит из 10 байт.

Есть три версии ID3v2:

ID3v2.2 - первый широко используемый ID3v2. Используется трёхсимвольный идентификатор фрейма вместо 4х(TT2 для названия вместо TIT2 ). Среди популярных стандартов также есть v2.3 и v2.4, фреймы которых аналогичны v2.2. Этот стандарт считается устаревшим.

ID3v2.3 расширяет идентификаторы до 4 байтов и добавляет количество фреймов. Фрейм может содержать много значений, разделённых знаком «/». Это наиболее распространённая версия тегов.

ID3v2.4 - это самая поздняя версия, датируемая ноябрём . Она позволяет хранить строки в UTF-8 , что заметно лучше UTF-16 . Для разделения значений используется нулевой байт (англ. ), поэтому знак «/» можно спокойно использовать в тексте. Ещё одна особенность, появившаяся в ID3v2.4, - возможность добавить тег в конец файла, как в первой версии.

Разделы ID3v2

Впервые про разделение файла писали в декабре 2005, но пока эта возможность не распространена широко. Она позволяет пользователю быстро перейти к определённому месту или главе внутри аудиофайла или предоставляет возможность синхронизированного слайдшоу изображений во время воспроизведения. Типичное применение - Расширенные подкасты (англ. ), которые поддерживаются ID3v2.3 или ID3v2.4 тегами .

Критика

Хотя различные версии ID3v2 концептуально похожи, оказалось достаточно сложно воплотить поддержку их всех. Есть несколько тонких и критических различий между версиями. Даже внутри версии структуры фреймов очень различаются. Например, фрейм TIT2 с названием и USLT с текстами песни требуют различных алгоритмов по извлечению данных. Другие форматы тегов, такие как APEv2 тег избегают этого и используют простые пары ключ-значение для отображения внутренней структуры каждого фрейма.

ID3v2 хранит много данных, которые относятся к самому формату сжатия. Для примера, фрейм TLEN хранит длину аудиозаписи, хотя она используется для отображения прогресса воспроизведения, а фрейм AENC содержит метод сжатия для аудиопотока.

Только со стандартом ID3v2.4 стало возможно поместить данные тега в конец файла. ID3v2.2 и 2.3 требуют нахождения их в начале файла. В то время как для потоковых данных это необходимо, в случае обычного файла для обновления информации тега нужно перезаписать весь файл. Редакторы тегов могут оставлять свободное пространство после тега, чтобы предупредить перезапись файла в случае увеличения тега, но это не является стандартом: требования к тегам очень различаются, особенно если к музыке прилагается APIC (ассоциативные изображения).

Устаревшие реализации

Программы, поддерживающие ID3v2.4, появились в последние два-три года; однако большинство файлов используют ранние версии ID3v2, и очень небольшое количество программ поддерживает все виды фреймов, обозначенных спецификацией стандарта ID3v2.

Windows Explorer

Применение в других форматах и альтернативы

Хотя ID3 был изобретён для MP3, в этом стандарте можно хранить теги и в отличных от MP3 и MP3Pro форматах файлов. Список тегов же - это вообще независимая часть файла и может использоваться как угодно. На практике, единственный формат, который широко использует ID3v2, это AIFF , где тег хранится внутри RIFF области под именем «ID3». То же самое воплощено в WAV , но не используется. Единственная теговая система, широко использующаяся WAV, это «Broadcast WAV». Форматы Windows media (ASF , WMA , WMV) имеют свои форматы тегов, но также поддерживают ID3, включенный как атрибут. MP4 также предполагает включение ID3, но также не поддерживается широко. Другие форматы, основанные на контейнерах, используют собственные теговые системы. Примером является Vorbis , который использует


Практически каждый из нас хотя бы раз сталкивался с тем, что на телефоне или МР3-плеере название песни и имя исполнителя отображалось в искаженном виде, так называемыми кракозябрами, или когда вместо предполагаемого названия песни вырисовывается адрес какого-то сайта, который видеть на своем телефоне или плеере Вы уж точно не хотели. При этом возникает вопрос: "Почему на компьютере название трека отображается нормально, а на МР3-плеере нет? И как заставить плеер отображать названия любимой музыки правильно?"

Посмотрев на эти скриншоты, вы увидите метаморфозы, которые могут происходить с музыкальными файлами.

Для владельца телефона или МР3-плеера, не подозревавшего ранее о существовании или наличии каких-то там тегов, это, можно сказать, классический пример знакомства с метаданными. Для людей, которые давно занимаются музыкой, собирают и пополняют свою фонотеку не только музыкой, но и другой информацией, связанной с ней, метаданные существенно облегчают их деятельность. Так как благодаря присоединяемым к музыкальным файлам метаданным появляется возможность дополнить музыку любой необходимой информацией. Информация же может быть самой разнообразной, исходя из потребностей и желаний автора или обладателя музыки. Метаданные - это не только наименование трека или год выхода альбома, но и имя композитора, автора аранжировки, текста слов к песни, адреса сайтов, емейлы - все, что связано с художественным оформлением песни или альбома, например, обложка. Кроме того предоставляют возможность пользователям объединяться по интересам посредством интернета и еще много других полезных функций. Что касается современных мультимедийных устройств, то поиск композиций в них осуществляется не по наименованию файлов и папок, а по метаданным, содержащихся в ней, и лишь при отсутствии метаданных - по наименованию файлов. Производители мобильных телефонов таких известных марок, как, например, Nokia , Sony Ericsson, iPod, и т.д. следуют этому же принципу.

Теперь непосредственно о метаданных
Метаданные - от греч. Meta и лат. Data, что буквально переводится как данные о данных, информация о другом наборе данных. Существует не так уж много форматов метаданных , например:

    EXIF и IPTC - метаданные для фотографий или изображений

    XMP - метаданные от Adobe

    ID3tag - метаданные для музыкальных mp3-файлов

Из истории возникновения метаданных для аудио
Все началось с появления формата МР3 , исследованием и разработкой которого в то время занимался институт интегральных схем им. Фраунгофера (Fraunhofer IIS, Германия). Никто из разработчиков и предположить не мог, что МР3 станет настолько популярным, и что чисто технический формат, предназначавшийся совершенно для иных целей, станет использоваться для хранения музыки или распространения ее через интернет. И чем популярней становился формат MP3 у пользователей, тем отчетливее стал проявляться очень значительный недостаток, а именно отсутствие информации о музыкальных произведениях. Вся информация о конкретном файле содержалась только в его названии. И если кому-то хотелось иметь, например, комментарий к музыке или обложку альбома, приходилось для этого плодить файлы и хранить их где-то рядом с самим треком. Часть необходимой информации можно было записать в наименовании самого файла, но не будем забывать, что имена файлов, а точнее, их длина в те времена тоже была ограничена возможностями ранних версий операционных систем компьютеров. Тогда за дело взялись программисты-энтузиасты, усилиями которых появились первые метаданные для формата MP3.

Основоположником в 1996 году стал программист Эрик Кемп (Eric Kemp) и его проект "Studio3". Эрик Кемп предложил добавлять к MP3-файлу небольшой блок с данными, размером всего 128 байт. Этот блок был назван ID3tag (tag, англ. ярлык, метка). Аббревиатура ID3 означает Identification Data for Studio3 (идентификационные данные для Studio3). В последствии название TAG надежно закрепилось за метаданным других форматов, таких как WMA, OGG, МР4 и т.д.

Добавление тега к МР3-файлу могло привести к несовместимости с плеерами, поэтому Эрик Кемп расположил тег в конце файла, что исключило данную проблему и при воспроизведении такого файла плеером, не имеющего поддержки тегов, происходило игнорирование этой информации без каких-либо последствий. Теперь можно было к любому МР3-файлу добавить новую текстовую информацию без опасения, что она будет потеряна при копировании или воспроизведении. Как это выглядит на практике, можно увидеть, воспользовавшись, например, стандартной программой Notepad.

Для редактирования же метаданных существует большое количество программ, как простых, рассчитанных на обычных пользователей, так и "навороченных" - для профессионалов.

Определены следующие жанры в ID3v1

00 - Blues
01 - Classic Rock
02 - Country
03 - Dance
04 - Disco
05 - Funk
06 - Grunge
07 - Hip-Hop
08 - Jazz
09 - Metal
10 - New Age
11 - Oldies
12 - Other
13 - Pop
14 - R&B
15 - Rap
16 - Reggae
17 - Rock
18 - Techno
19 - Industrial
20 - Alternative
21 - Ska
22 - Death Metal
23 - Pranks
24 - Soundtrack
25 - Euro-Techno
26 - Ambient
27 - Trip-Hop
28 - Vocal
29 - Jazz+Funk
30 - Fusion
31 - Trance
32 - Classical
33 - Instrumental
34 - Acid
35 - House
36 - Game
37 - Sound Clip
38 - Gospel
39 - Noise
40 - Alternative Rock
41 - Bass
42 - Soul
43 - Punk
44 - Space
45 - Meditative
46 - Instrumental Pop
47 - Instrumental Rock
48 - Ethnic
49 - Gothic
50 - Darkwave
51 - Techno-Industrial
52 - Electronic
53 - Pop-Folk
54 - Eurodance
55 - Dream
56 - Southern Rock
57 - Comedy
58 - Cult
59 - Gangsta
60 - Top 40
61 - Christian Rap
62 - Pop/Funk
63 - Jungle
64 - Native US
65 - Cabaret
66 - New Wave
67 - Psychadelic
68 - Rave
69 - Showtunes
70 - Trailer
71 - Lo-Fi
72 - Tribal
73 - Acid Punk
74 - Acid Jazz
75 - Polka
76 - Retro
77 - Musical
78 - Rock & Roll
79 - Hard Rock

Добавлены 12 декабря 1997 Winamp :
80 - Folk
81 - Folk-Rock
82 - National Folk
83 - Swing
84 - Fast Fusion
85 - Bebob
86 - Latin
87 - Revival
88 - Celtic
89 - Bluegrass
90 - Avantgarde
91 - Gothic Rock
92 - Progressive Rock
93 - Psychedelic Rock
94 - Symphonic Rock
95 - Slow Rock
96 - Big Band
97 - Chorus
98 - Easy Listening
99 - Acoustic
100 - Humour
101 - Speech
102 - Chanson
103 - Opera
104 - Chamber Music
105 - Sonata
106 - Symphony
107 - Booty Bass
108 - Primus
109 - Porn Groove
110 – Satire

Добавлены 26 января 1998 , чтобы гарантировать совместимость Winamp 1.7:
    111 - Slow Jam
    112 - Club
    113 - Tango
    114 - Samba
    115 – Folklore
Добавлены 13 апреля 1998 , чтобы гарантировать совместимость Winamp 1.90:
116 - Ballad
117 - Power Ballad
118 - Rhytmic Soul
119 - Free
120 - Duet
121 - Punk Rock
122 - Drum Solo
123 - Acapella
124 - Euro-House
125 - Dance Hall
126 - Goa
127 - Drum & Bass
128 - Club-House
129 - Hardcore
130 - Terror
131 - Indie
132 - BritPop
133 - Negerpunk
134 - Polsk Punk
135 - Beat
136 - Christian Gangsta Rap
137 - Heavy Metal
138 - Black Metal
139 - Crossover
140 - Contemporary Christian
141 - Christian Rock

Добавлены 1 июня 1998 , чтобы гарантировать совместимость Winamp 1.91:
    142 - Merengue
    143 - Salsa
    144 - Trash Metal
    145 - Anime
    146 - Jpop
    147 – Synthpop
ID3v1.1.
Улучшенная версия ID3 тега появилась в 1997 году от разработчика Михаэля Мутшлера (Michael Mutschler). Он исправил ошибки, возникавшие в программах при чтении незаполненных полей тега, заменив их нулевыми байтами, что позволяло программам прекращать чтение поля, встретив нулевой байт.

В ID3 тегах первых версий по умолчанию всегда используется кодировка ISO-8859-1 (Latin 1). Но если редактирование тега осуществлялось, например, на русской операционной системе, то для тега перенималась используемая на компьютере кодировка. Это значит, что если при записи тега использовалась кириллица или другой язык, отличный от латиницы, то плеер вместо букв отображал бессмысленные символы, кракозябры. Проблема возникала из-за того, что в теге не содержалась информация об используемой кодировке, а плеер без этого не способен ее распознать. Но если производитель плеера изначально запрограммировал его на отображение кириллической кодировки ISO-8859-5, то при смене языка меню МР3-плеера на русский с отображением надписей не должно быть никаких проблем. И, соответственно, если в плеере нет поддержки необходимых языков, то и отображаться они не будут.

Комментарии и Критика
Главный недостаток первых версий заключается в строго ограниченном количестве символом в каждом из полей, а число самих полей ограничено лишь семью позициями, что никак не отвечало потребностям пользователей, желающих видеть более обширную информацию о своей музыке. Тридцать символов на название исполнителя и альбома хватало не всегда, а поле "Комментарий" становится вообще бессмысленным. Список жанров, созданный Эриком Кемпом, также вызвал нарекания. В нем не хватало многих распространенных жанров, а экзотических (редких) жанров оказалось более, чем достаточно.

Ну и, конечно же, отображение "кракозябр" проигнорировать было нельзя.
P.S.
Может создаться впечатление, что недостатки настолько значительны, что лучше бы Эрик Кемп вообще ничего не создавал. Но, собственно, никто никого и не обвинял, ведь это был лишь первый шаг, и разработчик не мог все сразу предусмотреть.

ID3v2.Х
Наиболее важные исправления недостатков были осуществлены во второй версии в 1998 программистом из Швеции, Мартином Нильсоном (Martin Nilsson). Старые 30-знаковые поля были заменены на фреймы (англ. frame - кадр, рамка), что сделало тег гибким и практически неограниченным никакими жесткими рамками, как, например, количество символов. Размер фрейма может достигать 16Мб. Когда размер самого тега может занимать до 256Мб. Это был своего рода контейнер для нескольких информационных блоков – фреймов. Вот лишь некоторые из возможностей, посредством которых стало возможным сообщить более детальную информацию о музыкальном файле: битрейт, уровень громкости, слова песни с возможностью синхронизации их с музыкой (по типу караоке), всевозможные URL, размещение до нескольких изображений и много другой информации. Как и в предыдущих версиях, для текстов используется кодировка ISO-8859-1, но отчасти имеется уже поддержка и Unicode (UTF-16). Сам тег переместился в начало файла, что позволило аудиоплеерам отображать метаданные до начала воспроизведения. Но у этого есть и отрицательная сторона. При добавлении или изменения тега проходится перезаписывать полностью весь файл, что может занимать много времени. Но большинство современных редакторов тегов решают эту проблему так называемым padding (пустое пространство, которое резервирует место под данные). При изменении тэга, если этого резерва хватает, переписывается только блок с тэгом, а не весь файл. Стандартный размер резервирования составляет 4Кб.

Список некоторых из фреймов ID3v2 :

    TALB - (Album/Movie/Show title) Название альбома, фильма или шоу, из которого взят данный отрывок

    TPE1 – (Lead performer(s)/Soloist(s) Основной/(ые) исполнитель/(и)

    TPE2 - (Band/orchestra/accompaniment) Группа/оркестр/сопровождение

    TBPM - (BPM (beats per minute) Содержит число ударов в минуту

    COMM - (Comments) Комментарий

    TCOM - (Composer) Композитор

    TPE3 – (Subtitle/Deion refinement) Уточнение к названию произведения

    TIT1 – (Content group deion) Описания группы содержимого (например, "Концерт - Фортепьяно", "Погода - Ураган")

    TCOP – (Copyright message) Информация об авторских правах

    TPOS – (Part of a set) Номер части альбома (если используется несколько носителей, например, двойной CD)

    TENC – (Encoded by) Имя человека или организации, которая закодировала звуковой файл

    TCON - (Content type) Жанр музыки

    TLAN - (Language(s) Язык(и) слов песни

    TEXT - (Lyricist/Text writer) Автор слов песни

    TOLY – (Original lyricist(s)/text writer(s) Автор(ы) оригинального текста

    TIT2 - (Title/songname/content deion) Название произведения

    TIT3 - (Subtitle/Deion refinement) Уточнение к названию произведения

    TRCK – (Track number/Position in set) Номер произведения в альбоме

    USLT – (Unsychronized lyric/text tranion) Текст песни (содержит поля кодировки, языка и типа текста; разрешаются переводы строк, может быть только один текст для каждого языка и типа)

    WXXX – (User defined URL link frame) URL

    TYER – (Year) Год (4 символа)

    APIC - (Attached picture) Обложка (рекомендуется использовать формат PNG или JPG)

    SYLT – (Synchronized lyric/text) Синхронизированный текст песни по типу караоке

    ETCO - (Event timing codes) Информация о точках начала/конца, например, припева

    SYLT - (Synchronised lyric/text) Метки синхронизизации с аудиопотоком для текста песни

С полным списком всех фреймов и их назначений можно ознакомиться на официальном сайте (англ.)

Кроме фреймов, имеющихся в списке спецификации, пользователи могут сами создавать свои фреймы со своей структурой, в основном при помощи программ – медаиорганайзеров. Но прочесть такие фреймы можно только программами, с помощью которых они и были созданы.

Версия 2.2, разработанная в 1998г., считается устаревшей и используется очень редко, например, компания Apple продолжает использовать их в своих продуктах. В 1999 году вышла версия v2.3, в которой для борьбы с кракозябрами Мартин Нильсон добавил полноценную поддержку Unicode (UTF-16), благодаря чему стало возможным записывать метаданные на любом языке. Также были добавлены девять новых фреймов.

В версии v2.4 (2000г.) для текстовых полей стала использоваться кодировка Unicode UTF-8, а сами теги v2.4 могут размещаться в конце файла. Кроме того были добавлены 18 новых и удалено 9 ранних типов фреймов. Механика же самого стандарта такова, что сейчас, по сути, версии 2.3 и 2.4 слиты в одну, и все чаще попадаются файлы, которые содержат типы фреймов 2.4 в кодировке UTF-8, но записаны они по стандарту версии 2.3, большинство библиотек тегов при этом их считывает без особых проблем. Однако у аппаратных плееров бывают с этим проблемы.

Комментарии и Критика
ID3v2.Х., несомненно, считается прорывом вперед для тегов и на сегодняшний день версия 2.3 - наиболее используемая. Версия 2.4, несмотря на добавленную кодировку UTF-8 и небольшую унификацию фреймов, ничего кардинального не поменяла, а порой даже создает трудности для программистов. По этой причине поддержка данной версии в плеерах иногда отсутствует или реализована частично.

Проблема отображения "кракозябр" в целом преодолена, но сказать, что исключена, нельзя.

Изобилие версий, наличие множества мелких несоответствий и несовместимостей между структурами фреймов, а также чрезмерная гибкость тега доставляют немало хлопот разработчикам программ, которые прилагают немало усилий, чтобы их разработки могли нормально отображать или редактировать то богатое изобилие, которое предлагает тег.

Lyrics3 tag

Lyrics3 (v1.00)
Lyrics – лирика (англ. слова "песни") уже давно используется совместно с музыкальными файлами, при воспроизведении которых плеер (не каждый) отображает на дисплее текст песни. По сути, это было первое караоке и давало возможность, например, прочесть, непонятые слова, а при желании даже подпеть исполнителю. Так называемые файловые форматы лирики, т.е. тексты песен которых хранились в отдельных файлах, как например *.txt, а затем *.lrc должны были находиться в одной папке с МР3 файлом, что вызывало определенные неудобства.
В то время уже существовала первая версия ID3tag с ее очень скромными возможностями. Программист из Чехии Petr Strnad решил дополнить ID3v1 своим блоком данных, а точнее, тегом Lyrics3, в котором и находился бы текст песни. Свой тег он разместил между файлом аудио и самим тегом ID3v1, наличие которого является обязательным. Начинается тег со слова "LYRICSBEGIN", заканчивается словом "LYRICSEND", а между ними располагается текст песни.
Для синхронизации музыки со словами песни в лирику можно включать временные метки в формате mm:ss. Кодировка текста предусматривалась ISO-8859-1 (Latin 1), такая же, как и в ID3v1, а максимальная длина лирики - 5100 байтов (символов), что было вполне достаточно для текста любой песни.

Lyrics3 (v2.00)
Стремясь компенсировать главный недостаток первой версии ID3tag, а именно ограничение в 30 символов, Petr Strnad внес во вторую версию существенные изменения. Тег обзавелся полями, в которые можно вписать имена автора музыки или слов, художника обложки и иную необходимую информацию. Есть даже альтернативное поле для жанра, при условии, что в ID3 поле "жанр" не используется.
Предусмотрены ссылки на графические файлы (формат BMP, JPG, GIF), которые во время воспроизведения могут показываться в виде слайд-шоу.
Теоретически число полей может быть неограниченно. У каждого поля есть свой собственный переменный или фиксированный размер. Место положения самого тега осталось неизменным, точно так же, как старый тег Lyrics3, он находится между аудио и тэгом ID3. Начинается тег со слова "LYRICSBEGIN", а заканчивается "LYRICS200". Кодировка текста осталась прежней - ISO-8859-1.

Комментарии и Критика
Lirics3 неплохо дополнил ID3tag первых версий, но с выходом ID3v2 ситуация кардинально изменилась и необходимость использовать дополнительный Lirics3 полностью отпала. Для полноценного использования Lirics3 необходимо, чтобы в плеере была реализована поддержка данного тега. Кроме того, проблема "кракозябр" не обошла и этот тег стороной.

APE tag
Первая версия тэга APEv1 была предназначена исключительно для формата Monkey\\\\"s Audio и может еще встретиться в старых версиях Monkey\\\\"s Audio. Структура APE tag значительно отличается от ID3 tag. Разработчики не стали идти по пути создания жестко фиксированных полей, а предоставили это право пользователям. Но для нежелающих заниматься изобретением велосипеда предлагается рекомендованный список категорий от разработчика, который представлен чуть ниже. Структура тега также очень гибка и не ограничивается количеством символов или его размером. APEv1 не имел заголовка, по этой причине тег располагается в конце аудио файла и если он используется совместно с ID3.1, то должен был располагаться перед ID3. В АPEv1 использовалась кодировка ASCII, что, естественно, приводило к появлению "кракозябр" при использовании нелатинских шрифтов. Впоследствии был установлен единый официальный формат тегов. Им стал формат APE2 .

APEv2
Появление второй версии APE tag обязано Фрэнку Клемму (Frank Klemm), (со)разработчик формата MPC - MusePack (mpp, mp+, mpc, MPEG+). И, естественно, данная версия тега предназначалась изначально только для этого формата. Позднее APEv2 стал использоваться в Monkey\\\\"s Audio, WavPack, OptimFROG и МР3. Тег обзавелся заголовком "Header", маркирующим начало тега, что позволило ему располагаться не только в конце, но и, при необходимости, в начале файла. Однако рекомендовано, все же, располагать его в конце файла. Кроме того Фрэнк Клемм снабдил тег кодировкой Unicode (UTF-8). Было также предложено расширение стандарта, которое позволяет записывать бинарные данные, а не только текст, что дало возможность сохранять графические изображения (обложек дисков) в этих тегах.

По умолчанию предлагается следующий список категорий:

    Title - Название композиции

    Subtitle - Уточнение к названию произведения

    Artist - Исполнитель

    Album - Название альбома

    Debut album - Дебют альбома

    Publisher - Компания, осуществившая запись композиции

    Conductor - Дирижер

    Track - Номер трека

    Composer - Композитор

    Comment - Комментарии, например, к произвидению или исполнителю

    ISBN - Специальный код, позволяет сканирующему оборудованию опознать продукт как книгу

    ISRC - Специальный код, позволяет сканирующему оборудованию опознать продукт как аудио компакт-диск

    Catalog - Номер каталога

    LC - Код лейбла

    Year - Дата выпуска композиции

    Record Date - Дата записи композиции

    Record Location - Место записи композиции

    Genre - Жанр

    Related - Дополнительная информация

    Language - Язык слов песни

    Bibliography - Библиография автора или исполнителя

Комментарии и Критика
Несомненно, APEv2 имеет ряд преимуществ, таких как отсутствие ограничений на количество и длину полей, использование Unicode и легкость (пере)записи. Как говорилось выше, APEv2 используют для различных аудио форматов, поскольку тег обладает хорошей гибкостью. Однако есть технические моменты, создающие проблемы при чтении тега некоторыми плеерами. Но в целом это не мешает APEv2 располагаться в списке поддерживаемых тегов практически у всех плееров и редакторах метаданных.

WM metadata
Одновременно с разработкой и продвижением WM формата, компания Microsoft разрабатывала свои медиатеги. Поскольку WMA является частью стандарта Windows Media, то и тег создавался единый как для аудио, так и для видео. Метаданные для WM не имеют конкретного названия, компания Microsoft называет их просто мультимедийными данными, но распространены и такие названия как ASF/WMA-tag или WMA/ASF-comments/metadata. Структура WM metadata очень напоминает ID3v2tag. Тег разделен на категории, каждая из которых имеет свой заголовок и может варьировать свой объем. Названия категорий во многом совпадают с ID3v2, хотя есть и дополнительные, связанные с видео, такие как продюсер, информация о киностудии, возрастной рейтинг и т.д. Сам тег с потоком аудиоданных при этом запаковывается в контейнер-оболочку ASF (Advanced Systems Format). ASF позволяет автоматически заносить информацию из тегов звуковых файлов в архив и хранить, метаданные распределено, то есть непосредственно в звуковых файлах. Расширение файла может быть *.wma или *.asf, причем, расширение *.wma используется только для аудио файлов.

WM metadata базируются на XML-Syntax, который может использовать практически любые кодировки ISO/IEC 8859 или Unikode, но для WM metadata используется исключительно Unikode.

Думаю, нет смысла представлять список категорий для этого и последующих медиатегов, которые в целом идентичны описанным выше, тем более, что большая часть которых так и остаются незаполненными. Причиной тому является: с одной стороны, пользователи и авторы музыки, не желающие этого делать, а с другой стороны, программное обеспечение, ориентированное на этих же пользователей, предоставляющее ограниченный набор редактируемых категорий. Кстати, хочу отметить, что редактор метаданных, встроенный в Windows Media Player, предлагает очень даже не плохой ассортимент. Редкий плеер и не каждый редактор тегов предложит вам, например, засинхронизировать слова песни с музыкой. Также сведения о произведении и исполнителе представлены немного шире, чем у других. Но это к данной теме не относится и ни в коем случае не говорит о плюсах или минусах WM metadata.