Lyrics Jukebox

Playing music with synchronized lyrics display for Windows, Linux and Mac

The background:

You might be wondering why anyone would create yet another media player in the age of streaming. The answer is simple: I couldn't find anything that met my needs.

Remember jukeboxes?
These are record-playing machines with many singles, a coin slot and a selector. They had a mechanical memory to remember which records to play. Later, this mechanical memory was replaced by an electronic one, first partially partly with a toroidal memory, then with a microcomputer. Companies like Wurlitzer, Seeburg, Rowe-Ami or NSM produced these machines, commonly found in cafés and pubs until about 50 years ago. You could insert money and then select the song you wanted to listen to. They were often operated by so-called jukebox vendors (at least in Germany), and the venue owners received a share of the revenue.
However, as the fees and charges for playing records increased, the first cassette recorders became available and interest in in jukeboxes waned.They gradually disappeared from public spaces, only occasionally seen in old movies. Nowadays there are a many enthusiasts who have such devices in their party rooms or living rooms.

Wurlitzer OneMoreTime in der Großschönauer Jukeboxwerkstatt von Uwe Schmidt

Many years ago, my cousin started his own business restoring and repairing such historical jukeboxes. As a hobby, I occasionally repaired 8-bit control computers and other electronic components for him.
Recently, there has been growing interest in converting or expanding 80s devices with MP3 players. Older mechanical jukeboxes are a different story, they need to stay true to the original. However CD models, some wallboxes or remote selectors (a type of electromechanical remote control for mechanical jukeboxes, google for "Seeburg wallbox"), housed in beautiful chrome cases with curved glass fronts, are often converted, leading to special conversion kits and even replicas. Some wallbox models are off-limits for internal modifications, but many only had their cases preserved or were mass-produced, making modifications acceptable.
This gave me the idea of a music player with a text display, which sets us apart from other products. As I couldn't find any appropriate software for my idea, I looked for a suitable programming environment and started programming. I chose the Hollywood multimedia system, ideal for the planned features. The program was supposed to play music and display the associated lyrics, with control via the wallbox buttons. Unfortunately, because my cousin did not survive his non-Hodkins disease, a marketable product never materialized.
So although the original goal was somewhat lost, I continued to work on it and have since expanded it into a complete player with a graphical user interface. The required custom touch screen GUI was quite a challenge as there are no libraries for this type of interface.

The result is a music player program for various operating systems that displays lyrics in sync with the music, either as LRC files (lyrics with time stamps) or embedded in the music file. The program plays the tracks either randomly or by playlist and can be used jukebox-style, offering tracks to the user in the form of jukebox title strips. Jukebox-Titelstreifen Red River Rock (Actually, it's not quite the same. The jukebox title strip for 'Red River Rock' is a bit different, as the original strips typically have the artist's name in the middle, with the A-side and B-side of the single listed above and below.)
The program's user interface is optimized for small touchscreens; my first resulting player is a Raspberry Pi 3 with a 5" display in the housing of a defective internet radio. However, the program has also performed well on a large conference room screen.
And although there are many programs or applications that display lyrics along with music, I think my lyrics scrolling feature is an innovation. I started with Lyrics Jukebox precisely because I couldn't find anything that scrolled lyrics the way I wanted. Creating an algorithm that handled various timestamp formats and achieved smooth scrolling without abrupt speed changes was more challenging than expected. After several unsatisfactory attempts, I turned to kinematics calculating acceleration for given distance and time values.

As with with any project of this kind, there is still plenty of room for improvement. For example, support for additional music file formats will be added in the future.