https://github.com/71/spotify-lyrics-windows
Real-time lyrics for Spotify on Windows, using Musixmatch and ReadProcessMemory (yikes).
https://github.com/71/spotify-lyrics-windows
Last synced: 8 months ago
JSON representation
Real-time lyrics for Spotify on Windows, using Musixmatch and ReadProcessMemory (yikes).
- Host: GitHub
- URL: https://github.com/71/spotify-lyrics-windows
- Owner: 71
- Created: 2019-05-27T07:43:48.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-10-26T15:43:41.000Z (over 6 years ago)
- Last Synced: 2025-10-09T22:24:30.916Z (8 months ago)
- Language: F#
- Homepage:
- Size: 236 KB
- Stars: 29
- Watchers: 1
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Lyrics
======
Lyrics for Spotify, in real-time. Uses [Musixmatch](https://www.musixmatch.com) as a backend,
but it actually works.

## Features
- Minimalistic UI with stay-on-top and auto-scroll features.
- No input; just launch it and let it do the rest.
- Song lyrics are automatically cached, for your offline needs.
## How does it work?
1. When a song is playing, the title of the main Spotify window is scanned,
and the title / artist are extracted from it.
2. Several times per second, the memory of the Spotify process is scanned to find
strings that match a timestamp (`0:00` or `00:00`), and all these strings are cached.
3. The program attempts to find the timestamp that is most likely to be the "current
song position" timestamp, using the following criteria:
- If a new song just started playing, we select the timestamp which is the lowest,
but which was high before (since the text likely went from `3:42` to `0:00`).
- If the same song is playing, we select the first timestamp that increased by 1
since the last analysis (since a song will likely go from `3:41` to `3:42`).
- If no song is selected this way, we take the last timestamp that matched either
one of the previous conditions.