id3 теги что это такое

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

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

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

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

ID3 теги

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

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

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

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

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

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

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

MP3-фрейм

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

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

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

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

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

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

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

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

Длительность = Размер аудиоданных / Битрейт (в битах!) * 8

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

Необходимо пояснить – как определить режим сжатия. Всё просто. Если файл сжат с 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 — Тут лежат скрипт на php, которые я писал для себя одновременно с данной статьей и четыре небольших mp3-файла для теста.

Источник

Что нужно знать о ID3 тегах?

21.08.2006 просмотров: 6825 Автор: Генератор

Небольшая статья о ID3 тегах. Не вникая в технические подробности дается понятие о способе сохранения дополнительной информации о mp3 файле в середине самого mp3 файла.

Приведем в качестве примера формат ID3 тегов версии 1.0 (самой первой версии):

ID3 Tag v1.0
Название песни 30 символов
Исполнитель 30 символов
Альбом 30 символов
Год 4 символа
Комментарий 30 символов
Жанр 1 байт

Таким образом, в музыкальном файле отводится 125 байт под ID3 теги и записываются они в указанном выше порядке. Плеер (например Winamp или тот же iTunes) знает, что первые 30 байт это название песни (строка), вторые 30 байт – имя исполнителя (строка) и так далее.
Обратите внимание, что для названия композиции, исполнителя, названия альбома и комментарий отводится 30 байт на каждую запись, другими словами больше 30 символов вписать не удастся. Один байт отведенный для записи информации о жанре работает следующим образом: это может быть число от 0 до 79 которое соответствует названию одного из 80 жанров – Rock, Pop, R&B и так далее. Плеер считывает число и высвечивает соответствующий жанр. Кстати, а у Вас в коллекции есть такие экзотические жанры как «Primus», «Pranks», и «Fast Fusion»?
Так как отведенного под комментарий места размером в 30 символов было определенно мало, и вероятно мало кто им пользовался, было решено сократить комментарий до 28 символов и добавить тег номера трека (Track Number). Так появилась версия 1.1:

ID3 Tag v1.1
Название песни 30 символов
Исполнитель 30 символов
Альбом 30 символов
Год 4 символа
Комментарий 28 символов
[отступ/не использ.] 1 байт (нулевой)
Номер трека 1 байт
Жанр 1 байт

Все это, как и прежде, упаковано в 125 байт и по прежнему содержит ограничения в 30 символов на название композиции, имя исполнителя и название альбома.

В следующей версии ID3 структура была изменена таким образом, чтобы обеспечить максимальную гибкость при добавлении информации о треке и все еще сохранить совместимость с плеерами которые понимали только ID3 версии 1.х. Спецификация этой, 2.х версии ID3 значительно более сложная для иллюстрации по сравнению с 1.х, сложность обусловлена именно высокой «гибкостью» этой структуры. Попробуем описать ключевые особенности словами. Различная информация может храниться в «окнах» («frames»), по 256 байт каждое; каждое такое «окно» начинается с идентификатора который указывает чтО именно хранится в данном окне. Так как эти «окна» могут размещаться в произвольном порядке то плеер должен определить какая именно информация хранится в каждом конкретном окне (опять, если Вам очень очень ооочень интересно. ID3.org ).
Подводя итог скажем, что ID3 теги версии 2.х могут содержать строки в формате Unicode длиной до 256 символов. Это значит что название песни, имя исполнителя, название альбома и комментарий позволяют быть достаточно длинными если Вы используете ID3 v2.x.

