Из Википедии, бесплатной энциклопедии
  (Перенаправлено с тега ID3 )
Перейти к навигации Перейти к поиску

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

Есть две несвязанные версии ID3: ID3v1 и ID3v2. ID3v1 имеет форму 128- байтовогосегмент в конце файла MP3, содержащий фиксированный набор полей данных. ID3v1.1 - небольшая модификация, которая добавляет поле «номер трека» за счет небольшого сокращения поля «комментарий». ID3v2 структурно сильно отличается от ID3v1, состоящий из расширяемого набора «кадров», расположенных в начале файла, каждый с идентификатором кадра (трех- или четырехбайтовой строкой) и одним фрагментом данных. В спецификации ID3v2.4 заявлено 83 типа кадров, и приложения также могут определять свои собственные типы. Существуют стандартные рамки для размещения обложек, BPM, авторских прав и лицензий, текстов песен, произвольного текста и данных URL, а также прочего. Задокументированы три версии ID3v2, каждая из которых расширяет определения фреймов.

ID3 - де-факто стандарт метаданных в файлах MP3; ни один орган по стандартизации не участвовал в его создании, и такая организация не дала ему официального статуса утверждения. [1] На этой арене он конкурирует с тегом APE .

Lyrics3v1 [2] и Lyrics3v2 [3] были стандартами тегов, реализованными до ID3v2, для добавления текстов песен в файлы mp3. Отличие от ID3v2 состоит в том, что Lyrics3 всегда находится в конце файла MP3, перед тегом ID3v1.

ID3v1 [ править ]

Стандарт MP3 не включал метод хранения метаданных файлов. В 1996 году Эрику Кемпу пришла в голову идея добавить небольшой фрагмент данных в аудиофайл, тем самым решив проблему. Метод, теперь известный как ID3v1, быстро стал де-факто стандартом для хранения метаданных в MP3. [4]

Тег ID3v1 занимает 128 байт , начиная со строки TAG 128 байт от конца файла. Тег был помещен в конец файла для обеспечения совместимости со старыми медиаплеерами . Некоторые игроки воспроизводят небольшой статический всплеск при чтении тега, но большинство игнорируют его, и почти все современные игроки правильно его пропускают. Этот тег позволяет 30 байтов для названия, исполнителя, альбома и «комментария», четырех байтов для года и байта для определения жанра песни из предопределенного списка из 80 значений ( позже Winamp расширил этот список до 148 значений). [ необходима цитата ]

Одно усовершенствование ID3v1 было сделано Майклом Мучлером в 1997 году. Поскольку поле комментария было слишком маленьким для записи чего-либо полезного, он решил обрезать его на два байта и использовать эти два байта для хранения номера дорожки. Такие теги обозначаются как ID3v1.1 . [4]

ID3v1 и ID3v1.1 [5] [ править ]

Строки заполняются пробелами или нулями. Неустановленные строковые записи заполняются пустой строкой. ID3v1 имеет длину 128 байт. [6]

ID3v1 заранее определяет набор жанров, обозначенных цифровыми кодами. Winamp расширил список, добавив больше жанров в свой музыкальный проигрыватель, которые позже были приняты другими (хотя некоторые из них имеют сомнительную ценность: например, «Primus» - это одна конкретная группа, а не жанр, а «Negerpunk» кажется расистским. шутка по-шведски). Однако поддержка расширенного списка Winamp не универсальна. В некоторых случаях поддерживаются только жанры до 125. [8] [9]

Расширенный ТЕГ [10] [ править ]

Тег Enhanced - это дополнительный блок данных перед тегом ID3v1, который расширяет поля заголовка, исполнителя и альбома до 60 байтов каждое, предлагает жанр свободного текста, однобайтовую (значения 0–5) скорость, а также время начала и окончания музыка в файле MP3, например, для постепенного появления. Если ни одно из полей не используется, оно будет автоматически пропущено.

Некоторые программы, поддерживающие теги ID3v1, могут читать расширенный тег, но запись может оставлять устаревшие значения в расширенном блоке. Расширенный блок не является официальным стандартом и поддерживается только несколькими программами, не включая XMMS или Winamp. Тег Enhanced иногда называют «расширенным» тегом.

Тег Enhanced имеет длину 227 байт и размещается перед тегом ID3v1.

ID3v1.2 [11] [ править ]

Цель ID3v1.2 - добавить небольшие улучшения в неофициальный стандарт ID3v1.1 без нарушения неформального стандарта ID3v1. Тег ID3v1.2 не вызовет никаких проблем в устаревших декодерах / проигрывателях (старых) [11]

