ID3 ( englanniksi. Identify an MP 3 ) on metatietomuoto , jota käytetään yleisimmin MP3 - äänitiedostoissa . ID3 sisältää kappaleen nimen, albumin, esittäjän nimen jne. tiedot, joita mediasoittimet ja muut ohjelmistot sekä laitteistosoittimet käyttävät tiedostotietojen näyttämiseen ja äänikokoelman automaattiseen järjestämiseen.
ID3:sta on kaksi yhteensopimatonta versiota: ID3v1 ja ID3v2.
MP3-muodon luomisen jälkeen syntyi ongelma musiikkitiedoston tietojen tallentamisessa - tätä ei säädetty MP3:ssa. Vuonna 1996 Eric Camp keksi ajatuksen lisätä tiedostoon muistia tämän ongelman ratkaisemiseksi.
ID3 - tagien ensimmäinen versio oli vain 128 tavua alkaen merkkijonosta TAG . Tunniste sijoitettiin tiedoston loppuun yhteensopivuuden säilyttämiseksi varhaisten pelaajien kanssa. Jotkut heistä pitivät hieman ääntä yrittäessään lukea tunnistetta, mutta suurin osa heistä jätti sen huomiotta. Nykyaikaiset pelaajat ymmärtävät nämä tiedot oikein.
Koska dataa oli vähän, tällaisiin tageihin voitiin tallentaa vain perustiedot kappaleesta: nimi, albumi, esittäjä, kommentti - 30 tavua jokaiselle kenttään, 4 tavua vuoden tallentamiseen ja yksi tavu genrelle, mikä voisi valitaan ennalta määritetystä luettelosta, jossa on 80 arvoa ( Winamp laajensi myöhemmin luetteloa 68 arvolla). Jos kappaleiden tai albumien nimissä oli yli 30 merkkiä, ne leikattiin pois. Kokorajoitusten vuoksi ei tietenkään ollut kysymys edistyneistä metatietojen tallennusvaihtoehdoista.
Ainoaa versiossa 1.1 toteutettua parannusta ehdotti Michael Mutschler vuonna 1997: koska kommenttikenttä on edelleen liian pieni tallentaakseen mitään hyödyllistä, sitä päätettiin lyhentää kahdella tavulla, jotta niitä voidaan käyttää numeroraidan tallentamiseen.
Laajennettu tunniste on lisätietolohko ennen ID3v1-tunnistetta, jonka avulla voit laajentaa joitain ID3(v1-v1.1)-kenttiä kolme kertaa ja lisätä uusia kenttiä. Tämän laajennuksen kehittäjät yrittivät noudattaa ajatusta suurimmasta yhteensopivuudesta, joten kaikkien tunnisteiden alku on tallennettu tavalliseen ID3v1-tunnisteeseen, jonka avulla mikä tahansa ID3v1:tä ymmärtävä ohjelma voi lukea tai kirjoittaa tietoja, ja vain jos niitä ei ole. tarpeeksi varattu tavuja, kunkin kentän jatko tallennetaan laajennettuun lohkoon (jos ohjelma osaa kirjoittaa sinne). Laajennettu lohko vie 227 tavua, sijaitsee ennen ID3v1-tunnistetta ja alkaa TAG+-tunnisteella. Sille oli varattu 60 tavua lisää kenttiin "kappaleen nimi", "artisti" ja "albumi", yksi tavu musiikin nopeudelle (tyyli, tyyppi) (00 = tuntematon, 01 = hidas, 02 = keskitaso, 03 = nopea, 04=hardcore), 30 tavua ilmaiseen genremerkintään sekä kuusi tavua tiedostossa olevan musiikin alkamis- ja lopetusaikaan (esimerkiksi äänenvoimakkuuden lisäämiseksi sujuvasti). Kommenttikenttää ei laajennettu ja se pysyi 28–30 tavua. Jos mitään yllä olevista ei käytetä, se jätetään automaattisesti pois.
Se oli epävirallinen standardi, ja sitä tuki pieni määrä pelaajia.
Merkkijonot erotetaan nolilla tai välilyönneillä. Käyttämättömät kentät täytetään tyhjinä riveinä.
ID3(v1-v1.1): 128 tavua
Ala | Pituus, tavua | Kuvaus |
---|---|---|
otsikko | 3 | TAG |
Nimi | kolmekymmentä | 30 merkin otsikko |
Toteuttaja | kolmekymmentä | 30 merkin taiteilijanimi |
Albumi | kolmekymmentä | 30-merkkinen albumin nimi |
vuosi | neljä | Vuoden merkkijonomerkintä |
Kommentti | 28 [1] tai 30 | Kommentti |
Nollatavu [1] | yksi | Jos raidan numero on olemassa, tämä tavu on 0 |
kappale [1] | yksi | Kappaleen numero albumissa tai 0; lasketaan vain, jos edellinen kenttä on 0 |
Genre | yksi | Indeksi genreluettelossa tai 255 |
Sijoitettu ennen ID3v1-tunnistetta: 227 tavua
Ala | Pituus, tavua | Kuvaus |
---|---|---|
otsikko | neljä | "TAG+" |
Nimi | 60 | 60 tavua lisää kenttään "Nimi" ID3v1 |
Toteuttaja | 60 | Lisää 60 tavua "Artist"-kenttään ID3v1 |
Albumi | 60 | 60 tavua lisää "Albumi"-kenttään ID3v1 |
Musiikin nopeus (tyyli, tyyppi). | yksi | Mitä suurempi numero, sitä "aktiivisempaa" musiikkia |
Genre | kolmekymmentä | 30 merkkijono |
Aloitusaika | 6 | Aika mmm-muodossa: ss |
loppu aika | 6 | Aika mmm-muodossa: ss |
ID3v1-kenttien koot, laajennettu tagi huomioon ottaen, ovat:
Ala | Koko, tavut |
---|---|
Nimi | 90 |
Toteuttaja | 90 |
Albumi | 90 |
Lyrics3 on Petr Strnadin ensimmäinen yritys upottaa sanoituksia MP3-tiedostoon ID3v1.x-aikakaudella. Tekstilohko sijoitettiin rivien LYRICSBEGIN ja LYRICSEND väliin tiedoston loppuun ennen ID3v1.x-tunnistetta (jos sitä ei ollut, se luotiin). Teksti kirjoitettiin ISO-8859-1 koodauksella , maksimipituus oli 5100 tavua, rivit erotettiin CR + LF -merkeillä, aikaleimojen tuki otettiin käyttöön.
Ajan myötä julkaistiin Lyrics3 v2.00 -muoto, jossa oli enemmän ominaisuuksia (erityisesti lohkon koko kasvoi merkittävästi, lisäkenttiä ilmestyi ja mahdollisuus lisätä kuva). 2.00-lohko sijoitettiin rivien LYRICSBEGIN ja LYRICS200 väliin ja sillä oli vaihteleva pituus, joka kirjoitettiin kuuden viimeisen tavun sisällä ennen viimeistä riviä LYRICS200.
Ideaa ei käytetty laajasti ID3v2-standardin julkaisun vuoksi, jossa tällainen idea organisoitiin joustavammin ja toimivammin.
ID3v1:tä on kritisoitu paljon useista ongelmista. Ensinnäkin nämä ovat liian pieniä kenttiä, joiden koko ei riitä suurimman osan tiedoista tallentamiseen - 30 tavua ei riittänyt pitkille nimille, niitä leikattiin.
Ehdotus genren lukitsemisesta rajoitettuun määrään vaihtoehtoja löysi myös monia vastustajia. Monet eivät yksinkertaisesti pitäneet ehdotetusta luettelosta, jossa ei jaettu tilaa sellaisille genreille kuin esimerkiksi minimalismi tai barokki .
ID3v1:stä puuttui myös kansainvälistyminen . Erittelyn mukaan kaikki merkkijonot on tallennettava ISO 8859-1 , mutta käytännössä käyttäjät käyttävät usein kansallista koodausta, joten he näkivät usein krakozyabry .
Vastauksena ID3v1:n kritiikkiin kehitettiin uusi standardi, ID3v2. Se julkaistiin 26. maaliskuuta 1998 ja on täysin erilainen kuin ID3v1.
ID3v2-tunnisteet ovat vaihtelevan pituisia ja voivat näkyä tiedoston alussa [2] tai lopussa [3] . Tunniste koostuu useista "kehyksistä". Jokainen kehys sisältää jonkinlaista metatietoa. Esimerkiksi kehys "TIT2" sisältää teoksen nimen ja kehys "WOAR" sisältää linkin taiteilijan verkkosivuille. Kehyksen enimmäiskoko on rajoitettu 16 megatavuun, ja tunnisteen enimmäiskoko on 256 megatavua. Teksti on tallennettu UTF-16 [2] tai UTF-8 [3] koodauksella . Tekstikehykset on merkitty koodausbitillä.
ID3v2-standardi määrittelee 84 kehystyyppiä ja sallii myös sovellusten luoda omia kehyksiä. Vakiokehysten joukossa ovat kehykset kansikuvan, lyöntejä minuutissa , tekijänoikeus- ja lisenssitietojen, sanoituksen, vapaan tekstin, linkkien ja muiden tietojen tallentamiseen.
ID3v2-tunnisteen sisältävä tiedosto alkaa merkkijonolla "ID3". Nämä merkit ovat osa "Header" -tunnistetta. Otsikko on 10 tavua pitkä ja sisältää alla luetellut kentät. Tavujärjestys ID3v2:ssa on iso endian . Koko on 7-bittisinä tavuina (merkittävin bitti on 0).
Ala | Offset, tavut | Pituus, tavua | Kuvaus |
---|---|---|---|
Allekirjoitus | 0 | 3 | "ID3" |
Versio | 3 | 2 | 2, 3 tai 4 |
Liput | 5 | yksi | |
Koko | 6 | 4 (7-bittinen) |
Kehyksen otsikko on 10 tavua pitkä ja sisältää seuraavassa taulukossa luetellut kentät.
Ala | Offset, tavut | Pituus, tavua | Kuvaus |
---|---|---|---|
Tunniste | 0 | 3 [4] , 4 [5] | Kehystyyppi, isot latinalaiset kirjaimet ja numerot |
Koko | 3 | neljä | |
Liput | 5 | 2 |
ID3v2.2 on ensimmäinen laajalti käytetty versio ID3v2:sta. Nyt katsotaan vanhentuneeksi. Kolmimerkkistä kehystunnusta käytetään neljän merkin sijasta ("TT2" kehykselle, jossa on työnimike "TIT2" sijaan).
ID3v2.2-, ID3v2.3- ja ID3v2.4-kehysmuodot ovat hieman erilaisia.
ID3v2.3 on kolmas ja eniten käytetty versio nykyään. Laajentaa "Identifier"-kentän koon neljään tavuun, lisää "Kehysten lukumäärä" -kentän. Kehys voi sisältää useita arvoja erotettuina "/".
ID3v2.4 on neljäs (nykyinen) versio. Mahdollistaa merkkijonojen tallentamisen UTF-8- koodauksella . Nollatavua käytetään arvojen erottamiseen, ja "/"-merkkiä voidaan käyttää tekstissä. Nyt voit lisätä tunnisteen tiedoston loppuun, kuten ID3v1:ssä.
Joulukuussa 2005 ehdotettiin laajennuksia [6] tekstin ja kuvien yhdistämiseksi toistoaikaan. Ensimmäisen avulla voit luoda sisällysluettelon, jolla voit siirtyä nopeasti tiettyyn paikkaan (tai lukuun) äänitiedoston sisällä. Toisen avulla voit järjestää kuvien näyttämisen (diaesitys). Tyypillinen sovellus on podcasting .
ID3v2-versioiden erojen vuoksi monet pelaajat eivät silti tue kaikkia tunnisteiden versioita. Ongelmana on, että eri versiot käyttävät erilaisia tietorakenteita. Esimerkiksi tietojen poimimiseen kehyksistä "TIT2" (kappaleen otsikolla) ja "USLT" (kappaleen sanoilla) tarvitaan erilaisia algoritmeja. Muut tunnistemuodot, kuten APEv2 , tallentavat tiedot avain-arvo-pareina, eikä niissä ole tätä ongelmaa.
ID3v2 tallentaa tietoja äänidatasta. Esimerkiksi kehys "TLEN" tallentaa kappaleen pituuden ja kehys "AENC" tallentaa tiedot pakkausmenetelmästä .
Tunniste on sijoitettava ID3v2.2:ssa ja ID3v2.3:ssa tiedoston alkuun, mikä helpottaa suoratoistoa, mutta edellyttää koko tiedoston uudelleenkirjoittamista tagikenttien muuttuessa. Version ID3v2.4 avulla voit sijoittaa tunnistetiedot tiedoston loppuun. Tunnisteeditorit voivat jättää tilaa tunnistekenttiin estääkseen tiedoston päällekirjoittamisen, jos tunnistetta suurennetaan, mutta tämä toiminto ei ole vakio: tunnisteiden vaatimukset vaihtelevat suuresti, varsinkin jos musiikkiin on liitetty "APIC" (assosiatiiviset kuvat). .
Koska useimmat tiedostot sisältävät ID3v2-tunnisteiden varhaisia versioita, kehittäjät eivät kiirehdi lisäämään tuotteisiinsa tukea kaikille ID3v2-standardissa kuvatuille tunnistemuodoille ja kaikentyyppisille kehyksille.
Windowsin Resurssienhallintawindows explorer[ mitä? ] tukee ID3v1- ja ID3v2.3-versiotunnisteita.
Explorer ei voi lukea ID3v2.4-versiota, ja kun yrität muokata sitä, se antaa virheilmoituksen 0x8007000D.
Explorer lukee ja kirjoittaa ID3v1-tageja, mutta kierteellä. Jos MP3-tiedostoon on kirjoitettu vain ID3v1-tunniste, Explorer lukee sen, ja muokkaamisen aikana se kirjoittaa tiedot ID3v1-tiedostoon ja lisää ID3v2.3-tunnisteen. ID3v1-tunnisteen muokkausta ei tueta. Jos tiedosto sisältää sekä ID3v1- että ID3v2.3-tunnisteita, Explorer lukee ID3v2.3-version, ja muokattaessa se kopioi molempien tunnisteiden tiedot. Jos MP3-tiedostossa ei ollut tunnisteita, Explorer kirjoittaa vain ID3v2.3-tunnisteen.
ID3-tunnisteiden muokkaamiseen on monia ohjelmia. Heidän keskuudessaan:
Ominaisuudet:
ID3-tunnisteet luotiin sisällytettäväksi MP3- ja MP3Pro-tiedostoihin , mutta niitä voidaan käyttää myös muissa tiedostomuodoissa. AIFF on ainoa muoto, jossa ID3v2-tunnistetta voidaan käyttää laajasti. Tämä muoto perustuu RIFF:iin; ID3-tunniste on tallennettu "kappaleeseen" (palaan), jonka nimi on "ID3". WAV (myös RIFF-pohjainen) voi sisältää ID3-tunnisteen, mutta tätä ominaisuutta ei käytetä. "Broadcast WAV" on ainoa laajalti käytetty WAV-koodausjärjestelmä. Windows Media -muodoilla ( ASF , WMA , WMV ) on omat tunnistemuotonsa, mutta ne tukevat myös ID3- upotusta attribuuttina [7] . On mahdollista sisällyttää ID3 MP4 :ään [8] , mutta useimmat ohjelmat eivät tue sitä. Muut säilöpohjaiset muodot käyttävät omia merkintäjärjestelmiään. Esimerkiksi Vorbis käyttää Vorbis-kommenttia eikä tue ID3-upotusta, koska ID3 voi rikkoa säilön rakenteen.