APEv2 (APEv2)

Перейти к навигации Перейти к поиску

Теги APEv2 используются для хранения метаданных, таких как название альбома, исполнитель, номер трека в аудиофайлах. Изначально первые версии тегов (APEv1) были предназначены для формата Monkey's Audio, но Фрэнк Клемм (Frank Klemm) модифицировал их, добавив заголовок (header) и дав тем самым возможность тегам APE располагаться в начале файла, и также реализовав хранение метаданных в кодировке Юникод.

Впервые этот вариант тегов был использован в аудиофайлах формата Musepack, но в дальнейшем благодаря простоте и гибкости он был адаптирован как основной формат тегов для аудиофайлов WavPack и OptimFROG, а также для Monkey’s Audio (с версии 3.99) и TAK.

Аудиоплеер foobar2000 позволяет использовать эти теги в файлах MP3 вместо стандартных ID3-тегов, потому что теги APEv2 легче записывать, и они более гибкие в использовании. Тем не менее, из-за того, что APEv2 не были изначально ориентированы на использование в файлах MP3 (в отличие от тегов ID3), существует ряд проблем. Например, строка APETAGEX является началом APEv2-тега, а строка TAG — началом ID3v1-тега. Поэтому если TAG в APETAGEX заканчивается там, где ожидается тег ID3v1, это значение может быть прочитано неверно. Кроме того, ID3 содержат так называемую «схему рассинхронизации» («unsynchronization scheme»), которая не позволяет аудиоплеерам проигрывать данные тегов. Формат APEv2 не поддерживает такую схему, поэтому наличие тега APEv2 может вызывать ошибки чтения или шумы в конце файла.

Возможности

[править | править код]

По формату теги APEv2 концептуально ближе к «комментариям Vorbis», чем к тегам ID3. Как и «комментарии Vorbis», они представляют собой неструктурированные пары ключ/значение. Но, в отличие от уже упомянутых «комментариев», эти теги хранят список значений для каждого ключа, а не ключ для каждого значения. Для примера возьмём трек, который содержит данные о двух исполнителях. В «комментариях Vorbis» эти данные будут храниться как два отдельных поля ARTIST, а в теге APEv2 — как одно поле ARTIST с двумя значениями, разделёнными нуль-символом (байтом со значением 0).

Значения тегов APEv2 могут быть помечены как принадлежащие к типу «text», «binary» или «external». Из-за этого некоторые продукты для работы с тегами могут не отображать блоки с нечитаемыми данными. Поэтому данные типа binary не могут без проблем сохраняться в «комментариях Vorbis» (хотя это и предусмотрено дизайном этих комментариев)

Теги APEv2 поддерживают Юникод, используя UTF-8 для ключей и для значений.