Lyrify is a lightweight server that fetches and serves real-time song lyrics for tracks playing on Spotify using playerctl.
Additional scripts to fetch lyrics.
- Fetches song lyrics (plain or synchronized) from the Lrclib API.
- Displays the current line of lyrics via a local HTTP endpoint.
- Caches API results to reduce redundant requests (~/.cache/lyrify).
- Go (1.23+)
- Spotify desktop client running
Build Artifacts in releases/tags.
-
Clone this repository:
git clone https://github.com/yourusername/lyrify cd lyrify -
Build the binary:
go build -o lyrify
-
Run the program:
./lyrify
-
Start Lyrify:
./lyrify
The server starts on port
8888by default. -
Access the current line of lyrics via:
curl -s http://localhost:8888/line
-
Ensure Spotify is playing a track. The
/lineendpoint will return:- Plain lyrics: Current line based on playback duration.
- Synchronized lyrics: Accurate line based on timestamps.
🎼if no lyrics are found or the track is instrumental or podcast.
- The server listens on port
8888by default. You can change this by setting theLYRIFY_ADDRenvironment variable:export LYRIFY_ADDR=":8080" ./lyrify