В дополнение к значительно более длинным строковым записям, в ID3 тегах версий 2.х появились элементы которые напрочь отсутствовали в ID3 v1.x: например, установленный уровень громкости для файла и специально настроенный эвалайзер – iTunes умеет с ними работать, но некоторые другие плееры могут не распознать эту информацию. Также имейте ввиду, что рейтинги (Ratings), счетчик кол-ва проигрываний (Play Count), дата последнего проигрывания (Play Date) – элементы появившиеся в iTunes 3, а также время начала воспроизведения (Start Time) и время конца воспроизведения (Stop Time) не сохраняются в ID3 тегах музыкального файла (для рейтинга в ID3 тегах вторых версий даже предусмотрено свое «окно», но iTunes не использует его потому что один и тот же файл может находиться в библиотеках разных пользователей, каждый из которых захочет поставить свой рейтинг). Не-ID3 данные о MP3 треках сохраняются в базе данных iTunes и поэтому не «путешествуют» вместе с музыкальными файлами. Вы можете найти практически всю информацию которая не записывается в ID3 теги в файле «iTunes Music Library.xml».

Читайте также:  Что значит туш на армянском

Источник

Id3 теги что это такое

(mp3Tag Pro) I have just downloaded and installed version 9.2. It is a great piece of software and you provide one of the best customer services I have ever come to! Congratulations on such a great enterprise, and thanks again for your help.

I just wanted to say this application is brilliant. It does exactly what it says it does, simply and easily. Thank you

Wow! The Free M4a to MP3 Converter installed so easily, was super easy to use, and BAM! my files were converted in (and I’m not kidding) about 90 seconds total, Download, install, and conversion. GREAT product!

Excellent utility which works very well. Works better than freeware solutions I have tried. I’ll have no hesitation in purchasing further utilities from you when required.

MP3 Recorder Studio 9.0

В последней версии код программы звукозаписи был пересмотрен, чтобы улучшить совместимость с Windows 10. Программа полностью поддерживает юникод и работает во всех изданиях Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows XP. Читать далее.

Разрезать аудио с CUE

С помощью Visual MP3 Splitter & Joiner вы можете разрезать и соединять файлы MP3, WAV, APE, WMA различными способами. Например, клик на форме сигнала поставит точку разбивки (в режиме разбивки одним кликом). Режим распознавания тишины позволит выделить отдельные треки из большого файла аудио. Читать далее.

Создание и использование файлов CUE

Создавать копии музыкальных компакт-дисков и других подобных носителей информации можно разными способами. Прежде всего, вы можете конвертировать треки музыкальных компакт-дисков в различные форматы сжатия с потерями или без потерь: MP3, OGG, FLAC, APE и т.д. Читать далее.

Изначально аудио файлы были пустыми и не содержали никакой информации кроме имени файла. Ситуация изменилась в 1996 году, когда Эрик Кемп придумал ID3v1-тэги. Главная идея состояла в наполнении файлов дополнительной информацией.

ID3v1-тэги позволяют хранить информацию об исполнителе, альбоме, годе выпуска, номер трэка и комментарии. Больше не нужно было придумывать изощрённые названия для своих файлов (да и не все операционные системы поддерживали длинное имя файла в то время).

ID3v1-тэги вмещали 30 символов. Этого было в некоторых случаях недостаточно, поэтому появилась новая версия ID3v2, в которой используется совершенно другой подход.

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

С помощью программы mp3Tag Pro можно легко управлять ID3-тэгами.

Источник

Разновидности медиатегов

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

Какие же разновидности верных этой парадигме тегов распространены в мире? Сегодня три типа компрессированных цифровых аудиофайлов можно причислить к лидерам: это, конечно же, MP3, а также AAC, используемый компанией Apple, и WMA, протеже Microsoft. И каждый из них имеет собственную систему тегов. Интернет-аудиофилы и поклонники Open-source имеют своих любимцев: формат Monkey Audio, сокращенно APE, и форматы OGG и FLAC, разработанные Xiph.org. И Monkey Audio, и форматы Xiph.org также могут похвастаться своей системой тегов. Наконец, один из самых малораспространенных сегодня в потребительской электронике форматов, ATRAC, принадлежит компании Sony и также имеет теговую систему.

