Lyrics sind der Text eines Songs. In Metadaten enthält das Feld Lyrics diesen Text als Schrift im Audio- oder Videofile. Ein Bericht von ffprobe kann außerdem ein Lyrics-Flag anzeigen.
Der ID3v2‑Standard beschreibt das Textfeld als Lyrics eines Songs oder als Texttranskription anderer sprachlicher Inhalte. Der Text wird getrennt vom Ton gespeichert, daher kannst du ihn nur mit Software lesen, die dieses Feld ausliest.
Welche Dateien sie enthalten
Jedes Dateiformat speichert Lyrics unter einem eigenen Feldnamen. In gängigen Formaten heißen sie so:
- MP3: die ID3v2‑Frames
USLTfür normalen Text undSYLTfür getimten Text. - WAV und AIFF: dieselben ID3v2‑Frames, wenn die Datei ein ID3‑Tag enthält.
- FLAC und OGG: ein Vorbis‑Kommentar. MusicBrainz Picard nennt ihn
LYRICS, aber keine Spezifikation legt den Namen fest. - M4A und MP4: das Metadaten‑Item
©lyr. - MKV: das Matroska‑Tag
LYRICS. - WMA und WMV: die Attribute
WM/LyricsundWM/Lyrics_Synchronised.
Einfache und synchronisierte Lyrics
Einfache Lyrics sind ein Textblock ohne Timing. Synchronisierte Lyrics verknüpfen jedes Textstück mit einem Zeitpunkt in der Aufnahme. Software kann die Wörter dann passend zum Ton anzeigen, zum Beispiel für Karaoke.
In einem ID3v2‑SYLT-Frame hat jedes Textstück einen Zeitstempel. Der Zeitstempel zählt ab Beginn der Datei, in Millisekunden oder MPEG‑Frames.
Wie der Wert aussieht
Ein einfacher Wert ist normaler Text, der Zeilenumbrüche enthalten kann. Für synchronisierten Text setzt ExifTool einen Zeitstempel in eckigen Klammern vor jeden Eintrag: [MM:SS.ss] für Sekunden oder [FFFF] für MPEG‑Frames.
Eine Datei kann Lyrics in mehreren Sprachen enthalten. In ID3v2 hat jeder USLT- oder SYLT-Frame ein 3‑stelliges Sprachfeld nach ISO 639‑2. Beispiele:
engfür Englischdeuodergerfür DeutschXXX, wenn die Sprache unbekannt ist, wie es der ID3v2‑Text beschreibt
Für einen ID3v2‑USLT-Frame ohne Beschreibung hängt FFmpeg den Sprachcode an den Schlüssel an, zum Beispiel lyrics-eng für englischen Text. Für eine unbekannte Sprache zeigt FFmpeg 9.0 lyrics-XXX, und der Entwicklungscode zeigt schlicht lyrics. ExifTool verwendet dasselbe Muster für eine gewählte Sprache, etwa Lyrics-eng.
Lyrics als Stream-Flag
In einem Bericht von ffprobe, dem Dateileser des FFmpeg‑Projekts, können Lyrics auch ein Stream‑Flag sein, entweder 0 oder 1. FFmpeg beschreibt es kurz: Der Stream enthält Song‑Lyrics. Das Flag selbst enthält keinen Text.
Die Option -show_streams des ffprobe‑Lesers gibt dieses Flag für jeden Stream aus, neben dem Karaoke-Flag. So kannst du 0 auch in einer Datei ohne Musik sehen. Ein 0 beweist nicht, dass die Datei keinen Lyrics‑Text enthält.
Woher der Text kommt
Der Lyrics‑Text stammt nicht aus dem Ton selbst. Eine Person oder ein Programm muss den Text hinzufügen.
Tagging‑Software kann das Feld schreiben. MusicBrainz Picard braucht für den Text ein Plugin oder Skript, weil seine Datenbank keine Lyrics enthält.
Beim Konvertieren kann der Text in eine neue Datei übernommen werden. FFmpeg kopiert globale Metadaten standardmäßig aus der ersten Eingabedatei. So kann eine konvertierte Datei den Lyrics‑Text ihrer Quelle behalten, auch wenn du die Datei selbst nie getaggt hast.
Warum das für deine Datei wichtig ist
Das Lyrics‑Textfeld kann den vollständigen Text eines Songs enthalten. Wenn du die Datei teilst, teilst du auch diesen Text, selbst wenn ein Player ihn nie anzeigt.
Ein fehlendes Textfeld sagt nichts über den Song aus. Ein Song mit Text kann kein Lyrics‑Feld haben. Der Text kann sich außerdem von dem unterscheiden, was du hörst.
Eine Datei kann mehrere Lyrics‑Werte enthalten, zum Beispiel einfachen und synchronisierten Text oder Text in 2 Sprachen. In einer Matroska‑Datei kann das LYRICS-Tag auch eine Untertitelspur duplizieren. Die Spezifikation empfiehlt in der Regel, beides zu bearbeiten.