Synchronisierte Songtexte bringen Streaming-Komfort in die eigene Musikbibliothek. Mit Lrclib und Lrcget lassen sich Lyrics unter Linux automatisch ergänzen.
Große Audio-Streaming-Anbieter stellen nicht nur reichlich Musik bereit, sondern meist auch die zu den Songs passenden Liedtexte, neuhochdeutsch: die Lyrics. Zeile für Zeile verfolgen Sie die Texte synchron zur Musik. Die Funktion übertrifft dabei sogar das klassische Booklet, denn der Player hebt die aktuell gesungene Zeile hervor. In Spotify genügt dafür ein Klick auf das Mikrofonsymbol neben der Wiedergabesteuerung.
Wer jedoch seine eigene Musiksammlung pflegt und über Jahre hinweg Lieblingsmusik von CDs als MP3 oder FLAC archiviert hat, kommt selten in diesen Genuss. Zwar gibt es mit dem LRC-Format [1] und dem Synchronised-Lyrics-Tag (SYLT [2]) im ID3-Standard passende Lösungen für synchronisierte Texte. Es dürfte sich aber kaum jemand die Arbeit machen und komplette Booklets von Hand abtippen.
Songtexte herunterladen
Die Datenbank Gnudb [3] identifiziert Audio-CDs anhand eines digitalen Fingerabdrucks. In Form der Lrclib [4] gibt es ein vergleichbares Projekt für Songtexte (siehe Kasten “Grauzone”). Dennoch integrieren viele Werkzeuge diese Quelle nicht direkt. Selbst moderne Ripper wie Laser [5] verzichten bislang auf diese Funktion.
Grauzone
Bei der Lrclib handelt es sich um eine offene, Community-basierte Datenbank für Songtexte im LRC-Format (“LyRiCs”), die viele Musikplayer verwenden. Die Inhalte stammen überwiegend von Nutzern und sind nicht offiziell lizenziert. Dadurch bewegt sich das Projekt rechtlich in einer Grauzone: Songtexte sind urheberrechtlich geschützt und dürfen nicht ohne Genehmigung verbreitet werden.
Selbst das leistungsfähige ID3-Metadaten-Tool Beets [6] automatisiert das Ergänzen von Songtexten nur mit einem zusätzlichen Plugin [7]. Als Kommandozeilenwerkzeug überzeugt Beets durch Flexibilität. Es verlangt jedoch Einarbeitung und wirkt für viele Szenarien unnötig komplex. Wer seine Sammlung bereits sauber pflegt, bevorzugt in der Regel eine schlankere Lösung.
Aus der Konserve
Hier setzt Lrcget [8] an. Die Desktop-Anwendung durchsucht ein ausgewähltes Verzeichnis nach Musikdateien und lädt passende Songtexte automatisch herunter. Standardmäßig speichert das Programm sie als LRC-Sidecar-Dateien mit identischem Dateinamen im selben Ordner. Optional integriert es die Texte direkt in MP3- und FLAC-Dateien. Diese Funktion gilt allerdings noch als experimentell, das Projekt warnt vor möglichen Datenverlusten. Anmerkungen zum Einrichten des Programms finden Sie im Kasten “Installation”.
Installation
Lrcget fehlt in den Softwarequellen der gängigen Linux-Distributionen, lediglich Arch Linux pflegt ein entsprechendes Paket im Arch User Repository (AUR). Zur Installation greifen Sie daher auf das Flatpak-Paket [12] zurück. Damit erhalten Sie distributionsübergreifend stets die aktuelle Version, zudem bleibt das Programm automatisch aktuell.
Nach dem ersten Start fügen Sie über das Drei-Punkte-Menü und Manage directories einen Musikordner hinzu. In den Settings aktivieren Sie optional Enable embed lyrics option, um Texte direkt in Dateien zu schreiben. Anschließend scannt Lrcget Ihre Musiksammlung, identifiziert Titel per Fingerabdruck und zeigt Treffer an. Bei Bedarf hören Sie Songs an, suchen Lyrics manuell oder öffnen den integrierten Editor (Abbildung 1).

Abbildung 1: Lrcget durchsucht den angegebenen Musikordner, erkennt vorhandene Audiodateien anhand ihres digitalen Fingerabdrucks und lädt passende Songtexte automatisch aus Onlinedatenbanken nach.
Mit Download All Lyrics laden Sie die Texte gesammelt herunter. Über die Schaltfläche EXPORT speichern Sie die Ergebnisse entweder als LRC-Sidecar-Dateien oder integrieren sie direkt in die Musikdateien (Abbildung 2). Ein Log informiert Sie darüber, ob der Export erfolgreich verlief.

