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