В итоге получаем шесть более-менее известных публике типов метаданных. Поговорим о них поподробнее.

ID3 tag

MP3-файлы продолжают занимать первое место по распространенности среди сжатых аудиоформатов, причем с солидным отрывом, несмотря на более чем преклонный возраст. Самые первые теги появились именно здесь. Их название – ID3-теги – стало настолько популярным, что часто употребляется для обозначения тегов вообще, вне зависимости от того, идет ли речь об MP3, WMA, AAC или любом другом файле. А появилось оно от аббревиатуры: Identification Data for Studio3 (идентификационные данные для Studio3). Studio3 была программой Эрика Кемпа, автора первого тега.

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

ID3 v1

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

Схема ID3 v1 тега с id3.org

Во-первых, доступный для тега объем информации был ограничен 128 байтами (именно байтами!).

Song Title Название композиции 30 знаков
Artist Исполнитель 30 знаков
Album Альбом 30 знаков
Year Год выпуска 4 знака
Comment Комментарий 30 знаков
Genre Жанр 1 байт

Для жанров создатель ID3 v1 подготовил список из 80 позиций, присвоив каждому из них порядковый номер от 0 до 79, который и заносился в один-единственный жанровый байт. Список этот, естественно, устроил не всех, критики замечали, что он несбалансирован, содержит много экзотических и маргинальных жанров, а некоторые распространенные классические жанры оказались обойдены. Но что можно было ожидать от одного человека с несколькими товарищами, не могли же они быть музыкальной энциклопедией?

Число категорий позже выросло до семи за счет хитро добавленной позиции «номер трека в альбоме», такой обновленный тег получил название ID3 v1.1.

В-третьих, рамки категорий были жесткими, заданными раз и навсегда. Если у вас осталось свободное место в графе «название песни» (что случалось часто), то использовать его для того, чтобы ввести имя исполнителя длиннее 30 символов, было нельзя. Оставшееся место просто заполнялось нулями.

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

В-пятых, для текстовой информации по умолчанию использовалась кодировка ISO-8859-1. Если в теге использовалась, к примеру, кириллическая кодировка ISO-8859-5, то никакой возможности сообщить об этом программе-проигрывателю не было – место под это в теге не предусмотрено. Это делало невозможным создание универсальных проигрывателей с автоматическим распознанием кодировки, для каждой не англоязычной страны было необходимо создавать свою версию. В случае MP3-плееров этим утруждали себя далеко не все, в результате пользователям приходилось любоваться на «кракозябры». Отсюда популярный среди покупателей плееров вопрос: «Поддерживает ли он русские теги?» (т.е. теги в кириллической ISO-8859-5 кодировке).

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

Расширением возможностей ID3 v1 позже стал Lyrics3 – дополнительный тег для слов песен. Он шел перед самим ID3-тегом. Этот тег был позже расширен до версии 2, которая, помимо собственно слов песни, могла включать информацию о композиции (исполнитель, альбом, название), причем без ограничений в 30 символов. Слова песни было возможно синхронизировать с аудио, присваивая им временные метки.

Схема Lyrics3 v2 тега с id3.org

Все это, впрочем, было полумерами, развитие Интернета диктовало необходимость в совершенно новом формате. Через два года, в 1998, на свет появился ID3 v2.

ID3 v2

В новой версии было исправлено большинство недостатков. Тег «переехал» в начало файла. Каждая категория получила свой заголовок, благодаря которому их размеры теперь могли меняться, приспосабливаясь под реальный объем информации. В заголовок вошел и бит кодировки для борьбы с кракозябрами. Кроме кодировки ISO-8859 стала доступна и Unicode. Объем, доступный для каждой категории, вырос до 16 мегабайт, общий объем тега ограничен 256 мегабайтами. Для удобства программ сам тег получил заголовок, сообщающий много информации о нем (ну прямо тег для тега): ориентировочное количество категорий и их объемы, использованную кодировку, тип и разрешение графических файлов и многое другое.

