Lyrics Juke­box

Musik­wieder­gabe mit syn­chroner Text­anzeige für Windows, Linux und Mac

Eigenschaften

Grundsätzliches

Lyrics Jukebox braucht nicht installiert zu werden, man kann das Programm einfach starten. Alle benötigten Dateien werden mitgeliefert. Lediglich die Internetradiofunktion stellt eine Ausnahme dar, denn dafür wird der VLC-Player benötigt.
So kann es auch problemlos als portabler Musikplayer benutzt werden, bei dem sich alle Daten auf einem Wechseldatenträger befinden.

Das Programm ist kostenlos (und enthält auch keine Werbung oder ähnliches), und es benötigt keine Internetverbindung (außer natürlich fürs Radiostreaming).

Weil Lyrics Jukebox für einen kleinen Bildschirm entworfen wurde, wo ein umfangreicher Einstellungsdialog schwer handhabbar wäre, wird die Betriebsart mittels einer Konfigurationsdatei festgelegt, in der die Einstellungen von Hand geändert werden.
Das Programm erwartet diese Konfigurationsdatei mit dem Namen Lyrics_Jukebox.config standardmäßig im selben Verzeichnis, in dem die Programmdatei liegt. Wenn eine andere Konfigurationsdatei benutzt werden soll, dann können Pfad/Name als Startargument übergeben werden. Details zum Verändern der Einstellungen und alle Konfigurationsparameter sind auf der Seite zur Konfi­guration beschrieben.

Betriebsarten

Hinweis: Nachfolgend enthalten einige Beispiele Pfadangaben mit / als Pfadtrenner, so wie es in den meisten Betriebssystemen üblich ist. Für Windows können Sie dort selbstverständlich ein \ einsetzen.

Lyrics Jukebox kann auf verschiedene Weise benutzt werden. Generell können Sie festlegen, ob das Programm ständig Musik wiedergibt und die Jukebox nur zum zusätzlichen Auswählen einzelner Stücke und zum Nachsehen benutzt wird, was es denn so für Musik gibt, oder ob nach dem Programmstart die Jukebox aufgerufen wird und nur die Stücke gespielt werden, die dort ausgewählt werden.
Die mitgelieferte Standardkonfiguration startet das Programm im Wiedergabemodus und die Jukebox läßt sich ein- und ausschalten.

