SpoLyrics
A minimalist, transparent, and zero-delay Spotify lyrics miniplayer.
🌐 Visit the Official Website
0-Delay Sync · Native Windows API · Glassmorphism UI · Invisible Controls
Built with Python & Windows System Media Transport Controls for 100% precision.
Background & Feedback
I built this project to solve a specific complaint from my friends: they wanted to listen to songs on Spotify or YouTube Music while working, but the official miniplayers didn't show any lyrics.
Note: This application is still in active development! If you encounter any bugs, have a feature request, or just want to suggest an improvement, please don't hesitate to open an issue or let me know.
Key Features
-
Zero-Delay Sync 100% precise time synchronization. Pulls real-time duration data directly from the Windows OS core.
-
Smart Duration Match Automatically matches lyrics based on the duration of the currently playing song version (solving the Radio Edit vs. Album Version mismatch).
-
Glassmorphism UI Elegant, transparent, and borderless design.
-
Freely Draggable Left-click and hold anywhere to drag the lyrics window wherever you like.
-
Ghost Mode (Click-Through) Right-click the system tray icon to enable Ghost Mode. When active, the lyrics window becomes completely transparent to mouse clicks, allowing you to interact with other apps or games underneath without accidentally clicking the lyrics.
-
System Tray Integration Runs quietly in the background. Right-click the system tray icon (SpoLyrics logo) to access settings, hide the lyrics, or view shortcuts.
-
Advanced Customization (Settings) Change lyrics color using a modern real-time custom HSV color picker, adjust window transparency (opacity), and enable "Auto-Start with Windows". All configurations are permanently saved.
-
Auto Update Checker Automatically checks for the newest version on PyPI when you launch the app, offering a seamless one-click update and restart experience.
Invisible Controls
This application uses zero conventional buttons to keep the UI perfectly clean. Use these mouse gestures:
Right Click: Play / PauseMouse Scroll (Up/Down): Next / Previous trackShift + Left ClickORMiddle Click: Toggle Lock & Ghost Mode (🔒)- When locked, the window becomes 100% click-through (pass-through clicks to apps underneath) and locks position. Repeat the shortcut over the lyrics to unlock.
Ctrl + Left Click: Toggle song title visibilityCtrl + Mouse Scroll: Increase / Decrease font sizeDrag Bottom Right Corner (⇲): Resize the windowDouble Left Click: Close the application
Installation
Run this single command in your Windows Terminal or Command Prompt (Requires Python 3.8 to 3.12):
Note on Python Version: Do NOT use Python 3.13. The required
winsdkpackage does not yet have pre-compiled binaries for Python 3.13 and will fail to install. Please stick to Python 3.12 or older.
pip install spolyrics
(If you get a pip is not recognized error, use this alternative command instead:)
python -m pip install spolyrics
IMPORTANT (OS Support): This app is Exclusive to Windows. Because it uses
winsdk(Windows System Media Transport Controls) to achieve 0-delay performance without third-party servers, it CANNOT be installed on macOS or Linux.
Alternative Installation (Manual)
If you prefer to download the source code manually (e.g., as a .zip file) instead of using the direct git command above, you must install the required dependencies (the "shopping list") yourself.
Open your terminal inside the SpoLyrics folder and run:
pip install -r requirements.txt
Usage
Once installed, you can launch the app from any directory by typing:
spolyrics
Or, if you want it to run smoothly without spawning a black background terminal:
pythonw -m main
(Make sure Spotify or your Windows media player is running and playing a song!)
Updating
To update the application to the latest version, run:
pip install --upgrade spolyrics
Uninstallation
If you wish to remove this application from your computer, simply run:
pip uninstall spolyrics
License
This project is licensed under the MIT License - see the LICENSE file for details.
Metadata
Release files for spolyrics 1.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spolyrics-1.4.2.tar.gz | 116.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spolyrics-1.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 228.8 kB
Release files / spolyrics-1.4.2.tar.gz
| Download URL | spolyrics-1.4.2.tar.gz |
|---|---|
| Size | 116.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd153f4b5ce1e63385c6c66817552515d05d0f1ba1ebc0a3c6457a637ce2409e
|
|
BLAKE2b-256 checksum How to use checksums |
5c9b44b4909df3f6edfd5398cc1af88768740e089088ac49cddcd6b535843028
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / spolyrics-1.4.2-py3-none-any.whl
| Download URL | spolyrics-1.4.2-py3-none-any.whl |
|---|---|
| Size | 112.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
455ea4709fcb194fefa652643fb5471a4d2f9acfa70bb583c2c3d5259f5b3d4a
|
|
BLAKE2b-256 checksum How to use checksums |
f385058d50ee6410a998dcc88f2fdc7c6d4f0f914d6a00da017703d83221a2f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|