encyklopedia.run.place

ID3

ID3 – standardowy format przechowywania metadanych w plikach audio, najczęściej w formacie MP3. Dzięki ID3 można w prosty sposób dołączyć do pliku informacje o tytule utworu, wykonawcy, albumie, gatunku, roku wydania, okładce i wielu innych elementach opisowych.

Historia

Projekt ID3 został zapoczątkowany w 1996 roku przez firmę Fraunhofer IIS, która była współtwórcą formatu MP3. Pierwsza wersja – ID3v1 – została opracowana jako prosty zestaw 128‑bitowych pól tekstowych umieszczanych w ostatnich 128 bajtach pliku MP3. W odpowiedzi na rosnące potrzeby użytkowników i twórców oprogramowania powstała bardziej rozbudowana wersja ID3v2, wydana w 1998 roku.

Wersje ID3

ID3v1

Standard składa się z następujących pól (po 30 bajtów każde, z wyjątkiem pola komentarz, które ma 28 bajtów plus 2 bajty flagi):

  • Title – tytuł utworu
  • Artist – wykonawca
  • Album – nazwa albumu
  • Year – rok wydania
  • Comment – komentarz
  • Genre – gatunek (przechowywany jako liczba indeksująca jedną z 148 predefiniowanych wartości)

W 1999 roku wprowadzono ID3v1.1, który umożliwił zapis numeru ścieżki w ostatnich dwóch bajtach pola comment.

ID3v2

Wersja 2 wprowadziła zupełnie nową strukturę opartą na ramkach (frames), co pozwala na:

  • przechowywanie tekstu w kodowaniu Unicode (UTF‑16, UTF‑8) oraz w innych zestawach znaków,
  • umieszczanie obrazów (np. okładek) w ramce APIC,
  • dodawanie danych technicznych, takich jak tempo (BPM), klucz muzyczny, czy informacje o prawach autorskich.

Podstawowe podwersje ID3v2 to:

  • ID3v2.2 – wprowadzone w 1998 r., wykorzystujące trzy‑znakowe identyfikatory ramek (np. TIT),
  • ID3v2.3 – z 2000 r., wprowadzające czteroznakowe identyfikatory (np. TIT2) i umożliwiające przechowywanie rozmiaru ramki w formacie synchsafe integer,
  • ID3v2.4 – wydane w 2000 r., które dodaje obsługę kilku nowych typów ramek i lepszą obsługę znaków Unicode.

Zastosowania

ID3 jest powszechnie wykorzystywany w:

  • odtwarzaczach multimedialnych (np. VLC, iTunes),
  • menedżerach bibliotek muzycznych (MusicBrainz, Foobar2000),
  • programach do edycji i konwersji audio (Audacity, FFmpeg),
  • serwisach streamingowych, które wykorzystują ID3 do wyświetlania informacji o aktualnie odtwarzanym utworze.

Struktura techniczna

Plik MP3 zawierający tag ID3v2 rozpoczyna się od Header (10 bajtów), po którym następuje sekwencja ramek. Każda ramka posiada własny nagłówek, w którym określane są:

  • identyfikator ramki (np. TIT2 – tytuł),
  • rozmiar ramki (4 bajty w formacie synchsafe integer),
  • flagi (np. Tag alter preservation, File alter preservation).

W wersji ID3v1 tag znajduje się na samym końcu pliku, co upraszcza zarówno zapis, jak i odczyt, ale ogranicza możliwości rozbudowy.

Popularne biblioteki i narzędzia

  • id3lib – biblioteka w języku C++ udostępniana na licencji GPL.
  • Mutagen – biblioteka w Pythonie obsługująca ID3v1, ID3v2 oraz inne formaty metadanych.
  • TagLib – wieloplatformowa biblioteka C++ z obsługą szerokiego spektrum formatów audio.
  • eyeD3 – narzędzie wiersza poleceń do przeglądania i edycji tagów ID3v2.

Ograniczenia i problemy

  • Brak standaryzacji co do kodowania znaków w ID3v1 – najczęściej używany jest ISO‑8859‑1, co wyklucza języki z innymi alfabetami.
  • Niekompatybilność niektórych odtwarzaczy z ID3v2.4, które nie obsługują niektórych typów ramek.
  • Możliwość uszkodzenia pliku przy niepoprawnym zapisaniu tagu (np. przekroczenie maksymalnego rozmiaru ramki).

Zobacz także

MP3 | Metadata | Tag | Kodek audio | MusicBrainz | iTunes