Nachfolgend finden Sie einige Anregungen für mögliche Betriebsarten und die entsprechenden Konfigurationseinträge.
  1. Einfacher Player ohne Textanzeige oder Jukebox
    Das erreichen Sie mit SimplePlayer=on.
  2. Wiedergabe einer M3U-Playlist
    Geben Sie hierfür Pfad/Dateiname bei PlayList an,
    beispielsweise PlayList=Wiedergabelisten/Partymusic.m3u
  3. Wiedergabe eines Verzeichnisinhaltes (wahlweise mit oder ohne Unterverzeichnissen)
    Geben Sie hierfür Pfad/Dateiname bei MusicDir an,
    beispielsweise MusicDir=Musik/Klassik
    Ob dabei Unterverzeichnisse gelesen werden, legt der Parameter ReadSubDirs fest.
  4. Wiedergabe ohne Zufallswiedergabe
    Shuffle=off
    SmartShuffle=off
  5. mit einfacher Zufallswiedergabe
    Shuffle=on
  6. mit erweiterter Zufallswiedergabe ohne Wiederholungen
    Shuffle=off
    SmartShuffle=on
  7. mit veränderter Wiedergabehäufigkeit
    Die Wiedergabehäufigkeit einzelner Stücke kann in einer Liste festgelegt werden
    RatingList=Pfad/Dateiname (Aufbau der Liste siehe Konfi­guration).
    Wenn Sie wollen, erreichen Sie damit eine Rotation einzelner Stücke so wie bei manchen Radiostationen, aber übertreiben Sie es lieber nicht.
    Wie stark die Auswirkungen der Bewertungseinträge wahrgenommen werden, hängt von der Gesamtanzahl der Musikstücke ab:
    • Bei positiver Bewertung werden für das betreffende Stück über die gesamte aktuelle Wiedergabeliste zusätzliche Wiedergabepositionen gleichmäßig verteilt (wobei das Programm Wiederholungen von Interpret oder Titel zu vermeiden versucht). Der Wert +3 führt also zu drei zusätzlichen Wiedergabepositionen, was bei wenigen Stücken natürlich mehr auffällt als bei vielen.
    • Bei negativer Bewertung wird das Stück zufallsgesteuert ausgelassen, beispielsweise bewirkt also -2, daß das Stück durchschnittlich nur jedes dritte Mal gespielt wird.
  8. Eine Playlist ohne Pfade oder mit falschen Pfaden kann importiert werden
    OldPlayList=Pfad/Dateiname
    Das kann man auch mit der Zufallswiedergabe oder einer vorher geladenen Playlist kombinieren, die hiermit importierte Playlist wird immer am Anfang einsortiert. Wenn sie zu Ende ist, fährt die Wiedergabe mit der internen Wiedergabeliste fort, also der Zufallsliste oder der geladenen Playlist.
    Für den Import einer solchen Liste müssen alle darin vorkommenden Titel bekannt sein, also entweder im angegebenen Musikverzeichnis stehen (wenn die Musik aus MusicDir benutzt wird) oder in der Playlist vorhanden sein (wenn PlayList benutzt wird). Fehlende Stücke werden weggelassen, und es gibt eine kurze Warnmeldung während des Imports der OldPlayList.
  9. Laufschrift
    Für die Benutzung auf kleinen Bildschirmen kann eine große Laufschrift mit Informationen über das Stück aktiviert werden LargeIntro=on
    Dieser Parameter bewirkt, daß einige Sekunden nach dem Beginn der Wiedergabe das Jahr, der Interpret und der Titel als Lauftext angezeigt werden.
    Im Radiomodus wird dann der übermittelte Name des aktuell gespielten Stücks angezeigt, sobald er sich ändert.
  10. Für die Unterstützung von Bühnenauftritten („on-stage“) kann vor jedem neuen Stück gewartet werden
    PauseBeforeTrack=on
    Die Wiedergabe beginnt dann beim Betätigen der Leertaste oder der Pausentaste der Bedienoberfläche.
  11. Betrieb als Jukebox, bei der nur die gewählten Stücke gespielt werden
    JukeboxOnly=on
    Dieser Parameter bewirkt, daß sich die Jukeboxfunktion nicht abschalten läßt.
  12. Betrieb als Party-Jukebox, die, wenn niemand ein Stück wählt, nach einer gewünschten Zeitdauer zur Zufallswiedergabe oder der Playlist wechselt
    JukeboxTimeout=60
    bewirkt beispielsweise das selbständige Fortsetzen der Wiedergabe nach einer Minute.
  13. Betrieb als Internetradio
    Dabei wird der VLC-Player benutzt, der also installiert sein muß.
    Die Streaming-URLs der Internetradiostationen stehen in einer Textdatei, die Sie nach Ihren Wünschen verändern können. Jede Zeile enthält eine URL, und die Stationen werden im Programm in deren Reihenfolge angeboten.
    RadioStations=Pfad/Dateiname
    Das Symbol der Radiofunktion wird nur angeboten, wenn die Liste der Radiostationen vorhanden ist und der VLC-Player beim Programmstart gefunden wurde. Dafür muß er am üblichen Ort installiert oder sein Pfad im Konfigurationseintrag VLCExecutable angegeben sein.
    Bei Bedarf wird er gestartet und dann per Telnet gesteuert.
  14. Betrieb im Fenster oder mit Vollbilddarstellung
    Fullscreen=on
    bewirkt eine Vollbilddarstellung, die sich wahlweise auch nicht abschalten läßt. Das Programm kann dann nur mit Strg-C beendet werden. Das ist die optimale Einstellung, wenn es als Jukebox betrieben wird, weil Besucher die Bedienoberfläche des Betriebssystems nicht erreichen können.
    Läuft das Programm im Fenster, dann können Sie es mit Alt-Enter auf Vollbild skalieren und zurück. Die Darstellung ist dabei aber anders als bei der Einstellung Fullscreen, denn es wird der Fensterinhalt auf die Bildschirmabmessungen vergrößert.
    Beim Betrieb im Fenster wird Drag&Drop unterstützt. Sie können Musik- oder Textdateien oder Playlisten ins Programmfenster ziehen, die Stücke werden dann wie bei der Suche oder der Jukebox temporär eingefügt und als nächstes wiedergegeben.