Схема ID3 v2 тега с id3.org

Список категорий разросся до гигантских размеров (для экономии места не будем перечислять чисто служебные):

Audio encryption Информация о том, был ли файл закодирован и кем
Attached picture Изображение, обычно Album Art
Comments Комментарии
Commercial frame Здесь содержится коммерческая информация: цена композиции с валютой, логотип компании-продавца и т.п.
Encryption method registration Если файл был закодирован, то здесь сообщается метод кодирования
Equalisation Здесь пользователь может оставить информацию о предпочтительных настройках эквалайзера для этого файла.
Event timing codes Этот тег позволяет создать «карту» композиции с указанием ключевых точек: конца вступления, начало припева и т.п.
General encapsulated object Сюда можно «впихнуть» любой нужный файл
Linked information Здесь можно размещать ссылки на теги в других файлах. К примеру, если все композиции из одного альбома, Album Art можно разместить только в заглавной, а все прочие будут ссылаться на него
Music CD identifier Это идентификатор CD, с которого был скопирован файл
Ownership frame Здесь гордый владелец может написать свое имя
Private frame Создатель файла или разработчик ПО может разместить здесь свою частную информацию
Play counter Счетчик сколько раз файл был проигран
Popularimeter Здесь выставляется рейтинг песни, хороша она или плоха (от 1 до 255)
Position synchronisation frame Информация о месте, на котором пользователь приостановил проигрывание
Relative volume adjustment В этой категории пользователь указывает удобный для него уровень громкости проигрывания данного файла (можно отдельно для каждого канала)
Reverb Здесь можно указать комфортные настройки реверберации (эффекта эха) для данного файла
Signature frame Категория для цифровой подписи
Synchronised lyric/text В этой категории может содержаться текст, синхронизированный с аудиопотоком, к примеру, текст песни
Album/Movie/Show title Название альбома или кинофильма, или шоу, из которого взята композиция
BPM (beats per minute) Музыкальный темп композиции (в битах в минуту)
Composer Имя композитора
Content type Аналог пункта «жанр» в ID3 v1
Copyright message Информация о владельце авторских прав на файл
Encoding time Дата и время, когда данный файл был сжат
Playlist delay Здесь указывается, сколько секунд тишины следует добавлять перед проигрыванием файлов. Равно нулю для композиций, которые переходят одна в другую без пауз (Gapless)
Original release time Дата и время, когда была выпущена оригинальная композиция (к примеру, если данная композиция – кавер)
Recording time Дата и время, когда была записана данная композиция
Release time Дата и время, когда была выпущена данная композиция
Tagging time Дата и время, когда в данном файле были проставлены теги
Encoded by Информация о лице или организации, сжавшей данный файл
Lyricist/Text writer Автор слов песни
File type Тип аудиофайла (Layer I, Layer II, Layer III, MPEG 2.5)
Involved people list Список людей, участвовавших в записи композиции
Content group description Эту категорию можно описать как «поджанр»
Title/songname/content description Название композиции
Subtitle/Description refinement Дополнительная информация к названию композиции
Initial key Тон, с которого начинается композиция
Language(s) Язык слов песни
Length Длина композиции в миллисекундах
Musician credits list Информация о музыкантах, участвовавших в записи
Media type Здесь указывается, на каком носителе была написана эта композиция
Mood Настроение композиции
Original album/movie/show title Название альбома или кинофильма, или шоу, из которого взята оригинальная композиция (к примеру, если данная композиция – кавер)
Original filename Оригинальное имя файла (на случай если оно будет изменено, к примеру, в силу ограничений носителя)
Original lyricist(s)/text writer(s) Имя автора оригинальных слов (к примеру, если данная композиция – кавер)
Original artist(s)/performer(s) Имя оригинального исполнителя (к примеру, если данная композиция – кавер)
File owner/licensee Владелец файла или лицензии
Lead performer(s)/Soloist(s) Ведущий исполнитель/солист
Band/orchestra/accompaniment Коллектив/оркестр/аккомпанемент
Conductor/performer refinement Дирижер
Interpreted, remixed, or otherwise modified by Автор ремикса или измененной версии (если композиция является таковой)
Part of a set Если композиция является частью сета, здесь можно указать какого
Produced notice Информация о владельце авторских прав на оригинальное произведение (а не на данный файл)
Publisher Издатель (обычно – лейбл)
Track number/Position in set Порядковый номер композиции на CD или в сете
Internet radio station name Название интернет-радиостанции
Internet radio station owner Имя владельца интернет-радиостанции
Album sort order Название альбома, применяющееся для нужд сортировки. Полезно, если название начинается с «the» или «a»
Performer sort order Имя исполнителя, применяющееся для нужд сортировки. Полезно, если оно начинается с «the» или «a»
Title sort order Название композиции, применяющееся для нужд сортировки. Полезно, если название начинается с «the» или «a»
ISRC (international standard recording code) Код ISRC (международный стандартный код звукозаписи)
Software/Hardware and settings used for encoding ПО и аппаратура и их настройки, использованные при сжатии файла
Set subtitle Название той части сета, к которой принадлежит композиция
Unique file identifier Уникальный идентификатор файла, служит для СУБД
Terms of use Здесь располагается пользовательское соглашение
Unsynchronised lyric/text transcription Текст (например, слова песни), не синхронизированный с аудиопотоком
Commercial information Эта категория содержит ссылку на страницу в сети Интернет, где может быть приобретена данная композиция
Copyright/Legal information Эта категория содержит ссылку на страницу в сети Интернет, где можно найти информацию о правообладателе
Official audio file webpage Ссылка на официальную страницу данного файла в сети Интернет
Official artist/performer webpage Ссылка на официальную страницу исполнителя в сети Интернет
Official audio source webpage Ссылка на официальную страницу источника данной композиции в сети Интернет (к примеру, на страницу фильма, если песня из фильма)
Official Internet radio station homepage Ссылка на официальную страницу интернет-радиостанции
Payment Ссылка на официальную страницу компании, ответственной за проведение платежей при приобретении композиции
Publishers official webpage Ссылка на официальную страницу издателя (лейбла)
User defined URL link frame Произвольная ссылка пользователя

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

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

