aquí la info al respecto
http://es.wikipedia.org/wiki/ID3primero
un fichero puede contener simultáneamente etiquetas de la versión 1.1 [o 1] y de la versión 2.0
ID3 versión 1Esta 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.
ID3 versión 1.1La 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.
ID3 versión 2.0 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.
(hay varias versiones más de 2...)
Es decir para leerlos, tienes que hacer lo siguiente:
(te explicaré en procedimientos y no en codigo, ya que conozco el procedimiento por haberlo hecho en otro leguaje)
para el
ID3 v1 que es el más simple
abres el archivo
te mueves hasta la posicion final
retrocedes 128bytes
lees las cantidades de bytes especificadas para cada etiqueta...
ahí debes tener la ID3 v1
la
ID3 v2 es más compleja
abres el archivo
empiezas a leer
allí lo primero que consigues son 3 caracteres que dicen "ID3"
luego de unos bytes "0" viene una etiqueta de 4 bytes
la informacion de las etiquetas y como se usa es mucho más complejo (ya que no tienen que seguir un orden especifico y cada una tiene una estructura interna independiente), aquí la info
http://id3.org/id3v2.4.0-frames