Введение
Контейнер метаданных для форматов файлов Ogg. Комментарий Vorbis — это контейнер метаданных, используемый в форматах файлов Vorbis, FLAC, Theora, Speex и Opus. Он позволяет добавлять в файл информацию, такую как название, исполнитель, альбом, номер трека или другие сведения о файле. Однако, как отмечается в официальной документации Ogg Vorbis, “[заголовок комментария] предназначен для коротких текстовых комментариев, а не для произвольных метаданных; произвольные метаданные следует хранить в отдельном логическом потоке битов (обычно потоке типа XML), обеспечивающем более структурированное представление и машиночитаемость”. Вместо этого, комментарии Vorbis предназначены для приближения к информации, которую можно было бы написать от руки на пустом CD-R или CD-RW: несколько строк заметок, кратко описывающих содержимое.
A Vorbis comment is a metadata container used in the Vorbis, FLAC, Theora, Speex and Opus file formats. It allows information such as the title, artist, album, track number or other information about the file to be added to the file itself. However, as the official Ogg Vorbis documentation notes, “[the comment header] is meant for short, text comments, not arbitrary metadata; arbitrary metadata belongs in a separate logical bitstream (usually an XML stream type) that provides greater structure and machine parseability.” Instead, the intended function of Vorbis comments is to approximate the kind of information that might be hand inked onto a blank faced CD R or CD RW: a few lines of notes briefly detailing the content.
Формат
Тег Vorbis представляет собой список полей в формате FieldName=Data. Имя поля может состоять из печатаемых символов ASCII от 0x20 (пробел) до 0x7D (‘}’), за исключением 0x3D (‘=’) и 0x7E (‘~’). Регистр не имеет значения, поэтому artist и ARTIST – это одно и то же поле. Количество полей и их длина ограничены числом 4 294 967 295 (максимальное значение беззнакового 32-битного целого числа), но большинство программ для редактирования тегов устанавливают более строгие ограничения. FLAC имеет меньший лимит в 24 бита в блоке METADATA BLOCK VORBIS COMMENT, поскольку миниатюры и обложки хранятся в двоичных блоках METADATA BLOCK PICTURE в формате big endian за пределами тегов FLAC. Данные кодируются в UTF-8, поэтому любая соответствующая строка Unicode может использоваться в качестве значения. Разрешено любое имя поля, и нет требований к формату значений данных. Это отличается от формата ID3, используемого для MP3, который имеет строго структурированную организацию. Имена полей также могут использоваться несколько раз. Рекомендуется использовать эту возможность для поддержки нескольких значений, например, два поля ARTIST= для указания обоих исполнителей одной композиции. В спецификации приведены примеры названий тегов, такие как TITLE и TRACKNUMBER. Большинство приложений также поддерживают общепринятые стандарты de facto, такие как DISCNUMBER, RATING и теги для информации ReplayGain. Оценки обычно отображаются в виде 1–5 звезд, соответствующие строковым значениям 20, 40, 60, 80 и 100. Предусмотрение для хранения двоичных данных в комментариях Vorbis отсутствует. Это сделано намеренно: они предназначены для использования в составе контейнерного формата, такого как Ogg, и любые дополнительные двоичные данные должны быть закодированы в контейнер в виде потока. Исключением, по многочисленным просьбам, является предложение включить обложку в комментарий Vorbis.