Nicht nur der Gesang eines Grönemeyers ist kaum zu verstehen. Schnelle Hilfe verspricht hier Lyrics-in-terminal. Das Programm lädt automatisch die Liedtexte zum gerade abgespielten Song aus dem Netz.
Wer nur Musik von Künstlern und Bands hört, die ihre Songs mit Schubidu und Schalalala auskleiden, interessiert sich vermutlich weniger für die Liedtexte. In den aktuell sehr herausfordernden Zeiten gibt es jedoch auch viele Künstler, die sehr ausdrucksstarke und interessante, weil relevante Songtexte oder neudeutsch Lyrics schreiben. Man muss das Genre nicht mögen, aber Deutschrap zum Beispiel hat in den letzten Jahren viele Künstler hervorgebracht, die in der Tat etwas zu sagen haben.
Für den Hörer ist es jedoch oft nicht einfach, die Liedtexte zu verstehen. Ob Grönemeyers Nuscheln oder Doubletime Rap wie bei Eminem (etwa bei “Rap God”) oder Kollegah (“Mondfinsternis”), für viele Songs wünscht man sich eine einfache Option, die Songtexte anzeigen zu lassen. Um nicht immer wieder im Netz nach den Lyrics suchen zu müssen, bieten manche Player die Funktion, den Liedtext zum gerade abgespielten Song einzublenden. Mit dem Programm Lyrics-in-terminal [1] rüsten Sie die Funktion in so gut wie jedem Player nach.
Installation
Aktuell finden Sie das Programm noch nicht in den Paketquellen der gängigen Distributionen. Nutzer von Arch Linux und dessen Derivaten haben es bei der Installation der Anwendung noch am einfachsten: Sie laden das Paket lyrics-in-terminal über das Arch User Repository (AUR) auf Ihr System. Arbeiten Sie mit einer anderen Distribution, greifen Sie auf den Python-Paketmanager Pip zurück. Mit den Kommandos aus Listing 1 spielen Sie das Programm unter Debian oder Ubuntu ein.
Listing 1
Installation
$ sudo apt install python3-pip $ pip install lyrics-in-terminal
Der Paketmanager installiert das Programm nach ~/.local/bin/. Dieses Verzeichnis integriert die Shell jedoch nur dann in die Umgebungsvariable PATH, wenn das Verzeichnis bereits beim Login existiert. Damit das Kommando lyrics funktioniert, müssen Sie sich daher eventuell einmal aus- und wieder einloggen. Findet das System den Befehl immer noch nicht, kontrollieren Sie die Datei ~/.profile im Home-Verzeichnis und fügen die Zeilen aus Listing 2 an deren Ende an. Nach einem weiteren Ab- und wieder Anmelden sollte das Shell-Kommando klappen.
Listing 2
~/.profile
[...] # set PATH so it includes user's # private bin if it exists if [ -d "$HOME/.local/bin" ]; then PATH="$HOME/.local/bin:$PATH" fi
Songtexte im Terminal
In der Voreinstellung verbindet sich Lyrics-in-terminal automatisch mit Spotify. Es genügt, das Programm im Terminal über das Kommando lyrics zu starten und im offiziellen Spotify-Client einen beliebigen Song abzuspielen (Abbildung 1). Einen kurzen Moment später erscheinen die Lyrics des Songs in der Kommandozeile, einen kostenpflichtigen Premium-Account benötigen Sie dabei nicht. Im Kopf sehen Sie zusätzlich den Namen des Songs, den Künstler und darunter den Titel das Albums. Übersteigt die Länge des Liedtexts den Platz im Terminal, scrollen Sie mit den Pfeiltasten durch den Inhalt.

