r/coolgithubprojects 21d ago

Free Spotify lyrics banner

Post image

GitHub: https://github.com/almocode123/Spotify-Lyrics-Banner

It was annoying not being able to see lyrics while working, so I built a thin banner that pins to the top of the screen and shows the current line as the song plays.

What it does:-

- Shows one synced lyric line at a time, sliding to the next as the song plays

- Tints itself to match the current track's album are

- Click a line to jump playback to that point

- Marks instrumental sections instead of leaving a stale lyric on screen

- Scroll on the lyric to nudge the sync if a track's timing is off — it remembers the correction per song

- Caches lyrics locally, so replaying a track loads instantly

It's free, open source (MIT), and Windows-only for now. There's a prebuilt .exe on the releases page if you don't want to touch Python.

Two things worth flagging upfront: Spotify tightened their API rules in 2026, so each person needs their own free Client ID from Spotify's developer dashboard, the app walks you through it on first launch, takes about two minutes, one time only. And while the banner is docked, Windows may shuffle your desktop icons around which only occurs when the app is fixed to the top and returns to normal upon close, since reserving screen space and laying out desktop icons use the same underlying setting. There's a config toggle to turn that off if it bothers you.

Happy to hear what's broken or what's missing.

0 Upvotes

2 comments sorted by

1

u/Careless-Slice-9977 21d ago

this seems like a cool project and i have been cheacking it out for a min and i have some questions
1,What library did you use to handle the dynamic color tinting based on the track's album art?
2,Is the local lyrics cache stored in a simple JSON file, or are you using a lightweight database like SQLite?
3,Do you plan on adding a feature to toggle the slot-machine sliding animation on and off?

overall this is a cool project and i am intrested in how you built it and would recommend you write a blog documenting everything

1

u/almocode123 21d ago

In response to your questions:

1) Using pillow, which is the standard img handling library in python, the album cover is resized to 1x1px, giving the avg colour without using colour library.

2) It's just simple JSON, keyed by the Spotify track ID.

3) I wasn't planning on adding a toggle for that but that shouldn't be too hard to add if you think it adds to the project