Хотя v2 и поддерживает Unicode, проблемы кракозябр не ушли в прошлое – по старой памяти теги сплошь и рядом продолжают вносить в ISO-8859. По крайней мере, современные плееры могут увидеть, какая кодировка использовалась, по заголовку тега.

Недостатком ID3-тегов в целом является изобилие версий: v1 (две версии), v2 (четыре версии), Lyrics3. Производителям приходится заботиться о поддержке всех этих версий, и не все и не всегда с этим справляются.

ID3 v2 стал большим шагом вперед для аудиотегов. За два года он пережил четыре модификации до версии 2.4 и вот уже семь лет существует без серьезных изменений. Теги новых цифровых файлов – WMA, AAC и пр. – создавались уже не без оглядки на опыт ID3.

WM metadata

Microsoft начала продвижение своего конкурента MP3 – Windows Media Audio, WMA – в 2000 году. Существенным отличием было то, что формат с самого начала позиционировался для интернет-музыки. Поэтому одновременно с разработкой формата были разработаны и теги для него. Они не имеют четкого наименования, иногда ошибочно называются ID3-тегами, иногда WMA-тегами. Так как WMA – только часть стандарта Windows Media, имеет смысл пользоваться общим термином WM metadata.

В силу более поздних сроков разработки WMA-файлы имеют несколько более хитрое строение, нежели MP3. Здесь используется контейнерная структура, при которой файл с потоком аудиоданных «запаковывается» в оболочку-контейнер. Для Windows Media контейнером должен был служить ASF-файл. Но широкого распространения расширение ASF так и не получило, для аудиофайлов контейнеру обычно присваивают все то же расширение WMA. Метаданные включены в состав этого контейнера.

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

