# ID3

ID3 es un estándar de facto para incluir metadatos (etiquetas) en un archivo contenedor audiovisual, tales como álbum, título o artista. Se utiliza principalmente en ficheros sonoros como MP3.

## Reseña histórica

Las etiquetas ID3 surgen con posterioridad al estándar MP3. Como existía la necesidad de catalogar los ficheros de sonido con información textual básica de su procedencia: autor, título, etc., Eric Kemp (alias NamkraD), con el desarrollo del programa "Studio3", introdujo una solución a este problema en 1996. Así, sugirió la posibilidad de incluir dichos metadatos al final de cada fichero MP3. Finalmente, esta idea fue implementada con gran éxito entre los usuarios, naciendo la primera versión de ID3. Posteriormente, Michael Mutschler, creador de MP3ext, sugirió la versión 1.1 de ID3. A pesar de su éxito, existían quejas sobre algunas limitaciones técnicas del formato de las etiquetas. Por ello, se elaboró la versión 2 de este estándar informal.

## Utilidad

El etiquetado de ficheros audiovisuales es imprescindible para su catalogación. La clasificación mediante carpetas y nombres de fichero es insuficiente para grandes colecciones ya que solamente facilita un único criterio de búsqueda.
Mediante el etiquetado es posible organizar una colección mediante múltiples criterios. Permite una búsqueda más rápida y sencilla de aquellos archivos que se desean.

## El formato

Las especificaciones de ID3 son aplicables a cualquier fichero o contenedor audiovisual. No obstante, se suele aplicar principalmente a contenedores de audio. Existen tres versiones de la especificación que son compatibles entre sí. Por ejemplo, un fichero puede contener simultáneamente etiquetas de la versión 1.1 y de la versión 2.0. En este caso, el reproductor multimedia debe decidir cuales son relevantes.

### ID3 versión 1

Esta primera especificación es muy simple. Consiste en adjuntar un bloque de tamaño fijo de 128 bytes al final del fichero en cuestión. Este bloque contiene las siguientes etiquetas:
* Una cabecera que identifica la presencia del bloque ID3 y su versión. En concreto, dicha cabecera consta de los caracteres TAG.
* Título: 30 caracteres.
* Artista: 30 caracteres.
* Álbum: 30 caracteres.
* Año: 4 caracteres.
* Un comentario: 30 caracteres.
* Género (musical): un carácter.
Todas las etiquetas usan caracteres ASCII, excepto el género, que es un número entero almacenado en un único byte. El género musical asociado a cada byte está predefinido en el estándar e incluye definiciones de 80 géneros, numerados del 0 al 79. Determinados programas de reproducción han ampliado por su cuenta los géneros definidos (a partir del número 80).

### ID3 versión 1.1

Un inconveniente de la versión anterior es que no es posible indicar el número de pista correspondiente al álbum al que pertenece la grabación. La versión 1.1 simplemente "resta" los dos últimos caracteres de la etiqueta comentario para este propósito. Para distinguir esta versión de la anterior, el carácter n.º 29 debe ser obligatoriamente un carácter nulo, seguido de un número entero en formato byte que almacena el número de canción en el álbum. Si el carácter n.º 30 es nulo o si el n.º 29 no lo es, el número de canción se presupone no especificado.
Se trata de una solución sencilla y compatible con la versión anterior. Esto incluye la compatibilidad del software.

### ID3 versión 2.0

Aunque ID3 versión 1.x es suficiente en muchos casos, presenta algunos problemas serios:
* La longitud de las etiquetas es insuficiente para algunas grabaciones.
* El uso de caracteres ASCII impide su uso con idiomas no occidentales.
* El conjunto de etiquetas es insuficiente. Por ejemplo, en algunas grabaciones es necesario distinguir el autor del intérprete; tampoco existe una etiqueta "obra" para identificar una pieza con varias pistas que puede estar junto con otras obras en un mismo álbum, por ejemplo en álbumes de música culta que contienen varias obras cada una con sus pistas independientes.
* No es posible incluir nuevas etiquetas no predefinidas, en función de las necesidades de cada usuario. Por ejemplo, las preferencias de ecualización.
Por este motivo surge la versión 2 de ID3. Los detalles técnicos son más complejos que en las versiones anteriores. Las diferencias más significativas son las siguientes:
* Utiliza caracteres Unicode, por lo que está abierto a cualquier lengua.
* Las etiquetas se sitúan al principio del fichero, no al final. Esto facilita la difusión por Internet mediante streaming, ya que no hay que esperar a que se descargue todo el fichero para conocer las etiquetas.
* Las etiquetas pueden tener mayor o menor longitud. No hay restricciones.
* Es posible incluir imágenes, no sólo texto. Por ejemplo, la carátula del álbum.
* Admite etiquetas definidas por el usuario.
* Se han predefinido más de 35 etiquetas estándar.
* La letra de la canción se puede almacenar bajo el frame Lyrics3 en la TagID3, al igual que la portada del álbum.
* Las etiquetas pueden ser cifradas.