Home
Softono
lyricfier

lyricfier

Open source TypeScript
578
Stars
47
Forks
20
Issues
35
Watchers
5 years
Last Commit

About lyricfier

Lyricfier is a desktop application designed to display real-time lyrics for songs currently playing in the Spotify Desktop Client. Built using the Electron framework, it functions by interfacing with Spotify's local built-in web server to detect the active track. Once the song information is retrieved, the software scrapes the web to find and display matching lyrics instantly. The project features a modular architecture that allows users to easily create custom scraping plugins by following existing examples in the render plugins folder. While the original version utilizes JavaScript and dependencies managed via Yarn, the developer has noted the existence of a faster Golang-based alternative. The application supports multiple operating systems and is distributed via pre-release ZIP files. It is an open-source tool licensed under CC0 (Public Domain), originally conceived by fedeisas and maintained by a community of contributors who have focused on bug fixes, performance improvements, and user interface design.

Platforms

Web Self-hosted

Languages

TypeScript

Links

Lyricfier Screenshot

Lyricfier is an electron app that communicates with Spotify Desktop Client to get the current song and then looks for a matching lyric scraping the web.

Download pre-release

Go to Lyricfier releases page and download the zip file for your platform.

Development setup

# clone the repo
git clone https://github.com/emilioastarita/lyricfier.git

# change dir
cd lyricfier

# take some coffee and download all the internet with yarn
yarn install

Run dev

yarn start

How it works

We retrieve the current song of spotify client using the spotify built-in web server that allow us to ask for the current status of the player. The built-in web server could run in a range of ports starting at 4370. Lyricfier will launch multiple connections hoping find the actual port. You can read a more detailed explanation here: Deconstructing Spotify's built-in HTTP server

Scraping plugins

You can easily write a new scraping plugin. Just look at the folder render/plugins for some inspiration.

Collaborators

Original Idea: @fedeisas

Bug fixes and lot of improvements @mrkmndz

UI/Design: @silvestreh

License CC0 (Public Domain)