Список жанров в ID3v1 [12] [ править ]

стандартный [ править ]

Расширенный список Winamp [ править ]

Жанры 142–147 были добавлены в версии Winamp 1.91 от 1 июня 1998 года; жанры 148–191 были добавлены в Winamp 5.6 (30 ноября 2010 г.).

ID3v2 [ править ]

В 1998 году несколькими участниками была создана новая спецификация ID3v2. [13] Хотя он носит имя ID3, его структура сильно отличается от ID3v1.

Теги ID3v2 имеют переменный размер и обычно появляются в начале файла, что помогает потоковой передаче мультимедиа, поскольку метаданные по существу становятся доступными, как только файл начинает потоковую передачу, вместо того, чтобы требовать, чтобы сначала был прочитан весь файл, как в случае с ID3v1. . Теги ID3v2 состоят из нескольких кадров , каждый из которых содержит часть метаданных. Например, фрейм TIT2 содержит заголовок, а фрейм WOAR содержит URL-адрес веб-сайта исполнителя. Фреймы могут иметь длину до 16 МБ, а общий размер тегов ограничен 256 МБ. Проблема интернационализации была решена, позволив кодировать строки не только в ISO-8859-1 , но и в Unicode .

Текстовые фреймы помечаются байтом кодировки. [14]

$ 00 - ISO-8859-1 (LATIN-1, идентично ASCII для значений меньше 0x80).$ 01 - Юникод в кодировке UCS-2 с спецификацией, в ID3v2.2 и ID3v2.3.$ 02 - Юникод в кодировке UTF-16BE без спецификации, в ID3v2.4.$ 03 - Юникод в кодировке UTF-8, в ID3v2.4.

Однако моджибаке по-прежнему распространен при использовании локальных кодировок вместо Unicode. В частности, известно, что некоторые японские редакторы используют кодировку Shift JIS , которая обычно имеет катастрофические последствия: она не будет работать с любым стандартным программным обеспечением независимо от локальных настроек (поскольку оно не поддерживается стандартом), не будет работать за пределами Японии. (поскольку Shift JIS имеет очень небольшую поддержку за пределами Японии) и не будет работать даже на всех японских компьютерах даже со специально несовместимым считывателем (поскольку он зависит от программного обеспечения и настроек).

В спецификации ID3v2.4 объявлено 83 типа кадров [15], и приложения также могут определять свои собственные типы. Существуют стандартные рамки для размещения обложек, BPM , авторских прав и лицензий, текстов песен, произвольного текста и данных URL, а также прочего. Существует три версии ID3v2:

ID3v2.2
v2.2 была первой общедоступной версией ID3v2. Он использовал трехсимвольные идентификаторы кадра, а не четыре ( TT2 для заголовка вместо TIT2 ). Большинство распространенных фреймов v2.3 и v2.4 имеют прямые аналоги в v2.2. Сейчас этот стандарт считается устаревшим. [16]
ID3v2.3
v2.3 расширил идентификатор кадра до четырех символов и добавил количество кадров. Это наиболее широко используемая версия тегов ID3v2. [17]
ID3v2.4
v2.4 была опубликована 1 ноября 2000 г. и остается последней версией. Важным нововведением является то, что текстовый фрейм может содержать несколько значений, разделенных нулевым байтом . Он также позволяет кодировать текстовые данные в UTF-8, а не в UTF-16 , что было обычной практикой в ​​некоторых частях мира в более ранних тегах (несмотря на стандарт, поскольку он еще не поддерживался), потому что UTF-8 обычно кодирует Азиатские скрипты менее эффективны, чем UTF-16 . Еще одна новая функция позволяет добавлять тег в конец файла перед другими тегами (например, ID3v1). [18]
Ни одна из версий Windows Explorer или Windows Media Player - до Windows 10 (начальный выпуск) и WMP 12, соответственно, не интерпретирует теги ID3v2.4 правильно. Однако эти программы могут интерпретировать ID3v2.3 и более ранние версии. [19] [20] Windows Explorer наконец-то поддерживает чтение тегов ID3v2.4 с помощью Windows 10 Creators Update (версия 1703), но новая версия Windows 10 по-прежнему не может правильно интерпретировать тег ID3v2.4 с некоторыми неанглийскими и азиатскими символами. .

Проблема с тегом рейтинга ID3v2 [ править ]