weitere Einstellungen

  • Schriftarten, Fenster- und Schriftgröße
    Für die Darstellung von unsynchronisierten und synchronisierten Liedtexten kann mit TxtFont und LRCFont jeweils eine Schriftart festgelegt werden. Sollte sich die für LRC-Texte gewählte Schrift nicht für alle Sprachen eignen, dann läßt sich mit LanguageFonts bestimmten Sprachen eine separate Schrift zuordnen.
    Stellen Sie die gewünschte Fenstergröße mit DisplayWidth und DisplayHeight ein. Das Programm startet immer mit diesen Werten. Dann sollten Sie die Schriftgröße an die Fenster- oder Displaygröße anpassen, dafür stehen LRCFontSize und TxtFontSize zur Verfügung.
  • Musikdateien in den Arbeitsspeicher laden
    Der Parameter PreLoadMusic steuert, ob das aktuelle Musikstück direkt vom Datenträger abgespielt oder vorher in den Arbeitsspeicher geladen wird. Das Abspielen aus dem Arbeitsspeicher hat zwei Vorteile: Es kann keine Unterbrechungen wegen verzögerten Dateilesens geben, und die ID3-Tags werden entfernt und können daher nicht zu Störgeräuschen aufgrund von Fehlsynchronisation führen.
  • Netzwerkaktivitäten und Updatesuche
    In der Standardkonfiguration baut Lyricsjukebox keine Netzwerkverbindungen zu Zielen außerhalb Ihres Rechners auf.
    Beim Benutzen der Internetradiofunktion verbindet sich Lyricsjukebox per Telnet zum VLC-Server auf localhost. Die Verbindung zur Radiostation wird dann durch den VLC media player hergestellt.
    Mit dem Parameter CheckForUpdate können Sie steuern, ob LyricsJukebox hier auf der Website nach einer neuen Version suchen soll. Wenn Sie diese Updatesuche aktivieren, dann testet LyricsJukebox beim Programmstart das Vorhandensein einer Internetverbindung durch kurzen Verbindungsaufbau zu einem Google-Server (das ist eine Funktion der verwendeten Programmiersprache), dann lädt es die Downloadseite von hier per HTTP, überprüft die darin angegebene Versionsnummer und zeigt bei Bedarf 12 Sekunden lang eine Meldung über die neue Version an.
    Auf dem Mac und unter Linux tauschen die Programme Lyrics_Jukebox und seine Servicekomponente Lyrics_Jukebox_Service Daten per UDP aus. Normalerweise sollte eine lokale Firewall diese Daten nicht blockieren, aber wenn es nötig ist, dann erlauben Sie Zugriff auf die UDP-Ports 61802 und 61803.

Grundsätzliches zur Bedienung

Lyrics Jukebox kann mit Maus bzw. Touchscreen bedient werden.
Die halbtransparenten Bedienelemente werden beim Antippen oder Anklicken des Bildschirms sichtbar. Zehn Sekunden nach dem letzten Bedienvorgang werden sie wieder ausgeblendet. Wenn eine Tastatur vorhanden ist, können sie auch mit Esc entfernt werden.
Die meisten Bedienfunktionen sind auch als Tastaturkürzel verfügbar, die Zuordnung der Funktionen zu den Tasten sind auf der Seite zur Be­dienung aufgelistet. Diese Tastenfunktionen werden auch für die Fernbedienung benutzt.

Statussymbole

Statussymbole am rechten Rand Am rechten Bildrand unter der Spielzeit zeigen vier Symbole verschiedene Betriebszustände von Lyrics Jukebox an.

  • Die Musikbox kennzeichnet die Jukeboxbetriebsart. Wenn sie angezeigt wird, wechselt das Programm also nach dem Ende des letzten gewählten Musikstücks zur Jukeboxanzeige.
  • Das Taschenradio kennzeichnet die Internetradiofunktion.
  • Der durchgestrichene Lautsprecher wird angezeigt, wenn die Stummschaltung aktiviert wurde.
  • Der kleine Zurück-Knopf signalisiert, daß man sich mit dem Zurück-Knopf in die Liste der zuletzt wiedergegebenen Stücke begeben hat. Diese Liste wird geführt, weil die normale interne Wiedergabeliste nicht weiß, welche Stücke mittels der Suchfunktion oder der Musikboxauswahl einfügt wurden. So erreicht man mit dem Zurück-Knopf auch die zusätzlich wiedergegebenen Stücke.
    Um diese Liste sofort zu verlassen und direkt zur normalen Wiedergabereihenfolge zurückzukehren, kann man den Vorwärts-Knopf 1,5 Sekunden lang drücken.

