ID3
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ă.

ID3v1
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. 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.

Tag-ul extins
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

ID3v1: 128 baiți

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

ID3v2
În 1998, o nouă specificație numită ID3v2 a fost creată de către mai mulți contribuabili. 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. $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,  ș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
 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

Referințe și note

Legături externe
Official site for ID3, including the format specifications 
List of genres in ID3v1
ID3v1 Specification

TagLib 
Side-by-side Comparison of ID3 Versions and Frames 
Formate fișiere de date
Metadate
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ă . ID3v1 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 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 . 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ă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âtede 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ă dede valori ( Winamp a extins ulterior această listă lade valori ) . O îmbunătățire pentru ID3v1 a fost făcută de Michael Mutschler în 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 . Tag -ul extins Tag -ul extins este un bloc de date suplimentare înainte de un tag ID3v1 , care extinde domeniile : titlu , artist și album cu câtede baiți fiecare , oferă un text liber pentru gen , câte un bait ( valoriviteza ș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 ID3v1: baiți Tagul extins ( plasat înainte de tagul ID3v1) : baiți ID3v2 În o nouă specificație numită ID3v2 a fost creată de către mai mulți contribuabili . 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ă laB în lungime , în timp ce dimensiunea totală tagului este limitată laB . 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 . $00 – ISO-8859-1 ( LATIN-1 , Identic cu ASCII pentru valori mai mici decât80 ) . $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ăde tipuri de cadre declarate în caracteristicile ID3v2.4.0 , ș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 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 denoiembrie Î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/ Windows Media Player Windows poate înțelege ID3v2 până la și inclusiv versiunea3 Referințe și note Legături externe Official site for ID3 , including the format specifications List of genres in ID3v1 ID3v1 Specification TagLib Side -by-side Comparison of ID3 Versions and Frames Formate fișiere de date Metadate