Фактически существует свободный стандарт для определения рейтинга песен. Большинство приложений будут отображать от 0 до 5 звезд для каждой песни, и то, как они обозначаются, может варьироваться. Например, при оценке песни в iTunes рейтинг не включается в тег музыкального файла, а вместо этого сохраняется в отдельной базе данных, содержащей все метаданные iTunes. Другие медиаплееры могут встраивать теги рейтинга в музыкальные файлы, но не обязательно таким же образом, поэтому в результате песня, получившая рейтинг на одном медиаплеере, иногда не будет отображать рейтинг таким же образом или вообще не будет отображаться при воспроизведении на другом. программное обеспечение или мобильное устройство. [ необходима цитата ]

Однако в спецификации ID3v2 есть кадр Popularimeter, предназначенный для этой цели. Фрейм называется POPM, и Windows Explorer, Windows Media Player, Winamp , foobar2000 , MediaMonkey и другое программное обеспечение отображают для отображения примерно одинаковые диапазоны от 0–255 до значения 0–5 звезд.

В следующем списке подробно описано, как проводник Windows читает и записывает фрейм POPM:

  • 224–255 = 5 звезд при ЧТЕНИИ с проводником Windows записывает 255
  • 160–223 = 4 звезды при ЧТЕНИИ с проводником Windows, пишет 196
  • 096-159 = 3 звезды при ЧТЕНИИ с проводником Windows пишет 128
  • 032-095 = 2 звезды при ЧТЕНИИ с проводником Windows пишет 64
  • 001-031 = 1 звезда при ЧТЕНИИ с проводником Windows пишет 1

Проводник Windows использует следующий синтаксис:

Проигрыватель Windows Media серии 9 | 255 | 0

0 - это часть счетчика воспроизведения POPM в соответствии со спецификацией ID3v2 POPM, которую не следует путать или путать с кадром PCNT, который является отдельным кадром, полностью предназначенным для счетчиков воспроизведения. Однако если приложение поддерживает гранулярность, оно должно указывать 1 для одной полной звезды, а 2–31 будут указывать на гранулярность под одной полной звездочкой. Примечательно, что строка идентификатора, которую использует Windows, не является адресом электронной почты, как того требуют спецификации. Кроме того, проводник Windows и проигрыватель Windows Media до Windows 7 и WMP 12 (возможно, выше) [ необходимо уточнение ] содержат ошибку, так что, если бы кто-то использовал их для оценки файлов, любые теги Replay Gain, которые у него были бы, будут поврежден. [ необходима цитата ]WMP также записывает те же значения, что и описанные выше, и читает так же, ЗА ИСКЛЮЧЕНИЕМ отсечки между 4 и 5 звездами, которая немного отличается и в основном не имеет никакого значения. Вместо этого WMP использует 221/222 по неясным причинам .

Главы ID3v2 [ править ]

Дополнение к главе ID3v2 было опубликовано в декабре 2005 г., но пока не пользуется широкой поддержкой. Он позволяет пользователям легко переходить к определенным местам или главам в аудиофайле и может обеспечить синхронизированное слайд-шоу изображений и заголовков во время воспроизведения. Типичные приложения включают расширенные подкасты, и его можно использовать в тегах ID3v2.3 или ID3v2.4. [21]

Расширение встроенного изображения ID3v2 [ править ]

Метаданные могут содержать кадр ID3 «Прикрепленное изображение» («PIC» или «APIC»), содержащий изображение. Поле в этом кадре может указывать на тип изображения. Определены следующие типы: [22]

$ 00 Другое$ 01 32x32 пикселей 'значок файла' (только PNG)$ 02 Значок другого файла$ 03 Обложка (передняя)$ 04 Обложка (задняя)$ 05 Листовка$ 06 Носители (например, этикетка на стороне компакт-диска)$ 07 Ведущий исполнитель / исполнитель / солист$ 08 Артист / исполнитель$ 09 Дирижер$ 0A Группа / оркестрКомпозитор за $ 0 млрд$ 0C Автор текста / автор текстовМестоположение записи $ 0D$ 0E Во время записи$ 0F Во время выступления$ 10 Захват фильма / видео экрана$ 11 Яркая рыбка$ 12 Иллюстрация13 долларов США логотип группы / исполнителя14 $ Логотип Publisher / Studio

Спецификация кадра ID3v2 [ править ]

Заметки:

  1. IPLS в ID3v2.3 отображается как в TIPL («список вовлеченных людей»), так и в TMCL («список исполнителей»).
  2. TDRC (время записи) объединяет TDAT (дату), TIME (время), TRDA (даты записи) и TYER (год).
  3. TCOM , TEXT , TOLY , TOPE и TPE1 могут содержать несколько значений, разделенных наклонной чертой ("/"). [23]

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

Редактирование тегов ID3 [ править ]