Сравнивая категории WM metadata с категориями ID3 v2, можно сразу понять, какой из тегов появился «снизу», а какой – «сверху». В WM metadata меньше информации, описывающей потребительские качества композиции, но есть вещи наподобие возрастного рейтинга, информации о провайдере и т.п. Т.к. WM metadata используется и для видеофайлов, этот тег создавался так, чтобы использоваться и для аудио, и для видео. Кое-что из категорий только для видео, наподобие «Продюсер», «Идентификатор DVD», мы приводить не стали (хотя теоретически эти категории могут использоваться для аудио).

В WM metadata используется исключительно Unicode-кодировка, позволяющая нейтрализовать столь частую для тегов проблему кракозябр. Это можно причислить к преимуществам данного тега, хотя в силу меньшей распространенности WMA-файлов многие MP3-плееры, особенно старые модели, не способны их прочесть.

В целом сходства с ID3 v2 очень много. Оба тега имеют жесткую, раз и навсегда прописанную структуру. Списки категорий имеют много совпадений. Это неудивительно: зачем Microsoft было выдумывать велосипед, когда в свободном доступе существовала уже хорошо обкатанная система тегов?

iTunes tag

Хотя формат AAC имеет определенные технологические преимущества перед MP3, он едва ли получил бы сколь-либо серьезное распространение, не будь компании Apple. Она фактически «приватизировала» его для нужд своих iTunes Store, iTunes и iPod.

Переход экосистемы Apple на AAC состоялся в 2003 году, т.е. у компании была возможность учесть достижения и промахи и ID3, и WM metadata. В итоге использованная ей технология получила много общих черт с форматом Microsoft. Впрочем, едва ли здесь можно говорить о заимствовании: программисты Apple уже имели богатый опыт работы с мультимедиа-форматами.

Как и в случае с WMA, используется контейнер, для iTunes-медиафайлов это MP4 (или MPEG-4 Part 14). Он уходит корнями в старые разработки Apple, в QuickTime MOV. Различные типы MP4-медиа используют следующее семейство расширений:

Вместе с контейнерами под iTunes были разработаны и теги. Они не являются частью стандарта AAC, а были созданы отдельно, в этом у них имеется определенное сходство с ID3.

Apple не публикует спецификаций своих метаданных, и информация по ним довольно скудна. Известно, что они являются частью структуры MP4-контейнеров, основанной на иерархии так называемых «атомов». Грубо говоря, атомы в рамках MP4 представляют собой, как это следует из их названия, составные части-кирпичики файла. Каждый атом (на этот раз вопреки названию) может включать в себя группы других атомов. Теги iTunes также являются атомами, вместе они составляют группу метаданных, входящую в атомы калибром побольше.

В число категорий-атомов iTunes тегов входит:

Album Название альбома
Artist Исполнитель
Album Artist Автор альбома
Comment Комментарий
Year Год выпуска композиции
Title Название композиции
Genre (standard) Жанр (стандартный)
Genre (custom) Жанр (произвольный)
Track number Порядковый номер композиции в альбоме или сете
Disk number Порядковый номер диска в коллекции
Composer Композитор
Encoder Кем был сжат файл
BPM Темп композиции (бит в минуту)
Copyright Информация о правообладателе
Compilation Компиляция
Artwork Изображение, обычно Album Art
Rating/Advisory Рейтинг
Grouping Группировка
Podcast Подкаст
Category Категория
Keyword Ключевое слово
Podcast URL Ссылка на страницу с подкастом
Episode Global Unique ID Уникальный идентификатор эпизода
Description Описание
Lyrics Слова песни
Purchase Date Дата покупки
Gapless Playback Непрерывное проигрывание
iTunes_CDDB_IDs, iTunes_CDDB_1, iTunes_CDDB_TrackNumber Это идентификатор CD, с которого был скопирован файл
iTunNORM Информация о нормализации (уровне громкости) текущей композиции
iTunSMPB Здесь указывается, сколько секунд тишины следует добавлять перед проигрыванием файлов. В паре с Gapless Playback отвечает за Gapless-проигрывание

