ID3 este un container de metadate cel mai des utilizat în combinație cu formatul de fișiere audio MP3. Acesta permite că informații cum ar fi titlul, artistul, albumul, numărul de pistă, și alte informații despre fișier să fie stocate în fișierul în sine.
Există două versiuni independente de ID3: ID3v1 și ID3v2.
Deși ID3 este uneori menționat ca un standard, termenul se aplică numai în sensul de facto, deoarece nici un organism de standardizare nu a fost implicat în crearea sa, și nici o organizație nu a dat un statut de aprobare formală.[1]

ID3v1 modificare

După crearea standardul MP3, a apărut o problemă cu stocarea de date cu privire la dosar. Fișierele MP3 nu au avut nici o metodă specială de a face acest lucru de sine stătător. În 1996, Eric Kemp a avut ideea de a adăuga o mică bucată de date la fișierul audio, rezolvând astfel problema. Metoda, acum cunoscută sub numele ID3v1, a devenit rapid standardul de facto pentru stocarea metadatelor în MP3-uri.[2] Formatul a fost lansat de ”Damaged Cybernetics”, un grup underground specializat în cracking de sisteme de consolă de jocuri. Nu a fost nici o informație de identificare pentru nici un ROM, astfel un sistem de etichetare ID a fost creat pentru a face mai ușoră de urmărirea. Eric și asociații săi au realizat acest lucru asupra fișierelor MP3. Acest format a fost folosit pentru un număr de formate de fișiere, necunoscut la acel moment.
Tag-ul ID3v1 ocupă 128 de baiți, începând cu șirul cu TAG. Tag-ul a fost plasat la sfârșitul fișierului pentru a menține compatibilitatea cu media playere mai vechi. Unele playere ar putea reproduce o mică explozie statică, atunci când citesc tag-ul, dar majoritatea îl ignoră, și aproape toate playerele moderne vor sări peste el în mod normal. Acest tag permite câte 30 de baiți pentru titlu, artist, album, și "comentariu", patru baiți pentru an, și un bait pentru a identifica genul melodiei dintr-o listă predefinită de 80 de valori (Winamp a extins ulterior această listă la 148 de valori).
O îmbunătățire pentru ID3v1 a fost făcută de Michael Mutschler în 1997. Din moment ce câmpul de comentariu a fost prea mic pentru a scrie ceva util, el a decis să-i tăie doi baiți și de a folosi acești doi baiți pentru a stoca numărul de pistă al piesei. Aceste tag-uri sunt denumite în continuare ID3v1.1.[2]

Tag-ul extins modificare

Tag-ul extins este un bloc de date suplimentare înainte de un tag ID3v1, care extinde domeniile: titlu, artist și album cu câte 60 de baiți fiecare, oferă un text liber pentru gen, câte un bait (valori 0-5) viteza și timpul de începere și de terminare a muzicii în fișierul MP3, de exemplu, pentru fading in. Dacă nici unul dintre câmpuri nu sunt utilizate, acesta va fi omis în mod automat.
Unele programe ce suportă tag-ul ID3v1 pot citi tag-ul extins, dar la scriere poate lăsa vechile valori în blocul extins. Blocul extins nu este un standard oficial, și este acceptat doar de câteva programe, excluzând XMMS sau Winamp. Tag-ul extins este uneori menționat ca tag-ul "îmbunătățit".

Schema modificare

ID3v1: 128 baiți

Câmp Lungime Descriere
antet 3 "TAG"
titlu 30 30 de caractere pentru titlu
artist 30 30 de caractere pentru numele artistului
album 30 30 de caractere pentru numele albumului
an 4 Anul, patru cifre
comentariu 28[3] sau 30 Comentariu
zero-byte[3] 1 Dacă numărul de pistă este stocat, acest octet conține un 0 binar.
pistă[3] 1 Numărul piesei de pe album, sau 0. Invalid, dacă octetul anterior nu este un 0 binar.
gen 1 Indice într-o listă de genuri, sau 255

Tagul extins (plasat înainte de tagul ID3v1): 227 baiți

Câmp Lungime Descriere
antet 4 "TAG+"
titlu 60 Următoarele 60 de caractere ale titlului (90 de caractere în total)
artist 60 Următoarele 60 de caractere ale numelui artistului
album 60 Următoarele 60 de caractere ale denumirii albumului
viteza 1 0=nesetată, 1=încet, 2=mediu, 3=rapid, 4=hardcore
gen 30 Câmp de text liber pentru gen
start-time 6 începerea muzicii la mmm:ss
end-time 6 sfârșitul muzicii la mmm:ss

ID3v2 modificare