Abbildung 1: In der Standardeinstellung hängt sich Lyrics-in-terminal an die Wiedergabe des Spotify-Clients.
In unserem Test funktionierte die Textanzeige von Lyrics-in-terminal besser als die im Android-Client von Spotify enthaltene Funktion (die PC-Variante des Clients bietet diese Option bislang noch nicht). Die Anzeige liefert in der Android-App nur bei wirklich bekannten Künstlern ein Ergebnis. Für Lyrics-in-terminal hingegen stellen Salsa aus Südamerika, Chansons aus Frankreich, Fado aus Portugal oder eben Deutschrap kein Problem dar. Das Programm zeigte nur bei Instrumentals oder rein akustischen Techno-Tracks ein lyrics not found an – wenig verwunderlich.
Unter der Haube verwendet Lyrics-in-terminal keine eigene Datenbank, sondern greift auf die frei zugänglichen Daten von AZLyrics [2] zu. Dieses Projekt sammelt schon seit Jahren Songtexte und lizenziert diese auch ordentlich von den Plattenlabels. Es besteht also keine Gefahr, dass die Texte von heute auf morgen aus dem Netz verschwinden. Sollten Lyrics fehlen oder nicht stimmen, kann die Community die Daten über das Portal des Dienstes nachtragen.
Nicht nur Spotify
Um Musik abzuspielen, verwendet nun nicht jeder Nutzer Spotify. Kein Problem: Lyrics-in-terminal zapft die Daten über den gerade abgespielten Song nicht irgendwie vom Player ab, sondern über den systemeigenen D-Bus und die Media Player Remote Interfacing Specification (MPRIS [3]) – eine Funktion, die die meisten Mediaplayer unter Linux unterstützen. Die Technik benutzen beispielsweise die Desktop-Umgebungen, um die Wiedergabe des Players über Widgets zu kontrollieren oder Informationen zum aktuellen Song anzuzeigen.
Bei welchen Mediaplayern Lyrics-in-terminal nun lauschen soll, legen Sie über eine an den Aufruf angehängte Option fest. Das Kommando lyrics koppelt sich wie beschrieben an Spotify, lyrics rhythmbox hingegen an den Mediaplayer Rhythmbox des Gnome-Desktops. Die Verbindung funktioniert mit jedem Mediaplayer, der sich über D-Bus/MPRIS steuern lässt – also mit so gut wie jedem Musikplayer unter Linux. Wir haben VLC, Audacious, Lollypop und den noch recht jungen Gnome Music Player getestet (Abbildung 2).

Abbildung 2: Die automatische Songtextsuche funktioniert mit jedem Audioplayer, der sich über D-Bus/MPRIS steuern lässt.
Problematisch ist hier nur die richtige Schreibweise: Die Optionen rhythmbox oder vlc müssen Sie klein schreiben. Lollypop muss hingegen mit einem Großbuchstaben beginnen, und bei Gnome Music müssen Sie den D-Bus-Namen org.gnome.Music angeben. Andernfalls meint das Programm, dass der gewünschte Player nicht laufen würde (Listing 3).
Listing 3
Lyrics-in-terminal
$ lyrics $ lyrics rhythmbox $ lyrics vlc $ lyrics Lollypop $ lyrics org.gnome.Music
Funktioniert die Verknüpfung mit dem gewünschten Player nicht auf Anhieb, sollten Sie prüfen, ob Sie die Unterstützung für MPRIS im Player eventuell erst aktivieren müssen. Dann experimentieren Sie gegebenenfalls mit den unterschiedlichen Schreibweisen.
TIPP
Damit Sie nicht immer den Audioplayer als Option mit angeben müssen, bietet es sich an, ein Alias für das Lyrics-Kommando anzulegen. Dazu bearbeiten Sie die Konfiguration der Shell, in der Regel also die Datei ~/.bashrc, und fügen einen Eintrag wie alias lyrics='lyrics Lollypop' hinzu. Spätestens nach einem Neustart des Terminalprogramms fällt dann die Angabe des Lieblingsplayers weg.
Den D-Bus-Namen ermitteln Sie recht einfach mithilfe eines D-Bus-Debuggers wie D-Feet [4]. Dieses Programm führen die meisten Distributionen in den offiziellen Paketquellen. Nach dem Start der Anwendung schalten Sie zunächst im Kopf des Fensters auf den Session Bus um und tragen dann den Namen des Players in das Suchfeld in der linken Seitenleiste ein. Der Name erscheint dann als Suchergebnis; rechts im Anzeigebereich lässt sich der Name dann auch per Copy & Paste in die Zwischenablage übernehmen (Abbildung 3).

Abbildung 3: Den D-Bus-Namen eines Players ermitteln Sie bei Bedarf mit einem D-Bus-Debugger wie zum Beispiel D-Feet.
Fazit
Lyrics-in-terminal gehört zu den kleinen, aber feinen Terminal-Helferlein, die ihren Nutzen über das Terminalfenster hinaus ausdehnen. Das Programm lädt zuverlässig und automatisch passende Songtexte aus dem Netz, egal, welchen Player Sie verwenden und welche Musik Sie gern hören. Sicher finden Sie den einen oder anderen Künstler, dessen Werk nicht auf AZLyrics abgebildet ist, doch die im Test erfolgreich bestandene Auswahl war beachtlich. (cla)
Infos
-
Projektseite: https://github.com/Jugran/lyrics-in-terminal
-
AZLyrics: https://www.azlyrics.com
-
MPRIS-Spezifikation: https://specifications.freedesktop.org/mpris-spec/latest/