Спецификой iTunes-тегов является наличие семейства ID-категорий (не путать с ID3), содержащих информацию об их владельце. Их наличие неоднократно подвергалось критике части онлайн-общественности, в то же время другая часть утверждает, что если пользователь не будет нелегально распространять свои треки, то бояться ему нечего.

iTunes-теги помнят своего владельца

iTunes-теги используют Unicode-кодировку, следовательно, MP4-контейнеры тоже не подвержены кракозябрам.

Разнообразие категорий в iTunes-тегах меньше, чем в ID3 и WM metadata. Имеется набор служебных тегов, связанных с коммерческой составляющей iTunes, аналогично WMA.

В отличие от Microsoft, слегка забросившей в последнее время свое Windows Media направление, Apple регулярно дополняет свои теги, отражая расширение возможностей своих плееров и ПО. Из последних добавок – тег Gapless, появившийся в конце 2006 года. Если Apple все же откроет бизнес по продаже рингтонов для iPhone, следует ожидать новых модификаций iTunes tag.

Xiph Comments

Популярные среди «продвинутой» публики форматы OGG и FLAC имеют свою систему тегов. Называется она по наименованию разработчика, некоммерческой организации Xiph.org.

Отличительная особенность этой системы – отсутствие фиксированной структуры. Если в ID3, WM, iTunes все доступные категории раз и навсегда прописаны «сверху», то здесь пользователь может создавать любые свои категории, такого типа, какого захочет, с названиями по своему вкусу. В этом выразился «народный» open-source-характер Xiph-форматов.

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

TITLE Название композиции
VERSION Версия композиции (если она является ремиксом или чем-то в этом роде)
ALBUM Название альбома, в который входит композиция
TRACKNUMBER Порядковый номер композиции в рамках альбома, сборника или сета
ARTIST Автор композиции (может совпадать с композитором)
PERFORMER Исполнитель композиции (может совпадать с автором)
COPYRIGHT Информация о правообладателе
LICENSE Подробности, касающиеся лицензирования композиции
ORGANIZATION Организация, ответственная за выпуск композиции (обычно рекорд-лейбл)
DESCRIPTION Описание композиции
GENRE Жанр
DATE Дата выхода композиции
LOCATION Место, где была записана композиция
CONTACT Контактная информация компании или лица, ответственного за создание или распространение композиции
ISRC Код ISRC (международный стандартный код звукозаписи)

Список короткий и нарочито законопослушный, т.к. Xiph заинтересованы в том, чтобы их форматы использовали и «серьезные» организаторы. Конечно, простые пользователи при желании могут его игнорировать, но большинство плееров, поддерживающих OGG и FLAC, ориентируются именно на эту структуру.

Как и другие форматы тегов нового поколения, в Xiph comments используется Unicode-кодировка для текста.

APE tag

Проект Monkey Audio и формат APE имеет много общего с Xiph – тоже «народный», ориентированный на «продвинутое» сообщество, симпатизирующее идеям open-source.

Так же и теги, используемые в этом формате, схожи по архитектуре с Xiph comments. Тут мы снова видим гибкую структуру, без фиксированных категорий, открытую для модификации пользователем. Любопытной особенностью APE-тегов является возможность нахождения в одной категории нескольких значений (например, нескольких исполнителей и т.п.). В настоящее время в основном используется вторая версия APE tag.

Как и в Xiph comments, Monkey Audio предлагает список категорий по умолчанию:

