Bog BOS: dw: Метаинформация (теги) в звуковых и видеофайлах

Bog BOS: dw: Метаинформация (теги) в звуковых и видеофайлах

ID3 - формат контейнера, позволяющий хранить в файлах формата MP3 (MPEG-1 Layer III) дополнительную информацию, такую как имя артиста, название композиции, название альбома, номер дорожки и др.

Версия ID3v1 была разработана в 1996 (Eric Kemp). Метка располагается в конце файла, занимает 128 байт и начинается со строки "TAG". Поля: title (30 байт), artist (30 байт), album (30 байт), year (4 байта), comment (30 байт), genre (1 байт, список жанров предопределён). Кодировка - ISO-8859-1/ISO-Latin 1 (в России обычно используется cp1251), символ-заполнитель - 0x0.

Версия ID3v1.1 была разработана в 1997 (Michael Mutschler): в последнем байте поля comment записывается номер дорожки.

  • TT1 (TIT1) - Content group description
  • TT2 (TIT2) - название произведения
  • TT3 (TIT3) - уточнение названия
  • TP1 (TPE1) - основной исполнитель (можно указать несколько, разделяя их символом '/')
  • TP2 (TPE2) - уточнение исполнителя (название группы и т.д.)
  • TP3 (TPE3) - дирижёр
  • TP4 (TPE4) - обработчик, модификатор
  • TCM (TCOM) - композитор (можно указать несколько, разделяя их символом '/')
  • TXT (TEXT) - автор текст произведения (можно указать несколько, разделяя их символом '/')
  • TLA (TLAN) - язык (языки)
  • TCO (TCON) - жанр (ссылки на жанры из списка ID3v1 в виде '(номер)' или свой текст)
  • TAL (TALB) - название альбома. фильма, шоу и т.д.
  • TPA (TPOS) - номер части альбома (если используется несколько носителей) или "номер/из"
  • TRK (TRCK) - номер произведения в альбоме или "номер/из"
  • TRC (TSRC) - номер ISRC (International Standard Recording Code)
  • TYE (TYER) - год (4 символа)
  • TDA (TDAT) - дата записи в формате 'DDMM'
  • TIM (TIME) - время записи в формате 'HHMM'
  • TMT (TMED) - тип носителя, произвольный текст или код в скобках:
    • DIG[/A] (прочие цифровые источники [аналоговая передача])
    • ANA (прочие аналоговые источники)
    • CD[/A|/DD|/AD/AA]
    • LD[/A]
    • TT[/33|/45|/78] (грампластинка)
    • MD
    • DAT
    • DVD
    • TV/SECAM
    • VID/PAL/SVHS
    • RAD/FM
    • TEL (телефон)
    • MC (кассетный магнитофон)
    • REE (катушечный магнитофон)
    • USER - определяет права на использование файла
    • OWNE - определяет продавца, цену и дату покупки
    • PRIV - для частного использования
    • "экспериментальный" тег XRVA (relative volume adjustment, в dB) добавляется утилитой normalize
    • TSST - подзаголовок набора записей
    • TMCL - таблица соответствия между названиями инструментов (нечётные поля) и именами музыкантов (чётные поля через запятую)
    • TIPL - таблица соответствия между функциями (нечётные поля) и именами исполнителей (чётные поля через запятую), заменяет кадр IPLS
    • TMOD - настроение (Romantic и т.д.)
    • TPRO - аналогично TCOP, но для отметки изготовителя (P)
    • TOWN - имя покупателя лицензии
    • TDEN - отметка времени кодирования (ГГГГ-ММ-ДДTЧЧ:ММ:СС или сокращённое)
    • TDOR - отметка времени изготовления оригинала
    • TDRC - отметка времени записи (заменяет TYER, TDAT и TIME)
    • TDRL - отметка времени выпуска записи
    • TDTG - отметка времени записи тега
    • TSOA - строка, используемая для сортировки по альбомам вместо TALB
    • TSOP - строка, используемая для сортировки по исполнителям вместо TPE2
    • TSOT - строка, используемая для сортировки по названиям вместо TIT2
    • RVA2 - позволяет задать желаемое изменение громкости для каждого канала (формат изменился совершенно по сравнению с RVAD)
    • EQU2 - кривая эквалайзера (формат изменился совершенно по сравнению с EQUA)
    • ASPI - ещё один индекс для позиционирования внутри файла

    Наличие множества мелких, но неприятных и бессмысленных несоответсвий между версиями, совершенно дикий формат и непонимание автором стандарта понятий Unicode привело к тому, что во многих программах до сих пор нет поддержки ID3v2.4, выпущенной в 2000 году, а вместо этого разработчики запихивают UTF-8 в ID3v2.3 и даже в ID3v1. В сочетании с коллекциями с тегами ID3v1 в cp1251 (и даже тегами ID3v2.3 в cp1251 и указанием языка "eng"!) и новыми программами, в которых преднамеренно выключена обработка неверных кодировок, вызывает ужасное раздражение.

    Для редактирования тегов можно использовать специальные программы или такие аудиопроигрыватели как Amarok (ID3v2.4), Quod Libet (ID3v2.4).

    Метаинформация хранится в Xiph Comments (аналогично во flac и speex).

    Версия 0.30: RG_RADIO, RG_PEAK, RG_AUDIOPHILE

    Новая версия: REPLAYGAIN_TRACK_GAIN (относительное усиление в dB), REPLAYGAIN_TRACK_PEAK (абсолютное значение, 1.0 - максимум), REPLAYGAIN_ALBUM_GAIN, REPLAYGAIN_ALBUM_PEAK.

    Шутка. WAV не содержит метаинформации.

    id3lib - библиотека для работы с ID3v1/ID3v1.1 и ID3v2/ID3v2.3 (хотя в текте упоминается 2.4). В состав пакета входят утилиты id3info (выдать информацию о тегах), id3tag (редактировать теги: артист, альбом, название, комментарий, жанр, год, номер дорожки), id3convert. Последняя версия (3.8.3) выпущена 2003-03-02, т.е. проект заброшен. Используется в id3v2, easytag и grip (соответственно они тоже работают только с ID3v2.3).

    В FC6 установил пакеты id3lib-3.8.3 и id3lib-devel-3.8.3.

    id3v2 (0.1.11) - консольный редактор ID3v2. Позволяет смотреть, добавлять (артист, альбом, название, комментарий, жанр, год, номер дорожки), изменять, удалять теги ID3v2, а также преобразовывать ID3v1 в ID3v2. Не понимает ID3v2.4 и UTF-8 в ID3v1. Не развивается с 2004.

    libid3tag - библиотека для работы с ID3v1 и ID3v2 (ID3v2.4 судя по madplay). Последняя версия (0.15.1) выпущена 2004/02/17, т.е. проект заброшен. Однако используется в большом количестве пакетов (mpd, audacity, madplay, imlib2, gstreamer-plugins-ugly).

    taglib - библиотека для работы с ID3v1 и ID3v2 (включая 2.4 судя по audacious), Ogg Vorbis comment, ID3 и Vorbis comment во flac. Часть проекта KDE. Из документации - текст лицензии и выхлоп doxygen. Используется в amarok, audacious, tellico, libtunepimp.

    В FC6 установил пакеты taglib-1.4 и taglib-devel-1.4.

    EasyTAG - редактор (GTK2) тегов ID3, FLAC, Ogg Vorbis, MP4/AAC, MusePack, Monkey. Точнее говоря, огромный комбайн по визуализации и редактированию тегов различных типов. Файлы можно обрабатывать как поштучно, так и группами. Делает теги из имени файла и имена файлов из тегов. Умеет обращаться к CDDB для автоматического заполнения тегов. Теги ID3v2.3: название, исполнитель, альбом, часть альбома, год, номер дорожки, жанр, комментарий, композитор, первый исполнитель, авторское право, URL (который из них?), кодировщик, картинки. Автоматическая обработка пробелов, подчёркиваний, прописных и строчных букв. Умеет преобразовывать из одной версии ID3 в другую и обрабатывать нестандартные кодировки. К сожалению, использует id3lib и, соответственно, не понимает ID3v2.4, поэтому не совместима с современными проигрывателями (amarok, quodlibet).

    В FC6 установил пакет easytag-1.99.13 (2.0-1, 2.0.1-1).

    • mid3v2 - консольный редактор тегов ID3, ключи:
      • --list
      • --list-raw
      • --delete-v2
      • --delete-v1
      • --delete-frames=имя-кадра.
      • --convert (преобразовать ID3v1 в ID3v2.4)
      • --имя-T-кадра=значение
      • --artist=значение
      • --album=значение
      • --song=значение
      • --genre=значение
      • --comment=описание:комментарий:код-языка
      • --year=год
      • --date=год-месяц-день
      • --encoding исходная-кодировка
      • --debug
      • --dry-run
      • --force-v1
      • --remove-v1

      Перекодировка типового альбома конца 90-х (комментарии не перекодируются!):

      Для перекодировки виесте с комментариями использовал сначала преобразование из нестандартной кодировки в UTF-16BE с помощью easytag, а затем mid3iconv (без ключа -e) для преобразования ID3v2.3 в ID3v2.4. Параметры easytag (

      В FC6 установил пакет python-mutagen-1.10.1 (1.11-1).

      Ex Falso - редактор (GTK2, python) тегов из пакета quodlibet. Используется python-mutagen, так что позволяет просматривать и редактировать теги MP3 (больше 30 типов кадров), Ogg Vorbis, FLAC, Musepack, WavPack, MOD/XM/IT. Есть возможность переименования файлов, поиска в CDDB. Дополнительные модули: поиск в google и wiki, запись на CD, загрузка обложек, экспорт/импорт.