Теги ID3 можно редактировать разными способами. На некоторых платформах свойства файла можно редактировать, просматривая расширенную информацию в файловом менеджере . Кроме того, большинство аудиоплееров позволяют редактировать отдельные файлы или группы файлов. Редактирование групп файлов часто называют «пакетным тегированием». Существуют также специализированные приложения, называемые теггерами , которые специализируются на редактировании тегов и связанных с ними задачах. Некоторые из них, такие как puddletag, предлагают расширенные функции, такие как расширенная пакетная маркировка или редактирование на основе регулярных выражений .

Реализация, отличная от MP3, и альтернативы [ править ]

Теги ID3 были разработаны с учетом MP3, поэтому они без проблем будут работать с файлами MP3 и MP3Pro . Однако наборы тегов являются независимой частью файла MP3 и должны использоваться в других местах. На практике, единственными другими форматами, которые широко используют теги ID3v2, являются AIFF и WAV . В AIFF тег хранится внутри блока IFF с именем «ID3». Файлы ASF Windows media ( WMA , WMV ) имеют собственные форматы тегов, но также поддерживают теги ID3, встроенные в качестве атрибутов. [24]

MP4 также позволяет встраивать тег ID3. [25]

См. Также [ править ]

  • CD-текст
  • Комментарий Vorbis
  • Стандартная архитектура для универсальных расширений комментариев (СОУС)
  • XBin (расширенный двоичный)

Ссылки [ править ]

  1. ^ "История - ID3.org" . Архивировано из оригинала на 2010-12-24 . Проверено 22 января 2011 .
  2. ^ "Lyrics3 - ID3.org" . id3.org . Проверено 13 апреля 2018 .
  3. ^ "Lyrics3v2 - ID3.org" . id3.org . Проверено 13 апреля 2018 .
  4. ^ a b Практический Common Lisp , стр. 335.
  5. ^ "ID3v1 - ID3.org" . id3.org . Проверено 12 апреля 2018 .
  6. ^ Для реализации ID3v1 в Python см. « Погружение в Python», глава 5. Объекты и объектно-ориентированная ориентация. Архивировано 31 августа 2013 г. на Wayback Machine.
  7. ^ a b c Номер дорожки сохраняется в последних двух байтах поля комментария. Если комментарий состоит из 29 или 30 символов, номер дорожки не может быть сохранен.
  8. ^ "ID3 Tag Genre ID List" . Архивировано из оригинала 15 марта 2015 года.
  9. ^ "Список жанров ID3" .
  10. ^ «MP3 TAG & Enhanced TAG description (английский)» . 2012-03-10. Архивировано из оригинала на 2012-03-10 . Проверено 12 апреля 2018 .
  11. ^ a b "ID3v1.2" .
  12. ^ "d3v2.3.0 - ID3.org" . id3.org . Проверено 13 апреля 2018 .
  13. ^ «Авторы - ID3.org» .
  14. ^ "id3v2-00 - ID3.org" .
  15. ^ "ID3v2.4.0 Native Frames" . Проверено 27 декабря 2012 .
  16. ^ Нильссон, Мартин. «Информация для разработчиков ID3» . ID3.org . Проверено 9 апреля 2011 года .
  17. ^ "Тег ID3 версии 2.3.0" .
  18. ^ "Версия тега ID3 2.4.0 - Нативные фреймы" .
  19. Брайт, Питер (28 октября 2012 г.). «Музыка и видео в Windows 8: работа над собой» . arstechnica.com . Проверено 29 октября 2012 .
  20. ^ «Сообщество поддержки Microsoft» . 11 января 2011 г.
  21. Перейти ↑ Newell, C. (2 декабря 2005 г.). "Дополнение к главе ID3v2" . ID3.org . Проверено 6 февраля 2008 .
  22. ^ "id3v2.3.0 - ID3.org" .
  23. ^ "TPE1" Ведущие артисты / ведущие исполнители / солисты / исполнители "используются для основных артистов. Они разделены знаком" / " .
  24. ^ «Центр разработчиков Windows Media: поддержка тегов ID3» . Сеть разработчиков Microsoft . Microsoft . Проверено 24 марта 2010 .
  25. ^ «Центр регистрации 'MP4'» . Архивировано из оригинала на 2012-08-26 . Проверено 18 октября 2007 .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Список жанров в ID3v1
  • ID3v1 Спецификация
  • ID3 TAG и спецификация Enhanced TAG на Wayback Machine (архивировано 10 марта 2012 г.)
  • TagLib на GitHub
  • Параллельное сравнение версий ID3 и фреймов на Wayback Machine (архивировано 20 июня 2012 г.)
  • Онлайн-редактор тегов ID3