Title Название композиции
Subtitle Дополнение к названию композиции
Artist Исполнитель
Album Название альбома, в который входит композиция
Debut album Дебютный альбом
Publisher Компания, ответственная за выпуск композиции (обычно рекорд-лейбл)
Conductor Дирижер
Track Порядковый номер композиции в альбоме, сборнике или сете
Composer Композитор
Comment Комментарий
Copyright Информация о правообладателе
Publicationright Информация об обладателе прав на публикацию
File Ссылка на страницу, содержащую файл
EAN/UPC Бар-код
ISBN Код ISBN (международный стандартный номер книги)
Catalog Номер каталога
LC Код лейбла
Year Дата выпуска композиции
Record Date Дата записи композиции
Record Location Место записи композиции
Genre Жанр
Media Источник композиции
Index Индекс композиции для быстрого доступа
Related Дополнительная информация
ISRC Код ISRC (международный стандартный код звукозаписи)
Abstract Резюме
Language Язык слов композиции
Bibliography Библиография или дискография автора/исполнителя
Introplay Временные координаты наиболее характерного фрагмента композиции для быстрого ознакомления

Список гораздо обширнее. Обращает на себя внимание ряд оригинальных категорий, таких, как библиография/дискография, и адаптированность тегов под аудиокниги.

Несложно догадаться, что APE comments тоже используют Unicode-кодировку и тем самым защищены от кракозябр.

OMA tag

Формат ATRAC в своей идеологии – абсолютная противоположность Xiph и Monkey Audio. Полная проприетарность в противовес open-source. Изначальная расположенность к DRM против полного отсутствия таковой. Эти форматы стоят на двух полюсах, неудивительно, что ни один из них не является самым популярным. Закрытость ATRAC отпугивает потребителя, открытость Xiph и Monkey Audio – производителя.

Хотя сам по себе кодек ATRAC относится с самым древним алгоритмам сжатия аудио с потерями, современной функциональностью, в т.ч. метаданными, он «оброс» только на рубеже 1999-2000 гг. Sony применило уже известную нам контейнерную технологию. Аудиопоток ATRAC заключается в проприетарный OMA-контейнер:

OMA – Open Magic Audio – обычный
OMG – Open Magic Gate – защищен OpenMG DRM.

Контейнер OMA и содержит теги. Описывать их нет никакого смысла, это хорошо нам уже знакомые ID3v2 теги. Да, именно так, Sony просто-напросто встроила этот открытый стандарт метаданных в свой закрытый формат. Некоторые отличия все же есть – категории, в ID3v2 предназначенные для хранения текстовой информации, используются в нем для данных, относящихся к DRM OpenMG. Так, открытый, народный, созданный «низами» формат метаданных был поставлен на службу закрытой технологии, предназначенной исключительно для того, чтобы ограничить свободу этого самого народа в отношении своего контента.

Помимо ATRAC в OMA-контейнер могут быть заключены также MP3-, WMA- или AAC-аудиопотоки. Собственно, именно это происходит при копировании аудио в подобных форматах на плееры Sony Network Walkman с помощью ПО SonicStage. Теги в них, соответственно, меняются на OMA (читай – ID3v2) теги, причем не всегда это происходит гладко, иногда метаданные теряются, искажаются. Эта особенность, как и многое другое в инфраструктуре SonicStage, вызывает серьезные претензии у пользователей.

Стоит отметить, что в реальной жизни не редкость использование тегов одного типа с файлами другого. Большинство программных проигрывателей натаскано на поиск идентификаторов тегов в файлах и без труда прочтут «чужеродные» метаданные, к примеру, APE tag в MP3-файле или ID3 v2 в M4A. Технически подкованные пользователи часто создают подобных «мутантов», комбинируя любимый тип тега с любимым форматом сжатия. MP3-плееры, однако, будут введены в замешательство таким поворотом событий и в большинстве случаев «неправильный» тег не прочтут.

Источник

Читайте также:  какой интервал должен быть между прививками у взрослых спутник
Сказочный портал