Abbildung 2: Je nach Konfiguration exportieren Sie Songtexte als separate LRC-Sidecar-Dateien oder integrieren sie direkt in MP3- und FLAC-Dateien.
Das neue Lyrics-Format
Als Ergänzung zum klassischen LRC führt das erst kürzlich veröffentlichte Lrcget 2.0 das neue Format Lyricsfile [9] ein. Es basiert auf YAML und setzt auf Offenheit, Lesbarkeit und Erweiterbarkeit. Im Gegensatz zu älteren Formaten erlaubt es strukturierte Metadaten und flexible Erweiterungen, ohne die Kompatibilität zu gefährden.
Zu den wichtigsten Funktionen zählen die Synchronisation auf Wortebene im Karaoke-Stil, die Unterstützung zusätzlicher Metadaten (Sprache, mehrere Übersetzungen) sowie das einfache Bearbeiten mit jedem Texteditor. Darüber hinaus lässt sich das Format problemlos maschinell verarbeiten. Da sich die Spezifikation noch entwickelt, müssen Sie jedoch mit Änderungen rechnen.
Bei Bedarf prüfen und korrigieren Sie Songtexte direkt im integrierten Editor. Im Modus Plain erfassen Sie einfache Texte, während Sie im Synced-Modus synchronisierte Lyrics erstellen, die der Player zeilenweise anzeigt. Die Oberfläche erleichtert das Setzen und Anpassen von Zeitmarken erheblich.
Mit Sync Word gehen Sie noch einen Schritt weiter und definieren, wann einzelne Wörter im Song erscheinen (Abbildung 3). Diese Funktion ermöglicht eine exakte Karaoke-Darstellung. Da bisher nur wenige Player das neue Lyricsfile-Format unterstützen, lohnt sich der Aufwand derzeit nur für Experimente und Beiträge zur Community.

Abbildung 3: Der integrierte Editor von Lrcget erlaubt das Bearbeiten synchronisierter Lyrics und unterstützt das neue Lyricsfile-Format inklusive optionalem Wort-für-Wort-Sync.
Passende Player
Nicht jeder Player unterstützt die Anzeige von Songtexten, egal ob als LRC-Sidecar-Datei oder direkt in die Audiodatei integriert. Im Audioserver Navidrome funktioniert die Integration jedoch überzeugend. Der Webplayer blendet Lyrics ähnlich wie eine Statusanzeige ein. Auch viele Subsonic-Clients für Mobilgeräte, etwa Symfonium, stellen Songtexte unkompliziert dar. Auf dem Desktop gelingt das mit Nocturne (Abbildung 4) oder Feishin ebenfalls.

Abbildung 4: Navidrome stellt integrierte Songtexte direkt im Webplayer dar, während Desktop-Clients wie Nocturne die Lyrics synchron zur Wiedergabe anzeigen und hervorheben.
Wer einen klassischen Audioplayer bevorzugt, der ausschließlich lokal gespeicherte Musik abspielt, muss teilweise genauer hinsehen. Für Gnome-Systeme bietet sich unter anderem Vinyl [10] an, Elisa [11] empfiehlt sich für das KDE-Umfeld (Abbildung 5). Für den erweiterten Lyrics-Support mit Wort-für-Wort-Synchronisation fehlt derzeit noch breite Unterstützung. Hier bleibt nur, auf Aktualisierungen zu warten.

Abbildung 5: Moderne Audioplayer wie Vinyl (Gnome) oder Elisa (KDE Plasma) zeigen lokale Songtexte an und unterstützen grundlegende LRC-Synchronisation während der Wiedergabe.
Fazit
Das synchrone Anzeigen von Songtexten zur abgespielten Musik gehört zu den Funktionen, die man nach kurzer Zeit nicht mehr missen möchte. Gerade, wenn Sie Ihre eigene Musiksammlung über Jahre hinweg sorgfältig kuratieren, werten synchronisierte Liedtexte das Hörerlebnis deutlich auf. Mit Werkzeugen wie Lrcget ergänzen Sie fehlende Lyrics komfortabel und bringen Streaming-Komfort in Ihre Sammlung.
Voraussetzung bleibt jedoch ein passender Player. Hier zeigt sich die Linux-Welt flexibel: Ob unterwegs mit mobilen Clients, am heimischen Rechner oder über einen Server wie Navidrome – es gibt reichlich Auswahl. Auch wenn neue Formate wie Lyricsfile noch Anlaufzeit brauchen, stehen die Chancen gut, dass sie sich als Standard etablieren und damit auch in anderen Musikplayern zur Verfügung stehen. (tle/jlu)
Der Autor
Christoph Langner erklärt für Tuxedo Computers die Distribution Tuxedo OS. Folgen Sie ihm auf Mastodon (https://social.anoxinon.de/@linuxundich) oder werfen Sie einen Blick in sein Blog rund um GNU/Linux (http://linuxundich.de).
Infos
-
LRC-Dateiformat: https://de.wikipedia.org/wiki/LRC_(Dateiformat)
-
Synchronised Lyrics im ID3-Tag: https://id3.org/id3v2.3.0#Synchronised_lyrics.2Ftext
-
CD-Datenbank Gnudb: https://gnudb.org
-
Lrclib: https://lrclib.net
-
Beets: https://beets.io
-
Lyrics-Plugin für Beets: https://beets.readthedocs.io/en/stable/plugins/lyrics.html
-
Lyricsfile-Format in Lrcget 2.0: https://github.com/tranxuanthang/lrcget/releases/tag/2.0.0
-
Vinyl: https://flathub.org/de/apps/page.codeberg.M23Snezhok.Vinyl
-
Lrcget auf Flathub: https://flathub.org/en/apps/net.lrclib.lrcget