În 1998, o nouă specificație numită ID3v2 a fost creată de către mai mulți contribuabili.[4] Deși poartă numele ID3, acesta are prea puține tangențe cu ID3v1.
Tagurile ID3v2 sunt de dimensiuni variabile, și apar de obicei la începutul fișierului, pentru a ajuta media streamingul. Ele constau dintr-un număr de cadre, fiecare dintre care conține o bucată de metadate. De exemplu, cadrul TIT2 conține titlul, și cadrul WOAR conține adresa URL a site-ului artistului. Cadrul poate avea până la 16MB în lungime, în timp ce dimensiunea totală tagului este limitată la 256MB. Problema internaționalizării a fost rezolvată permițând codificarea de șiruri de caractere nu numai în ISO-8859-1, dar de asemenea și în Unicode.

Cadrele textuale sunt marcate cu un octet de codificare. [5]

$00 – ISO-8859-1 (LATIN-1, Identic cu ASCII pentru valori mai mici decât 0x80).
$01 – UCS-2 (UTF-16 Unicode codat cu BOM), în ID3v2.2 și ID3v2.3.
$02 – UTF-16BE encoded Unicode fără BOM, în ID3v2.4.
$03 – UTF-8 encoded Unicode, în ID3v2.4.

Cu toate acestea, mojibake-ul este încă comun atunci când se utilizează codificări locale în loc de Unicode. În special, unii redactori japonezi sunt cunoscuți că folosesc codare Shift JIS, care are efecte dezastruoase: ea cu siguranță nu va funcționa cu orice software standard, compatibil, indiferent de setările locale (din moment ce nu este susținută de standard), cu siguranță nu funcționează în afara Japoniei (JIS Shift are foarte puțin sprijin în afara Japoniei), și nu va funcționa chiar și pe toate calculatoarele japoneze, chiar cu un reader special neconform (așa cum este software-dependent și setările dependente). Există 83 de tipuri de cadre declarate în caracteristicile ID3v2.4.0, [6] și aplicațiile pot defini, de asemenea, propriile lor tipuri. Există cadre standard pentru conținut copertă, BPM, drepturi de autor și de licență, versuri, și text arbitrar și de date URL, precum și alte lucruri. Există trei versiuni ale ID3v2:

  • ID3v2.2 a fost prima versiune publică a ID3v2. El a folosit trei cadre de identificatori de caractere, mai des decât patru (TT2 pentru titlul în loc de TIT2). Cele mai populare cadre v2.3 și v2.4 au analogii directe în v2.2. Acum, acest standard este considerat învechit[7]
  • ID3v2.3 a extins identificatorul de cadre la patru caractere, și a adăugat câteva cadre. Un cadru poate conține mai multe valori, separate de caracterul /. Aceasta este cea mai utilizată versiune pe scară largă din tagurile ID3v2.
  • ID3v2.4 este cea mai recentă versiune publicată, pe data de 1 noiembrie 2000. În special, aceasta permite date de tip text să fie codificate în UTF-8, care a fost o practică comună în tagurile anterioare (în pofida standardelor, deoarece nu a fost susținută încă), deoarece are mai multe avantaje evidente asupra UTF-16. Acesta utilizează un octet nul pentru a separa mai multe valori, astfel încât caracterul "/" poate apărea în date de text din nou. O altă caracteristică nouă permite adăugarea unei etichete la sfârșitul fișierului înainte de alte taguri (cum ar fi ID3v1).

Windows Explorer și Windows Media Player nu suportă tagurile ID3v2.4 în nicio versiune, până la și inclusiv Windows 8 / Windows Media Player 12. Windows poate înțelege ID3v2 până la și inclusiv versiunea 2.3[8][9]

Referințe și note modificare

  1. ^ ID3 History Arhivat în , la Wayback Machine. page
  2. ^ a b Practical Common Lisp, p. 335.
  3. ^ a b c Numărul piesei este stocat în ultimii doi octeți din câmpul de comentariu. Daca comentariul este de 29 sau 30 de caractere, numărul de pistă nu poate fi stocat.
  4. ^ „ID3v2 Contributors”. Arhivat din original la . Accesat în . 
  5. ^ „id3v2-00 - ID3.org”. Arhivat din original la . Accesat în . 
  6. ^ „ID3v2.4.0 Native Frames”. Arhivat din original la . Accesat în . 
  7. ^ Nilsson, Martin. „ID3 Developer Information”. ID3.org. Arhivat din original la . Accesat în . 
  8. ^ Bright, Peter (). „Music and Video in Windows 8: a work in progress”. arstechnica.com. Accesat în . 
  9. ^ „Microsoft support community”. . 

Legături externe modificare