Fehlersuche

Bei Problemen irgendwelcher Art kann man mit dem Konfigurationseintrag ShowMessages die Anzeige zusätzlicher Diagnosemeldungen aktivieren, die bei Bedarf auf dem Display vor den Bedienelementen erscheinen. Es werden dann verschiedene programminterne Vorgänge gemeldet, und man kann sich eine genauere Vorstellung der Abläufe machen.
Beispielsweise helfen die Meldungen auch, um zu ermitteln, welches der höchste sinnvolle Wert für die Frequenz beim Parameter Frequency ist. Ist die Frequenz zu hoch eingestellt, kommen ständig Meldungen der Art „2 Events ausgelassen“. Diese Meldungen sind bei Aktivitäten wie dem Wechsel zum nächsten Stück oder jeglichen Bedienvorgängen normal, aber während der Musikwiedergabe sollten sie allenfalls gelegentlich auftreten.

Die Meldungen haben eine individuelle Anzeigedauer. Da auf kleinen Bildschirmen nur wenige Zeilen angezeigt werden können, wird der Text nicht normal gescrollt, sondern abgelaufene Meldungen werden aus der Liste entfernt und die entstandenen Lücken beim Scrollen geschlossen. Das ist sicher ungewohnt, aber auf diese Weise verschwinden wichtige Meldungen nicht so schnell aus dem Bild, was besonders hilfreich ist, wenn Sie die ausführliche Protokollierung eingeschaltet haben.
Die Bedienung des Programms wird durch die Meldungen übrigens nicht verhindert, man kann durch sie hindurchklicken.

Sonstiges

  • Lyrics Jukebox akzeptiert momentan nur Musik im MP3-Format. Andere Audiodateiformate werden noch nicht gelesen, obwohl das auf ffmpeg basierende Abspielen kein Problem darstellen würde, aber ich möchte dem Programm erst noch beibringen, andere Tag-Formate (wie Vorbis comments) zu lesen.

  • Bei MP3-Dateien mit variabler Bitrate, die keinen Xing-Header enthalten, steht dem Programm die genaue Dauer des Stücks nicht zur Verfügung. Wenn der zugehörige Text nur eine Textdatei ohne Zeitstempel ist, dann wird den einzelnen Zeilen daher nicht die passende Zeit zugeordnet, und die Scrollgeschwindigkeit ist meistens zu langsam. Außerdem wird die Wirkung des Positionsschiebereglers nicht immer so präzise sein, wie sie erwartet wird.
    Falls das in Einzelfällen stört, können Sie der Musikdatei den Xing-Header mit einem geeigneten Programm hinzufügen, beispielsweise bieten foobar 2000 oder MP3 Diags diese Möglichkeit.

  • Lyrics Jukebox wurde in der Multimedia-Skriptsprache Hollywood geschrieben, mit der man unkompliziert plattformübergreifend programmieren kann. Das ausführbare Programm besteht im wesentlichen aus einem Lua-Kern, der Lua-Bytecode ausführt. Natürlich hat die bequeme Entwicklung nicht nur Vorteile, denn Interpretersprachen liefern langsamere Ergebnisse als Compilersprachen. Im wesentlichen ist der entstandene Code aber schnell genug für das, was gebraucht wird. Kleine Nachteile fallen beim Wechsel zum nächsten Stück auf, denn da sind eine Reihe Aktivitäten erforderlich (Tags lesen, Coverbild laden und umskalieren, Text lesen, Musikdatei in den Speicher laden, ggf. Grafiklayer für den großen Lauftext erzeugen). Speziell auf dem Raspberry dauert daher der Wechsel von einem Stück zum nächsten deutlich länger als auf einem schnellen PC.

  • Ob ich irgendwann einmal versuche, einen geeigneten Einstellungsdialog für die Konfiguration zu entwerfen, weiß ich noch nicht, denn mir genügt das so, wie es momentan ist.

  • Radio mit SWR4, es läuft Cecilia Bei laufendem Radio hat mich gelegentlich interessiert, ob das Musikstück, das gerade gespielt wird, in meiner Sammlung vorhanden ist. Daher sucht Lyrics Jukebox bei jeder Änderung des übermittelten Titels in seiner Playlist nach dem Namen, und wenn er gefunden wird, erscheint rechts ein grüner Punkt. Das funktioniert aber nur bei Radiostationen, die den Titel nicht zu verklausuliert übermitteln.