Slim Devices Lyrics Plugin - Version 1.01

This is a plugin for the Slim Devices Squeezebox. It shows the lyrics of the currently playing song on the Squeezebox display or Squeezecenter web page. This is nearly as strange an idea as it seems.

If the local ID3 tag of the song contains lyrics, then these are displayed. If not, then the lyrics server hosted at http://www.lyrdb.com is queried (note that I am not responsible for the content or availability of this site). A successful match depends on the quality of the ID3 tags in your Squeezecenter database, and the breadth & quality of the server database. If the server responds with karaoke lyrics, the display automatically scrolls in time with the music. If not, the lyrics can be scrolled manually.

This version of Lyrics works with Squeezecenter 7.0. It will not work with any version of Squeezecenter. Version 0.8 will work with SlimServer 6.5.0.

Download/Install

For Squeezecenter 7.0, download slimlyrics-1.01.zip from here, and unzip it into the Plugins directory. On Linux this is /usr/share/squeezecenter/Plugins. This should create a Lyrics directory containing several plugin files.

For SlimServer version 6.5.0, download slimlyrics-0.8.zip from here, unzip it, then copy the Lyrics.pm file to the SlimServer Plugins directory.

Usage

To display the lyrics for the currently playing song, navigate to the plugin then press the right arrow key on the remote. The best matching lyrics are then shown. If the server returns karaoke lyrics they will automatically scroll in time with the music. If not, use the up/down keys to scroll them manually.

If several sets of lyrics were matched, the '+' key can be used to scroll through them. Each time '+' is pressed, the next set of lyrics are displayed. Pressing 'Now Playing' briefly shows the current matched lyric's artist & song, and whether they are karaoke or ordinary lyrics .

Version 1.01 can also show the lyrics on the Squeezecenter web page. Just click the 'Lyrics Display' item under the home page 'Extras' menu.

Karaoke Mode

The hard part in karaoke mode is synchronizing the lyrics display with the music. You can run the plugin at any time during the song (not just at the start), and the lyrics must start scrolling at the right line as soon as the server response is received. To make matters worse, the timing data in the LRC lyrics is per line only, and these must be synchronized with what you actually hear. There are various ways to help karaoke synchronize. There are easier to do than to explain:

Manual Scrolling Hitting the up/down keys at any time stops automatic scrolling. The lyrics can then be scrolled manually. Karaoke mode is resumed after synchronizing.
Sync Song To Lyric (the '1' key) Restarts the song at the lyric displayed on the first line of the display and resumes karaoke mode. This is the simplest and most accurate way to synchronize, but it may interrupt your listening pleasure. This does not work for remote streams.
Sync Lyric to Current Time (right arrow) Synchronizes the lyrics to the elapsed time the song has been playing. The best results are obtained by syncing as close as possible to the start of the lyric you're hearing. This does not work for remote streams.
Sync to Current Line (play button) Restarts karaoke from the currently displayed line.

Karaoke mode can be turned off completely in the Lyrics plugin settings page.

Remote Key Summary

Up/Down Scroll lyrics manually. Stops automatic scrolling in karaoke mode.
Left Arrow Exits the plugin.
Plus Moves to the next set of matching lyrics.
Now Playing Show the current matched lyric's artist & song.

In karaoke mode only:
Key 1 Sync Song To Lyric - restarts song at first lyric on the display.
Right Arrow Sync Lyric to Current Time - restarts karaoke from elapsed play time of current song
Play Sync to Current Line - restarts karaoke from current line on the display.

The Lyrics Server

The lyrics server is hosted by Flavio González Vázquez at http://www.lyrdb.com. Many thanks to him for his excellent work. Please pay him a visit, especially to contribute new lyrics.

LyrDB

FAQ

1. Why are the wrong lyrics displayed?

Lyrics.pm uses the artist and title embedded in the ID3 tags of your song. If these are incorrect, then the wrong lyrics will be displayed. A common error is to transpose the artist and song title. Use an ID3 editor to examine and if necessary correct your ID3 tags.

If the tags are correct, manually check for matching lyrics on the server by pointing a browser at http://www.lyrdb.com. If they are wrong, send in a correction!

If the correct lyrics are shown in the browser, then I've goofed things up. Turn on the d_plugins (SlimServer 6.5) or plugin.lyrics (Squeezecenter 7.0) debug flag, rerun the test and mail me the slimserver.log file.

2. Why no karaoke?

The karaoke coverage on the server is more limited than for ordinary lyrics. If you don't see karaoke in the plugin, check directly with the web site. If they're missing, contribute!

Squeezebox Controller

There's an experimental version of a Lyrics applet for the Squeezebox Controller. It works in a similar way to the Squeezebox plugin, but shows up to twelve lines of lyrics in one go, with the current line highlighted. It also supports Karaoke mode, which automatically scrolls the lyrics in time with the music! See here for download details.

Singalongamax

Bugs, queries, suggestions etc to lsmithso@hare.demon.co.uk, or see my home page.