# ID3 (métadonnées MP3)

ID3 est le nom des métadonnées pouvant être insérées dans un fichier audio comme MP3. Ces métadonnées permettent d'avoir des informations sur le contenu du fichier comme le titre, le nom de l'interprète, les commentaires, ou encore la date de sortie.

## Les versions

ID3 est décliné en plusieurs versions :

### ID3

ID3 (aussi appelé ID3v1) est la première version. Elle a été conçue par Eric Kemp en 1996 et est devenue de facto un standard. Le premier logiciel gérant les métadonnées ID3 est Studio3, développé par Eric Kemp.
Elle consiste en un espace de 128 octets placés à la fin du fichier. Les 3 premiers octets commencent par la chaîne « TAG », cela permet de trouver le début des informations par les lecteurs MP3. Le reste des octets est partagé entre les différents champs d'informations. Les chaînes de caractères doivent être codées en ISO/CEI 8859-1, seuls les caractères de l'alphabet latin peuvent donc être utilisés.
Structure des métadonnées ID3v1 :
| Offset (en partant du début de la structure) | Taille (en octets) | Description |
| 0 | 3 | Identifiant "TAG" |
| 3 | 30 | Titre de la chanson |
| 33 | 30 | Nom de l'interprète |
| 63 | 30 | Nom de l'album |
| 93 | 4 | Année de parution |
| 97 | 30 | Commentaire sur la chanson |
| 127 | 1 | Genre musical |

#### Genres musicaux

Les différents genres musicaux ont été définis dans l'ID3v1 par une valeur numérique de 0 à 79. Cependant, le logiciel Winamp a étendu cette liste jusqu'à 147, chacune de ces valeurs pouvant être utilisée dans toutes les versions de l'ID3. Depuis la version ID3v2, la taille réservée au genre musical n'est plus limitée à 1 octet. Il est ainsi possible d'attribuer les genres musique rajasthanie, musique kéralaise ou chanson française, qui n'ont aucun représentant numérique, ou toute autre valeur.
Genres musicaux standards :
| Valeur | Genre | Valeur | Genre | Valeur | Genre |
| 0 | Blues | 27 | Trip hop | 54 | Eurodance |
| 1 | Classic rock | 28 | Musique vocale (vocal) | 55 | Dream |
| 2 | Country | 29 | Jazz-funk | 56 | Rock sudiste (southern rock) |
| 3 | Dance | 30 | Fusion | 57 | Comédie |
| 4 | Disco | 31 | Trance | 58 | Morceau "culte" (cult) |
| 5 | Funk | 32 | Musique classique (classical) | 59 | Gangsta |
| 6 | Grunge | 33 | Instrumental | 60 | Hit-parade (top 40) |
| 7 | Hip-hop | 34 | Acid | 61 | Rap chrétien (christian rap) |
| 8 | Jazz | 35 | House | 62 | Pop/Funk |
| 9 | Metal | 36 | Musique de jeu vidéo | 63 | Jungle |
| 10 | New age | 37 | Extrait sonore (sound clip ou sample) | 64 | Musique amérindienne |
| 11 | Oldies | 38 | Gospel | 65 | Cabaret |
| 12 | Autre | 39 | Musique bruitiste (noise) | 66 | New wave |
| 13 | Pop | 40 | Rock alternatif | 67 | Psychédélique |
| 14 | RnB | 41 | Bass | 68 | Rave |
| 15 | Rap | 42 | Soul | 69 | Comédie musicale (showtunes) |
| 16 | Reggae | 43 | Punk | 70 | Bande-annonce |
| 17 | Rock | 44 | Space | 71 | Lo-fi |
| 18 | Techno | 45 | Musique de relaxation et de méditation (meditative) | 72 | Musique tribale |
| 19 | Musique industrielle (industrial) | 46 | Pop instrumental | 73 | Acid punk |
| 20 | Rock alternatif (alternative) | 47 | Rock instrumental | 74 | Acid jazz |
| 21 | Ska | 48 | Musique ethnique | 75 | Polka |
| 22 | Death metal | 49 | Gothique | 76 | Rétro |
| 23 | Pranks | 50 | Dark wave | 77 | Théâtre |
| 24 | Musique de film (soundtrack) | 51 | Techno-industrial | 78 | Rock 'n' Roll |
| 25 | Euro techno | 52 | Musique électronique | 79 | Hard rock |
| 26 | Ambient | 53 | Pop folk | | |
Extension Winamp :
* 80 : folk
* 81 : folk rock
* 82 : folk américain
* 83 : swing
* 84 : fast fusion
* 85 : bebop
* 86 : musique latine
* 87 : revival
* 88 : musique celtique
* 89 : bluegrass
* 90 : avantgarde
* 91 : rock gothique
* 92 : rock progressif
* 93 : rock psychédélique
* 94 : rock symphonique
* 95 : slow rock
* 96 : big band
* 97 : chœur
* 98 : easy listening
* 99 : acoustique (acoustic)
* 100 : humour
* 101 : discours (speech)
* 102 : chanson
* 103 : opéra
* 104 : musique de chambre
* 105 : sonate
* 106 : symphonie
* 107 : booty bass
* 108 : primus
* 109 : porn groove
* 110 : satire
* 111 : slow jam
* 112 : club
* 113 : tango
* 114 : samba
* 115 : folklore
* 116 : ballade
* 117 : power ballad
* 118 : rythmic soul
* 119 : freestyle
* 120 : duo
* 121 : punk rock
* 122 : solo de batterie (drum solo)
* 123 : a cappella
* 124 : euro-house
* 125 : dancehall

#### ID3v1.1

ID3v1.1 est une extension de la version originale. Elle a été créée par Michael Mutschler en 1997. Elle consiste en l'ajout d'un champ pour le numéro de la piste. Les octets utilisés par ce champ ont été pris sur le champ réservé aux commentaires. De cette manière, la longueur de 128 octets pour le tag ID3 est conservée et reste compatible avec les anciens lecteurs audio.
Structure des métadonnées ID3v1.1 :
| Offset (en partant du début de la structure) | Taille (en octets) | Description |
| 0 | 3 | Identifiant "TAG" |
| 3 | 30 | Titre de la chanson |
| 33 | 30 | Nom de l'interprète |
| 63 | 30 | Nom de l'album |
| 93 | 4 | Année de parution |
| 97 | 28 | Commentaire sur la chanson |
| 125 | 1 | Caractère null servant de séparateur |
| 126 | 1 | Numéro de la piste |
| 127 | 1 | Genre musical |

### ID3v2

Les limitations de l'ID3v1, aussi bien dans la variété des informations que dans la taille de chacune des étiquettes, incitèrent plusieurs développeurs à rechercher une solution plus souple. ID3v2 est donc une version apportant beaucoup de changements. Elle a ajouté un certain nombre de champs d'informations pour y intégrer les paroles et même des images. Contrairement à la version 1, les informations sont placées au début du fichier et la taille des tags ID3 est variable. ID3v2 supporte les caractères Unicode.
Les étiquettes ID3v2 permettent donc de stocker quasiment n'importe quel type d'information et notamment :
* les paroles de la chanson, synchronisé ou non. Cela peut par-exemple être utilisé pour du karaoké ou de la lecture en même temps qu'un texte est dit. Il est possible d'encoder les paroles au format ISO-8859-1 (limité à certaines langues) ou UTF-8. De la même façon, il est possible de préciser le code de la langue utilisée, en trois lettres au format ISO 639-2.
* la pochette de l'album,
* l'auteur,
* le compositeur,
* le chef d'orchestre,
* etc.
ID3v2.4 est la dernière version du standard (1er novembre 2000).