Аудиоформат MPEG layer I, layer II и layer III (MP3) изначально не имеет возможности записывать и хранить ифнормацию о содержимом, за исключением простейших данных «да/нет», например, «private», «copyrighted» и «original home». Впервые решение этой проблемы было представлено в программе «Studio3» (автор Eric Kemp) в 1996 году. Путем добавления дополнительного кусочка данных в конец файла, формат получил возможность хранить данные о содержании аудио и не только.
Расположение тега (так были названы эти данные), было выбрано таким образом, чтобы не мешать декодерам. Чтобы с тегами было легко работать, был выбран фиксированный размер — 128 байт. Раскладка тега следующая:
Song title (заголовок песни) | 30 символов |
Artist (исполнитель) | 30 символов |
Album (альбом) | 30 символов |
Year (год) | 4 символов |
Comment (комментарий) | 30 символов |
Genre (жанр) | 1 байт |
Если сложить размеры всех полей, то мы увидим, что 30+30+30+4+30+1 равно 125 байтам, а не 128. Три потерявшихся байта находятся в начале тега, перед информацией о названии песни (song title). Эти три байта всегда имеют значение «TAG» и являются и являются указанием на наличие тега ID3. Наилегчайший метод поиска тега ID3v1/1.1 — это поискать слово «TAG» в 128 байтах от конца файла.
Так как не всегда для исполнителя (artist) нужны 30 символов, то незанятые информацией оставшиеся байты должны быть заполнены бинарным значением 0. В поле Genre можно писать значения от 0 до 79, согласно списку жанров, придуманному Eric Kemp и содержащему 80 записей о стилях и направлениях.
This material is copyrighted by Martin Nilsson, taken from ID3 made easy .