- MP3-Tag
-
Als ID3-Tag bezeichnet man ein Format für Zusatzinformationen (Metadaten), die in Audiodateien des MP3-Formats enthalten sein können. ID3 steht für Identify an MP3 ("Identifiziere eine MP3-Datei"); der englische Begriff Tag bedeutet soviel wie Schildchen oder Etikett.
Inhaltsverzeichnis
Motivation
Bevor es ID3-Tags für Informationen wie den Namen des Albums, des Künstlers oder des Musik-Stils gab, mussten der Datei- oder Verzeichnisname diese Angaben aufnehmen. Die Folge waren sehr lange Dateinamen und daher unübersichtliche Verzeichnisse. Ferner eignen sich Dateisysteme oft nicht für alle Sonderzeichen, die für manche Titel, Interpreten oder Albennamen nötig sind, sowie für die Länge der benötigten Dateinamen; des Weiteren unterscheiden sich oftmals die Zeichenkodierungen, z. B. ISO 8859 und Unicode, falsch interpretierte Sonderzeichen zwischen den verschiedenen code pages von ISO 8859, oder die Dateinamen werden bei der Übertragung über das Netzwerk (genauer: durch die Protokolle oder deren Implementierungen) verfälscht.
Deshalb entschloss man sich, diese Metadaten in einem reservierten Teil des Speicherplatzes mancher Audiodateien unterzubringen. Das Bild rechts oben zeigt die ID3-Informationen einer MP3-Datei.
In Anlehnung an ID3 entwickelte sich auch ein ähnliches Verfahren für Bilddateien im JPEG-Format, welche das Datum und ähnliche Informationen, die Exif-Information, enthalten.
Funktionsweise und Geschichte
Im MP3-Dateiformat sind solche Metainformationen standardmäßig nicht vorgesehen. ID3 ist auch in der neuesten Version, ID3v2.4, nur ein informeller Standard, der keinen Einzug in den MP3-Standard gefunden hat. Im Gegensatz zu neueren Formaten bzw. Containerformaten gibt es keine Unterscheidung zwischen Audio- und Metadaten, weshalb durch Mustererkennung herausgefunden werden muss, ob eines der nachfolgenden Formate in Betracht kommt.
Es existieren im Wesentlichen zwei große Versionen des ID3-Tag-Formats, ID3v1 und ID3v2, die im Folgenden näher beschrieben werden.
Versionen
ID3v1
Die erste Version, ID3v1, wurde 1996 von Eric Kemp mit dem Programm „Studio3“ eingeführt. Um zu verhindern, dass ein Player versucht, die ID3v1-Daten als Audio-Informationen zu interpretieren, werden diese am Dateiende angefügt. Da standardkonforme MPEG- und MP3-Datenströme mit einer Datenende-Markierung versehen sind, ignorieren die Player alle darauf folgenden Daten.
ID3v1 ist einfach gehalten und besteht einzig aus einem 128 Byte großen Block mit festem Aufbau:
Offset Länge Bedeutung 0 3 Kennung „TAG“ zur Kennzeichnung eines ID3v1-Blocks 3 30 Songtitel 33 30 Künstler/Interpret 63 30 Album 93 4 Erscheinungsjahr 97 30 Beliebiger Kommentar 127 1 Genre Mit einer Wahrscheinlichkeit von 1:224 ≈ 0,000006 % beginnt ein normaler Datenblock in einem MP3-Datenstrom mit den drei Bytes „TAG“ und würde somit fälschlich als ID3v1-Block identifiziert. Eine mehr oder weniger sichere Lösung für dieses Identifikationsproblem besteht beispielsweise darin, die MP3 Datei nicht von vorne zu durchsuchen, sondern vom Dateiende her, indem man 128 Bytes rückwärts springt und dort wieder vorwärtslesend die „TAG“-Marke sucht. Eine 100%ige Sicherheit gibt es aber auch hierfür nicht. Der Zeichensatz für die Textfelder ist nicht spezifiziert. Üblich sind ASCII, ISO 8859-1 und Unicode im UTF-8-Format. Dadurch kann es auch hier zu Fehlinterpretationen bei Umlauten und Sonderzeichen kommen.
Das Genre des Titels wird als 1 Byte kodiert. Es existiert eine Liste, die angibt, welcher Wert welchem Genre entspricht.
ID3v1.1
Eine Weiterentwicklung des ID3v1-Standards gestaltete sich schwierig, da die vorhandenen Felder bereits starr vorgegeben waren. Allerdings gelang Michael Mutschler eine Erweiterung zu ID3v1.1. Hierfür wurde das Kommentarfeld von 30 auf 28 Byte gekürzt. Darauf folgt ein Byte, das 0 als Belegung enthält. Damit wird sichergestellt, dass alle ID3-Reader mit der Auswertung der Zeichenketten aufhören. Das freigewordene Byte an Position 126 bekam die Bedeutung Titelnummer.
ID3v2
Obwohl ID3v1 ein großer Erfolg war, weist das Format zahlreiche Schwächen auf, u. A.:
- Eine Begrenzung der Länge der Datenfelder auf weniger als 30 Zeichen, was insbesondere bei Titel und Album eine starke Einschränkung darstellt,
- fehlende Aussage über die Zeichenkodierung des Texts,
- keine Möglichkeit, ID3-Tags zu streamen, da die Kennung am Ende der Datei liegt, die ID3-Datenstruktur mithin an (seekbare) Dateien gebunden ist, aber nicht in Datenströme eingeflochten werden kann und
- zu wenige Metadatenfelder
Deshalb wurde 1998 von Martin Nilsson und anderen ein neues Format entworfen, das den Namen ID3v2 erhielt. Die Zusatzinformationen werden dabei in einem Block vor oder seit ID3v2.4 möglich auch nach den Audiodaten (dem MPEG-Stream) in die Datei eingefügt. Den Beginn eines ID3-Blockes erkennt man am Header (Version ID3v2):
Identifizierung "ID3" Version $04 00 (Major Release, dann Minor Release).
Aktuell (Stand: September 2004) ist die Version 4.0 vom 1. November 2000, auch als ID3v2.4.0 bekannt.
ID3v2-Tags können so kodiert werden, dass Player, die ID3v2 nicht verstehen, diese Tags überspringen und nicht versuchen, sie als Audiodaten zu interpretieren.
In der aktuellen Version 2.4 werden viele Zusatzinformationen spezifiziert, es gibt jedoch kaum eine Implementierung, die den vollen Funktionsumfang unterstützt.
ID3v2.2, v2.3 und v2.4
Einige Versionen von v2-Tags sind inkompatibel zueinander. Die Hauptunterschiede sind:
- v1 bis v2.2 gelten als veraltet; nur wenige Programme schreiben in der Standardeinstellung noch diese Tag-Version. Selbst der Grund der einfachen Implementierbarkeit in Abspielgeräten oder -programmen spricht nicht mehr dafür.
- Ab Version 2.3 werden bestimmte zu verwendende Zeichenkodierungen festgelegt. v2.3 unterstützt die Kodierungen ISO 8859-1 und UTF-16 (Unicode), v2.4 unterstützt darüber hinaus die häufigste Unicode-Variante, UTF-8.
- Normalerweise stehen v2-Tags am Anfang einer Datei, aber v2.4 erlaubt sie auch am Ende. Bislang unterstützen jedoch weder Tagging-Programme, noch Software- oder Hardware-Player diese Variante.
Die am weitesten verbreitete Version, v2.3, wird von fast allen neueren Programmen und Geräten unterstützt; einige haben jedoch Probleme beim Lesen von Unicode-Tags, obwohl der Standard diese Kodierung spezifiziert.
UTF-8-kodierte Tags der Version 2.4 bilden die neueste und flexibelste Version des v2-Standards. Trotz deutlicher Fortschritte in jüngerer Zeit werden die Neuerungen von v2.4 nur teilweise unterstützt.
Anzeigen von ID3-Tags
Die meisten MP3-Player sind in der Lage, ID3-Tags darzustellen. Außerdem haben viele moderne Betriebssysteme und Arbeitsumgebungen von Grund auf eine ID3-Unterstützung implementiert.
Unter Linux gibt es mehrere Möglichkeiten, eine davon ist das Kommandozeilenwerkzeug "id3" für ID3v1 Tags. Für KDE gibt es mittels dem kfile-Plugin von kdemultimedia auch die Möglichkeit, im Konqueror MP3-Dateien zu verändern - siehe das Bild zu Konqueror weiter oben.
Bearbeiten von ID3-Tags
- Siehe auch den Hauptartikel Tag-Editor.
Um ID3-Tags zu bearbeiten, wird ein sogenannter Tag-Editor benötigt. In den meisten Abspielprogrammen ist ein solcher bereits integriert. Zudem gibt es eine Reihe spezialisierter Editoren (Standalone-Tag-Editoren) mit erweitertem Funktionsumfang.
Siehe auch
- APE-Tag
- Audiodatenkompression
- freedb
- Tags in Bilddateien
- Liste der ID3v1-Genres
- MusicBrainz
- Vorbis comment
Weblinks
- ID3-Standard-Dokumentation (englisch)
- Vergleich der Tagnamen verschiedener Formate (englisch)
Wikimedia Foundation.